介绍
使用Elixir和Mob构建一个真实的、离线优先的Android应用,从mix mob.new到测试人员在手中的APK,无需离开BEAM。你知道Elixir。你已经使用Phoenix和LiveView构建过东西。然后你的用户要求他们在手机上有一个应用,通常的答案是走出BEAM:Kotlin、Swift,或者React Native和JavaScript工具链,再加上一个需要保持同步的第二代码库。这本书选择了另一条路。Mob将BEAM本身放在手机上,并从你的Elixir代码中绘制一个真实的原生UI:点击不需要服务器往返,没有JavaScript桥接。我们用它从一个空屏幕构建到生产:Risiti,一个用于肯尼亚团队的费用应用。Risiti拍摄收据,在手机上读取它们,与肯尼亚税务局核对,离线工作,并与Phoenix和Ash服务器同步,经理在那里批准费用、退款和付款请求。
在过程中,你将学会设置Android工作台并在自己的手机上运行Elixir;使用Mob构建屏幕、导航、布局、主题和列表,每一步都与你已经从LiveView中了解的内容紧密相连;使用SQLite和Ecto在手机上保留数据,并在没有连接手机的情况下测试屏幕;使用相机、指纹锁、设备上的OCR和二维码扫描;当Mob没有你所需的功能时,使用Zig和Kotlin编写自己的原生插件;使用Phoenix和Ash构建服务器:账户、多租户团队、审批、后台作业和网络仪表板;在糟糕的连接上进行双向同步,并发送推送通知;发布一个签名的发布APK,并将服务器部署到自己的域名。每一章都以可以在手机上运行的内容结束,每个章节的代码都在书的存储库中,并附带测试。如果某部分在实际手机上出了问题,章节会说明并提供修复方法。这本书是为那些从未发布过移动应用的Elixir开发者编写的。像APK、ADB或“后堆栈”这样的术语会在它们第一次出现时进行解释。如果你已经编写过LiveView,那么你比想象中更接近编写移动屏幕。WPrasetyo
17
,
JohnPalmer
13
,
a2jaume
7
,
kirillshaman
4
和
vampirep
1
赞了这篇帖子。
