フレームワーク

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 編で完成させる最終形の地図を描きます。

Wailsでデスクトップアプリを作る #6 ビルドと配布 — プラットフォーム別パッケージング
読了 6分

Wailsでデスクトップアプリを作る #6 ビルドと配布 — プラットフォーム別パッケージング

wails buildで単一バイナリを作り、Windowsインストーラー、macOSアプリバンドル、Linuxバイナリとしてパッケージングします。クロスコンパイルの制約とGitHub Actionsのマトリックスビルド、v3の展望まで整理するシリーズ最終回です。

Wailsでデスクトップアプリを作る #5 実践機能 — 設定の保存とエラー処理
読了 6分

Wailsでデスクトップアプリを作る #5 実践機能 — 設定の保存とエラー処理

ToDoデータをos.UserConfigDir配下のJSONとして永続化し、startup・shutdownフックにつなぎます。Goのerrorがフロントエンドの通知までつながる処理の流れ、ファイルログ、外部API呼び出しをGo側に置く理由まで整理します。

Wailsでデスクトップアプリを作る #4 システム統合 — ダイアログ・メニュー・ウィンドウ制御
読了 6分

Wailsでデスクトップアプリを作る #4 システム統合 — ダイアログ・メニュー・ウィンドウ制御

ネイティブのファイルダイアログ、アプリケーションメニューとショートカット、ウィンドウ制御、クリップボードまで、WailsランタイムAPIでOSと統合する方法を整理します。Webフロントエンドがデスクトップアプリらしくなるステップです。

Wailsでデスクトップアプリを作る #3 Goとフロントエンドの連携 — メソッドバインディングとイベント
読了 5分

Wailsでデスクトップアプリを作る #3 Goとフロントエンドの連携 — メソッドバインディングとイベント

バインディングの規則を表で整理し、TODOリストのバックエンドをGoで作ってReactフロントエンドとつなぎます。構造体のTypeScriptモデル自動生成と、GoからUIへデータを送るイベントシステムまで扱います。

Wailsでデスクトップアプリを作る #2 プロジェクト構造と開発ループ — wails devとバインディング
読了 6分

Wailsでデスクトップアプリを作る #2 プロジェクト構造と開発ループ — wails devとバインディング

wails initが作ったmain.go、app.go、frontend、wails.jsonの役割を1つずつ確認します。ホットリロードの開発ループと、自動生成されるバインディングコードが動く流れまで整理します。