dev
Capacitor(ios/android应用开发框架)的使用体验
在使用Capacitorjs开发Simark iOS版4个多月后简单总结了一些问题。
「手机版的electron」capacitor的优点在于可以最大化的复用electron项目的代码,在开发速度上无话可说,开发的便利性也和electron的体验几乎一致。我在开发完桌面版应用后,在最大限度复用桌面端的代码情况下只花了额外1周多的时间就可以把粗糙版的手机端做出来。
遇到的主要难点就是针对移动端的交互方式的优化了,在一些看不到的地方比如滑动,长按,下拉等一些手机屏幕的专有交互方式上需要进行大量的交互体验优化(假设没有移动端开发经验),需要自己反复测试和使用来根据一些直觉操作去不断改进,而这些体验在原生组建中就已经帮你优化好了。
这些其实还算小事,有几点致命缺陷可能在跟本上就永远无法达到原生体验,比如
- 启动响应速度
- 黑暗和亮色模式下的突兀切换(后台没有杀死的情况下突然改变主题色)
- 后台假死状态下前端资源优先被清理所导致的唤醒时候的空白界面
- 打字的滞后感
- 动画在初始状态下随机卡顿
- 和各种轻微延迟等缺陷
- 大量原生功能需要插件实现,限制比较多
我个人并没有后悔all in js,在一开始项目生死不确定的情况下前端技术栈试错成本低开发难度小,由于前端生态的成熟,和大量的学习资料,除了性能问题以外,几乎没有遇到什么坑。主要还是由于相比原生的开发体验比如Xcode体验好过太多太多。总的来说还是好处比较多,开发比较快,维护成本比较低,修bug比较快。
不过嘛,性能问题是让人比较难受的地方,我觉的稍微敏感一点的用户几乎立马就能感受到那种奇怪的滞后感,以及和原生不一样的UI行为。总结就是,项目起步可以用前端技术栈快速达成目标,如果在项目有所起色后,为了继续精进应用品质,扩大市场,应该逐渐过度到原生开发。