去年17年1月份的时候,那时候刚来公司不久,公司开始是用mui+h5+h5+开发的混合app使用mui+h5开发web app,不过折腾了半年发现app几个版本都不尽人意。主要体现在:性能跟不上、mui官方各种bug出来没人修复,社区越来越不活跃、有很多三方的插件官方集成难度太大。
慢慢的意识到问题之后就寻求新的解决方案,开头我花了两三个星期学习vue.js,并且使用vue搭建app和公司后台,他两的路由框架全部配置好了。那时候觉得vue数据处理起来非常方便,单页面应用性能很不错,代码也很简洁、编写难度不大。不过随着app功能的深入,发现遇到难题了,用它跟原生层交互,必须使用h5+或者Cordova,这就很郁闷了,那时候用的版本1.*,vue更新速度非常快,对于我们这种小公司来说,它开发app难度有些大,并且它开发app的生态还不够完善,相对那时的我来说太过耗时间。
于是看到了阿里的weex,花了几天了解,开头看他的文档感觉一脸懵逼,不知道他讲的是什么,后面慢慢才有些明白了。看了他的思路和他们做的产品,性能确实能够与原生媲美了,不过可惜的是:文档不够完善、组件也不够丰富、因为涉及到很多原生层面代码所以需要有一定的android和ios原生功底,不然到时候遇到bug都不知如何下手了、还有就是社区不活跃。所以还是不采这个坑。
最后面接触到的是React-Native,第一感觉就是他就是我想要的东西了。它性能挺不错、生态完善、社区活跃(github有6w+ star)、组件丰富(官方插件组件很丰富、三方插件只有你想不到的没有做不到的、基本形成三方插件和官方插件互补的形式)、最重要的是原生功底没有硬性要求,一份代码能够兼容多端,这样就能够大大提升开发速度了、大部分与原生代码交互直接使用三方插件配置即可。那时候的所有压抑在那一刻都释放出来了,而是开始了我的RN之旅了。