Wails

Wails 実践講座 #10 仕上げと完成度 — 設定・ダークモード・データバックアップ
読了 5分

Wails 実践講座 #10 仕上げと完成度 — 設定・ダークモード・データバックアップ

シリーズ最後の記事です。機能は揃いましたが、アプリをまた開きたくさせる仕上げの要素を埋めます。設定を保存して読み込む構造、システムに追従するダークモード、ウィンドウ状態の記憶、ユーザーデータを失わないためのバックアップ・エクスポート・インポート、そして 10 編全体を貫いた原則の振り返りを扱います。

Wails 実践講座 #9 自動更新の実装 — 新しいバージョンを安全に届ける
読了 5分

Wails 実践講座 #9 自動更新の実装 — 新しいバージョンを安全に届ける

#6 で戦略だけ話した自動更新を実際に実装します。アプリにバージョンを埋め込み GitHub Releases から最新を照会する方法、通知型の更新を安全に作る実装、完全自動の置き換えがなぜ危険で何を守るべきか、そして署名・CI と食い違わないようにバージョンを流す流れを扱います。

Wails 実践講座 #8 テスト戦略 — サービスとリポジトリを検証する
読了 5分

Wails 実践講座 #8 テスト戦略 — サービスとリポジトリを検証する

#1 で層を分けたときに約束したテストを実際に書きます。Wails なしの純粋な Go でサービスロジックを検証する単体テスト、一時的な SQLite でリポジトリを検証する統合テスト、テーブル駆動テストで境界条件をなめる方法、そしてこのテストを #6 の CI に入れてリリース前に自動で走らせる方法を扱います。

Wails 実践講座 #7 ノートエディタの実践 — マークダウンプレビューと一覧の UX
読了 5分

Wails 実践講座 #7 ノートエディタの実践 — マークダウンプレビューと一覧の UX

第 2 部の最初の記事です。これまでバックエンドに偏っていたノートアプリの前側を実際に作ります。マークダウンを安全にレンダリングするプレビュー、タイピングが止まると保存するデバウンスの自動保存、編集が一覧の並びを揺らさないようにする方法、そしてキーボードでノートを行き来する一覧の UX を扱います。

Wails 実践講座 #6 CI/CD 自動リリース — GitHub Actions で 3 プラットフォーム配信
読了 6分

Wails 実践講座 #6 CI/CD 自動リリース — GitHub Actions で 3 プラットフォーム配信

タグ一つで 3 プラットフォームのリリースが自動生成されるようにしてシリーズを締めます。macOS をクロスコンパイルできず、マトリックスビルドが必要な理由、GitHub Actions でプラットフォームごとのランナーでビルド・署名するワークフロー、純粋な Go の SQLite が CI を単純にする理由、自動更新の戦略、そして 6 編全体の要約を扱います。

Wails 実践講座 #5 署名と公証 — デプロイしたアプリが信頼される仕組み
読了 4分

Wails 実践講座 #5 署名と公証 — デプロイしたアプリが信頼される仕組み

完成したノートアプリを、他の人の端末で警告なしに実行されるようにします。署名していないアプリが macOS Gatekeeper と Windows SmartScreen でブロックされる理由、macOS のコード署名と公証(notarytool)の手順、Windows コード署名証明書の種類と費用、そしてこの過程を CI に渡す前に知っておくべきことを扱います。

Wails 実践講座 #4 トレイ常駐とグローバルショートカット — バックグラウンドから素早くキャプチャ
読了 5分

Wails 実践講座 #4 トレイ常駐とグローバルショートカット — バックグラウンドから素早くキャプチャ

ノートアプリを、ウィンドウを閉じても生きているバックグラウンドアプリにします。Wails v2 に内蔵トレイがないという事実と回避方法、ウィンドウの閉じるを終了ではなく非表示に変える方法、グローバルショートカットでどこからでも新規ノートをキャプチャする実装、そして v3 の内蔵トレイがこの部分をどう変えるかを扱います。

Wails 実践講座 #3 全文検索とデータフロー — FTS5 とイベント駆動の更新
読了 5分

Wails 実践講座 #3 全文検索とデータフロー — FTS5 とイベント駆動の更新

ノートアプリに高速な全文検索を付け、データフローを整理します。SQLite FTS5 の仮想テーブルとトリガーで検索インデックスを自動で保つ方法、Go で検索をサービスとして公開する方法、そしてデータが変わったときに Wails イベントでフロントエンドを更新し、真実を一箇所に置く設計を扱います。

Wails でデスクトップアプリを作る #8 デバッグ — 開発者ツール・ログ・よくあるエラー
読了 5分

Wails でデスクトップアプリを作る #8 デバッグ — 開発者ツール・ログ・よくあるエラー

入門者が最もよく詰まる箇所を集めて扱います。開発中に WebView の開発者ツールを開く方法、フロントエンドと Go の両方のログを見る方法、ビルドしたアプリを -debug で診断する方法、そして空の画面・バインディングが見つからない・context が nil といったよくあるエラーの原因と解決を扱います。

Wails 実践講座 #2 SQLite ローカルデータベース — CGO なしの純粋な Go で
読了 5分

Wails 実践講座 #2 SQLite ローカルデータベース — CGO なしの純粋な Go で

ノートアプリに永続保存を付けます。Wails アプリで SQLite を使うときに CGO がクロスコンパイルを妨げる問題を、純粋な Go ドライバー modernc.org/sqlite で回避する方法、リポジトリ層の実装、スキーマとマイグレーション、そしてサービス層で検証をかける CRUD を扱います。

Wails でデスクトップアプリを作る #7 フロントエンドフレームワークを付ける — Svelte・Vue・React
読了 5分

Wails でデスクトップアプリを作る #7 フロントエンドフレームワークを付ける — Svelte・Vue・React

本編でバニラで作った前側を、状態が増える実際のアプリのためにフレームワークに変えます。Wails がフロントエンドを選ばないことの意味、wails init のテンプレートで Svelte・Vue・React を始める方法、生成されたバインディングがフレームワークと無関係に同じであること、そしてバインディングの結果をフレームワークの状態につなぐ方法を扱います。

Wails 実践講座 #1 実践プロジェクトの設計 — 何を作り、どう分けるか
読了 6分

Wails 実践講座 #1 実践プロジェクトの設計 — 何を作り、どう分けるか

Wails 実践シリーズの最初の記事です。入門で作ったメモリベースの ToDo アプリを超えて、実際にデプロイできるローカルノートアプリを設計します。何を作るかを決め、Go バックエンドをサービス層に分ける境界、フロントエンドの状態管理の選択、そして 6 編で完成させる最終形の地図を描きます。