はじめに
この記事は Elixirアドベントカレンダーのシリーズ4の25日目の記事です
本記事は今回のアドベントカレンダーの記事を項目ごとにまとめたリンク集になります
参考する際の一助になればと思います
概要
Elixir + Phoenixでマルチプラットフォーム開発を可能にする ElixirDesktopの概要について解説しています
環境構築
MacでiOSとAndroidの環境構築方法について解説しています
Windows(Linux)については @Alicesky2127 さんが記事にしてくれています
iOS版のアプリで最新版のErlang 26.2をビルドし、使う方法を解説しています
iOSサンプル実行時のWebsocketの接続でエラーが出続ける問題を解消した方法を解説しています
プロジェクト作成
ElixirDesktopのサンプルアプリの改造ではなく
mix phx.new からはじめて、各OSのプロジェクト作成からの手順を解説しています
スタンドアローンアプリ編
内部BDをSQliteにし外部のAPI GoogleBooks APIを使用したサーバーを必要とせず
アプリ単体で動作するスタンドアローンな、本棚アプリの作成について解説しています
クライアント、サーバー構成アプリ
一般的な APIサーバーと認証トークンベースで通信するクライアントアプリの構成の実装例について解説しています
API通信部分は phx.gen.liveのDB通信の部分のみ書き換えを行い、スキーマやバリデーションはそのまま使えるローコスト実装です
APIレス DB共有構成アプリ
ElixirDesktopは各OS内でPhoenixを起動するため、DB接続情報を入れればホスティングされているDBとコネクションを貼りAPIを経由せずデータのCRUDができるので、非常に工数を抑えて開発が可能になります
ですが、DBの接続情報などの秘匿データがipaファイル等の解析で漏れる可能性があるので、難読化や暗号化の処理が必要になってくるでしょう
アプリとしてはMapLibreとgeolocation APIを使用したGSPロガーになります
ネイティブ機能の実行
OSの各種センサデータの取得や、アプリ間移動について解説をしたかったのですが、時間が取れずiOSアプリから特定サイトをブラウザで開く方法を解説しています
こちらはアドベントカレンダー後ももう少し追加したいと考えています
最後に
去年に比べて知見が増えたので無事25記事書くことができました
スマホアプリ開発としてはLiveViewNativeも進行中なので、来年はElixirでスマホアプリ開発がホットになるかもしれません
2023年12月現在クラサバ構成でアプリを作るPJが進行中なので初のElixirDesktopアプリが出るかもしれません
問題なく動くか、審査が通るか気になるところではあります
それでは本記事は以上になります、ありがとうございました