WAILSはgo言語を使ってWindowsやMacなどのデスクトップアプリが開発できるプラットフォームです
The Wails Project | Wails
少し気になってたので、今回はHello Worldを試してみたいと思います
今回、試した開発環境は以下の通りです
- Windows 11 Home 64bit
- go 1.23.1
- Node.js 20.17
- npm 10.8.2
WAILSはgo言語を使ってWindowsやMacなどのデスクトップアプリが開発できるプラットフォームです
The Wails Project | Wails
少し気になってたので、今回はHello Worldを試してみたいと思います
今回、試した開発環境は以下の通りです
Windows上にて、wsl2とDockerで開発環境を構築した際に、ファイルの権限エラーが発生する事があります
wsl2とアプリケーションコンテナのユーザIDが異なるのが原因なのですが、その回避策のひとつを紹介します
環境は以下の通りです
例えば、LaravelプロジェクトをUbuntuに展開してる事を前提とします
Windows 11 HomeにDocker Desktopをインストールします
今回、インストールする環境は以下の通りです
Windows 11にDocker Desktopをインストールするためには、以下の要件を満たす必要があります
Windows 11 HomeにWindows Subsystem for Linux 2(WSL 2)をインストールします
以下の環境でのインストールです
スタートメニューからコントロールパネルを開き、「プログラム」を選択します
「Windowsの機能を有効化または無効化」クリックし、「仮想マシン プラットフォーム」と「Linux 用 Windows サブシステム」を有効化します
私の場合、デフォルトで「仮想マシン プラットフォーム」が有効化されてたので、「Linux 用 Windows サブシステム」のみチェックを入れます
「OK」ボタンを押すと、OSの再起動を促されるので、再起動してインストールを完了させます
コマンドプロンプトまたはPowerShellを起動し、以下のコマンドでインストール確認ができます
> wsl --status 既定のバージョン: 2 Linux 用 Windows サブシステム カーネルは、'wsl --update' を使用して手動で更新できますが、システム設定が原因で自動更新が 発生することはありません。 カーネルの自動更新を受け取るには、 Windows Update の設定を有効にしてください:' Windowsの更新に、その他のMicrosoftの製品 の更新情報を受け取る'。 詳細については、 https://aka.ms/wsl2kernel. を参照してください WSL 2 カーネル ファイルが見つかりません。カーネルを更新または復元するには、'wsl.exe --update' を実行してください。
xampp環境のLaravelプロジェクトでMailHogを活用します。
時に開発環境でのメールテストは面倒です。
例えば、ローカルからメールを送信する環境を構築して、テスト用メールアドレスを作成して、メールを送信する度にメールボックスを確認するなど。
さらに、誤送信に気を使いつつなど、コストとリスクがあります。
そこでMailHogで気軽なローカル開発環境を構築してみます。
MailHogを使うと、全てのメールはローカルのMailHogメールボックスに送信されるので、テスト用のメールアドレスを用意する必要もなければ、誤送信の心配もありません。
MailHogの公式サイトから、Windows用の実行ファイル「MailHog_windows_amd64.exe」をダウンロードします。
GitHub – mailhog/MailHog: Web and API based SMTP testing
ダウンロードしたファイルを任意の場所、例えば今回は以下の場所に設置します。
C:\xampp-8.1.25\sendmail\MailHog_windows_amd64.exe
ある日、Reactプロジェクトにおけるダッシュボードのフロントをデザインなしで実装する案件がありました。
デザイン指定がないとはいえ、それっぽいモダンなレイアウトは確保したい。
そこで今回「Flowbite React」を試してみます。
Flowbite React Components
「Flowbite」は「Tailwind CSS」のコンポーネントで、クラスを指定するだけでモダンな見た目を提供してくれます。
応用性がある反面、クラスの指定が多少細かいので冗長になりがちです。
「Flowbite React」では、簡単な引数を指定するだけで、Flowbiteを適用することができます。
今回試した環境は以下の通りです。Tailwind CSSなどはインストール済みを前提とします。
Laravelでデータベースをテストします。
今回は、新規プロジェクトではなく、既存プロジェクトをテストする前提で進めていきます。
データベースをテストする際、安全なDBが必要です。
つまり、テストで本番環境のDBを使うわけにはいきません。また、場合によっては開発環境のDBを汚すこともあると思います。
そこで、今回はテスト用のDBを用意してみます。
例えば、SQLiteで用意したテスト用DB「testing」を使用します。
まず、空のファイル「/database/database_test.sqlite」を用意します。Linux系であればtouchコマンド、Windowsであればテキストファイルを新規作成します。
次に「/config/database.php」を開きます。
「sqlite」ブロックをコピペして「testing」にリネームします。
いつものようにLaravelのFakerでダミーデータを作成しようとしたら、関数joinでエラーになってしまいました。
join(): Argument #2 ($array) must be of type ?array, string given
そういえば、最近、開発環境をPHP7.xからPHP8.xにアップグレードしたばかりでした。
調べてみると、ライブラリ「fzaninotto / Faker」は2020年に開発がストップしていて、PHP8には対応していないようです。
fzaninotto/Faker: Faker is a PHP library that generates fake data for you
代替のライブラリとしてはFakerPHPがあるようです。
FakerPHP / Faker
早速、ライブラリをインストールしてみます。composer.jsonから古いライブラリを削除します。
"fzaninotto/faker": "^1.4",
続けて新しいライブラリを追加して、Composerインストールを実行します。
"fakerphp/faker": "^1.9.1",
インストール後、再度Fakerを実行したところ、無事にエラーは解消されました。
Laravel HomesteadでWindowsに開発環境を作ります。
これまでxamppをメインにWindowsで開発をしてきました。
モダンな環境でということでwsl & Dockerに乗り換えたのですが、環境をアップグレードする度にCPUの負荷が上がったり、メモリを大量に消費したり。。
チューニングの繰り返しで作業にならないので、安定した環境を求めてLaravel Homesteadを試してみます。
ちなみにHomesteadに必要なVirtualBoxとVagrantはインストール済みを前提とします。
まず、BoxをVagrantに追加します。Windows PowerShellを起動して以下のコマンドを実行します。
> vagrant box add laravel/homestead ==> box: Loading metadata for box 'laravel/homestead' box: URL: https://vagrantcloud.com/laravel/homestead This box can work with multiple providers! The providers that it can work with are listed below. Please review the list and choose the provider you will be working with. 1) libvirt 2) parallels 3) virtualbox Enter your choice:
プロバイダの選択を求められるので、今回はVirtualBoxの「3」を選択します。
こちらの処理に5分ほどかかりました。
開発環境用に仮想マシンが必要になったので、WindowsにVirtualBoxとVagrantをインストールしてみます。
ここ最近ではWSLも話題です。実際に使用してみたのですが、CPUへの高負荷、メモリ大量消費、チューニングの繰り返しで、仕事にならないので、当面の開発環境としてVagrantを試してみたいと思いました。
まずはVirtualBoxをインストールします。
Oracle VM VirtualBox
公式サイトのメニュー「Downloads」から「Windows hosts」をクリックして、インストーラをダウンロードします。
ダウンロードしたファイル「VirtualBox-7.0.6-155176-Win.exe」を実行し、インストールを開始します。
基本的にデフォルトでのインストールで問題ありません。「Next」をクリックしてインストールを進めます。
途中で、ネットワークが一時的に切断される注意書きが表示されます。問題なければ、インストールを続行します。
以下の画面が表示されたらインストールは完了です。