这一切都要从我正在开发的非官方的『一个』移动客户端开始说起。
出于对官方的『一个』移动客户端的不满,我萌生了自己开发一个 APP 的想法。在使用 Bootstrap + ui-bootstrap 开发出第一版后,我有点不满意:程序看上去更像一个手机网站,而不是应用程序。
让网站看起来像原生应用程序,指的当然是各种动画效果:滑动、滚动到页面边缘时回弹等等。为此我找到了三种 UI 框架来完成这些事情:
Framework 7 没有与 angularjs 集成,所以我暂时没有考虑使用它。社区里 Star 最多的是 Ionic Framework(并且将另外两个项目远远的甩在身后),所以我首先深入学习了它并用它重写了第二版。这一版并没有写完,因为在使用 Ionic 重写的过程中我发现了一些问题:
- ion-slide-box 太灵敏了,经常会在上下滑动的时候滑到左右去。
- 性能可能有点低。
第二点可能是我的问题,但这促使我尽快使用下一个 UI 框架,对比看看性能会不会好一点,于是我又学习了 Onsen UI,并着手开发第三个版本——
但现在我准备暂时放弃 Onsen UI:
- 我不太喜欢 ons.ready()。
- 它有各种没有被完善的细节问题。比如说,ons-scroller 在页面内容不长的时候不会有回弹(虽然这有小技巧可以避免)、模板里的组件初始化顺序问题(模板里如果有
var属性的组件,那需要仔细考虑它被初始化的时机,否则会出现各种找不到组件实例的错误)
问题看上去并不多,但这是因为仅仅只是一个开始就让我花了很长的时间,让我不太敢继续深入了。