h5是未来,没毛病。但10年后的未来还是5年后的未来,不知道。h5现在确实很强大,有着性能已经可以媲美原生APP。那么,Aandroid开发是否被h5代替? 现在做H5混合APP开发的人很多,但是纯H5却很年轻,很多问题都没有很好的解决,这几个是我在做这些APP时考虑最多的问题。当然大家也不必担心,随着ES6的推行,硬件发展越来越快,纯H5APP未必没有一席之地。最后说一个很少人注意到的H5优势,大家大谈H5APP时都是快速开发、低成本、多平台等等,但我却觉得它和很多APP开发方式相比有一个不同之处——图文混合的排版。 很多人都说纯H5APP一次编写就能编译Android/iOS两种不同的APP,大大降低了成本。实际上这个观点本身就是值得怀疑的,如果你写过这类APP就能明白我在说什么,它们既不省事,又存在很多BUG,调试时尤其繁琐。 举一个很简单的例子,Android和iOS在返回上一页的处理方式上就有明显的区别,iOS的顶部bar在全屏下怎样处理,Android机器出现smart bar怎样处理页面的布局,调用底层硬件时怎样区分不同的场景等等,你需要写一个又一个机型和系统的判断,然后分别在Android和iOS下调试,最后你却发现这并没有卵用,累的要死却什么没学到,只有一堆不知道什么时候会过时的经验。 工作到现在对H5和原生的关系也有了一点点见解,项目初期,业务变动较大,H5拥有巨大的优势:迭代方便,成本低,跨平台,业务变动造成的影响规模小。但是当业务稳定,业务逻辑基本确定,变更不再频繁后,H5体验上的弊端就会显现出来(因为优点变小了),这时候原生改造可以获取更好的用户体验和操作手感。 所以,H5取代原生几乎是不可能的,但是会抢掉很多的安卓开发岗位,因为初创的公司肯定会选择性价比更高的混合开发模式,降低了原生开发人员的需求量,但是并不能影响成熟的公司对原生开发人员的需求量(我们这个项目组的安卓已经逼近30人了,公司仍然在不停的招人)。换句话说,初级的原生开发需求正在减少,中高级的原生开发需求量影响不会太大。 不可能是被取代,你们看到的android开始都是基于手机上的APP开发 android的系统是开放性的系统除了手机上的android,还有智能穿戴和工控系统,我们公司做医疗的,做的医疗设备上的系统和软件都是android,在win的稳定性和对硬件控制不行 .C和汇编的开发成本太高维护起来比较麻烦。现在很多类似智能机器人和各种需要系统的设备里面配套的都是android 系统。就硬件来说,比windows系统的要便宜 ,硬件设备的占地面积小。设备外观比较小巧科幻。开发维护成本少,开源设计,在看android系统,不要仅仅看看android的手机应用,其他智能设备的应用的市场更加广阔。 这时候我们回过头来再看看MVVM的数据加载问题,实际上不管哪个MVVM框架,写过的人都知道管理这种新型的前端代码最重要的问题是内存的问题,你既要保证代码写的足够优雅没有任何内存泄露问题,也要考虑到在页面生存周期结束时它们的控制器/页面资源是否得到释放,这对全局有没有什么影响,在多个请求时也要合理的分配资源,甚至是复用这些父级页面传过来的缓存资源等等。较小的APP可能并不会有这些问题,如果你想用纯H5来开发大型APP,这很可能会浪费你很多时间——而且结果还不会让你满意。
|