对于ApiCloud和React Native的选择

开发App已经有两个星期了。第一个星期主要尝试了下用ApiCloud、这周最主要尝试了下React Native。各有千秋吧。

##ApiCloud

###优点:

1、上手简单,对于做过web开发的人来说,上手非常容易。没几天就能上手。

2、而且提供了丰富的端和云api,还有很多第三方的api,可以节省了不少开发时间

###缺点:

1、在性能上不是很理想,在Android机上会出现卡顿的感觉。

2、在布局上,需要兼顾到ios、Android及他们各个版本webview的区别。

比如Android4.4一下的webview是不支持flex的,需要用hack的写法来保证兼容。而且真的很难保证在不同设备上的细节的一致。

3、无法在IOS上进行调试。让人很头痛。

4、无法很好的支持angularjs、reactjs、vuejs等,js的组织方式只能使用最传统的js的编写方式,无法使用html5的history和state,当然你可以把参数放到window的param里面。 这里推荐使用Vuejs,体验效果良好,但是只能单个页面单个页面这么来编写。

##React Native

###优点

1、相对于ApiCloud来说,在UI布局上来说。体验非常棒,有专门的flexbox样式来支持移动端响应式的布局。感觉应该不会出现非常明显的兼容性问题。所有长度宽度单位都是不带单位的,以数字直接来表达,这样也便于计算。同时也提供了一些对屏幕尺寸、密度计算的工具类。这就让适配不同屏幕(不光是尺寸,还有密度)做适配,带来了可能性,就看你要做的多深入。

2、虽然主要编写是在JS下进行,但是React Native也不光光是一个JS工程。在一个完整的RN工程中,包含了一个IOS工程和一个Android工程。 可以使用原生方式,对RN进行扩展和更改。

3、调试方式非常方便,可以在chrome里面查看日志,可以在ios模拟器中查看元素的模型。

4、RN可以使用ES6进行编写,非常方便,import、promise、export、class……看到这些关键词你应该懂的。整个工程可以把JS组织的非常漂亮。

5、最后一点,可能是比较重要的一点。在性能上,虽然没有原生这么好,但逼近原生。

###缺点 1、关于推送、第三方(比如微信分享、登陆、支付)估计要自己来实现。这个时候就需要具备Android、IOS两端的知识,对于我这样还没有原生开发经验的来说,是比较困难的。

2、对于数据的缓存,感觉不够透明,或者说我还没深入到这块。比如数据的缓存、图片的缓存。感觉我自己暂时还无法控制。

3、对于打包、发布来说,需要具备一定的原生经验(比如说签名)。如果没有,那么你暂时只能在IOS模拟器上进行。想要打包安装到其他设备上,你可能需要花点时间去研究下。

总结: 以上描述可能并未详尽,也或者并不完全正确。只是谈谈这几天的一些开发体验。 长远考虑。感觉RN是第一选择,开发体验真的不错。而且可以在很大程度上IOS、Android可以共用一部分代码。 但是就现在情况来说,已经被我玩掉2个星期了。 老板逼得紧。先安下心,用ApiCloud搞个出来吧。虽然感觉不完美,但是起码可以快速从无到有。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...