1.关于React-Native~移动开发的窘境
Web APP:基于webview的纯网页,一般低成本的做法,做出来的APP体验也是最差的。代表是phonegap。
Hybrid App:也是基于webview,但引入了部分原生控件来改善性能。但交互跟原生还是有差距,特殊的东西还是无法实现。
原生 APP:这个就不用说了,性能最高,成本最高。迭代慢。代码热修复比较麻烦,要搞runtime...
React-Natvie:基于js与obc(Java)的交互,通过DOM渲染直接生成原生控件,就是说一点webview也不用,比较难的动画也是可以实现的。随着社区的进一步壮大,各种插件以及热更新策略也越来越成熟。
目前已经有很多大型的APP加入React-Native
天猫技术团队使用React Native代替H5实现产品化落地
2.关于React
我们使用React-Natvie用最高的开发效率完成了的移动原生开发,然后发现手机网站、微站,逻辑都是跟手机的一样,能不能逻辑都写同一套,界面再分开写网站以及APP?甚至就直接用同一套代码?
我们使用了React,因为:
1.目前像Angular JS,React 这种框架,它们把渲染留给了前端,而像PHP这样是在后端渲染好HTML代码后返回给前端。后端渲染决定了体验肯定不如前端渲染。
2.统一使用React,这样又能开发移动应用,又能开发网站。
3.MVVM的进一步演进-单向数据流flux开发模式,使用JSX直观的定义用户界面。具体可以看:深入浅出React(一):React的设计哲学 - 简单之美
3.关于Redux
跟Flummox、Alt、traditional Flux不同Redux坚持了使用一个store的,并且层次分得更加细以及明确。楼主本人同时还使用过Alt,感觉Alt就是三层简单的结构(action,store,view),但这样的优缺点也十分明显,结构相对简单,但处理一些较难的问题时逻辑比较混乱,最后不得不把某些逻辑暴露在view层。而redux则有很多种层去解决这类问题。建议是:
简单程序使用Alt
复杂大型使用Redux
目前公司的项目 React-Native+Alt已经完整上线。2,3步正在加紧开发。
推介大家阅读的:
淘宝前端团队(FED)也是推介react技术团队之一。
网友评论