如果我们要从零开始开发一个移动端的 App,支持 Android 和 iOS ,那么,本文应该恰恰是你应该去看一看的。
首先,我们在做 App 时,第一件事情是不要慌,先做一下技术选型。目前来看,开发 移动端 App 的最好的跨端方案应该是 flutter 和 React Native 了。我们在选择 flutter 和 React Native 的时候,需要考虑以下几个关键因素:
总的来说,如果你们团队恰好大家都熟悉 dart,而且又对 App 的性能和 ui 一致性有极致的追求,那么 flutter 是你最好的选择,反之,排除这些因素,如果你们想快速做出产品,而且团队偏前端一些,基本都懂 react,那么 react native 的研发效率会快很多。
那么,我们今天就假设你的团队处于第二种情况,即,对传统的前端研发,非常精通,你大概率会选择 react native,那么本文讲非常适合你读下去。
随着react native 诞生,以经历过一段不短时间的发展,有些 react native 配套的快速开发框架也随之出现,其中 expo 就是里面的翘楚,我这两天也正是体验了一下 expo 研发一个 chatbox 的 App,有了一些体验,所以才整理输出一篇关于 expo 开发 react native 的小作文。为什么安利这个,因为我的感受如下:
为了快速体验 expo 的魔力,我强烈建议,直接 clone 我的 project,:
按照指引,本地启动之后,应该可以看到:
我们手机上需要安装 expo app,打开这个 App,扫上面这个码,就可以调试我们的应用了,就如此之简单。一个小插曲,此时,我们发现 expo 的库有了更新,你可以选择忽略,但还是建议你执行
npx expo install --fix
去更新下,一般expo 是因为修复某些 bug,版本会相对来讲更加稳定,而且是兼容的,所以无需担心,不兼容的版本会有强提示。
在业务研发的时候,我们避免不开需要选择一些高效的库来做支撑,如全局状态管理,数据缓存,网络请求,UI 库等等。我这里建议如下,当然选择适合自己 的很关键。
整个下来,可能我就花了一天的时间就完成了一个 和 ChatGpT 对话的 工具了,真的是面向逻辑编程,界面上看起来够用,但确实不如 flutter 那般精致。但是作为使用过 flutter 开发过 chat box 的人,对比只想,个人感觉 expo 开发 flutter 的效率那的确是杠杠的,毕竟伸手可用的资源实在太多且太成熟了。
expo 比较方便的是,他自带摇一摇打开黑科技调试页面,如下所示:
打开调试界面之后,我们可以非常方便的使用性能观测工具,Element Inspector 等等,如下,是查看界面的布局。
这里仅仅给一个打包 Android 的示例,iOS 打包 ipa 其操作过程类似,因此无需过多废话,打包 Android 的命令如下:
eas build -p android --profile preview
不过需要注意,在打包之前,你需要在项目的根目录
下面,创建一个配置文件eas.json
,其类容如下:
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"preview4": {
"distribution": "internal"
},
"production": {}
}
}
打包效果如下所示:
因此在你老板让你快速开发一个跨端 App 的时候,我想你应该知道大抵如何去选型了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。