对于ApiCloud和React Native的选择

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

##ApiCloudvue

###优势:html5

一、上手简单,对于作过web开发的人来讲,上手很是容易。没几天就能上手。react

二、并且提供了丰富的端和云api,还有不少第三方的api,能够节省了很多开发时间ios

###缺点:angularjs

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

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

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

三、没法在IOS上进行调试。让人很头痛。promise

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

##React Native

###优势

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

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

三、调试方式很是方便,能够在chrome里面查看日志,能够在ios模拟器中查看元素的模型。

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

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

###缺点 一、关于推送、第三方(好比微信分享、登录、支付)估计要本身来实现。这个时候就须要具有Android、IOS两端的知识,对于我这样尚未原生开发经验的来讲,是比较困难的。

二、对于数据的缓存,感受不够透明,或者说我还没深刻到这块。好比数据的缓存、图片的缓存。感受我本身暂时还没法控制。

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

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

相关文章
相关标签/搜索