前端学习计划

本文最后更新于:2 年前

一、目前现状

我目前是iOS原生的开发人员,随着新技术的不断发展,我渐渐感觉到原生开发已无大的发展了,现在混合开发,跨平台前端开发才是主流。

现在移动端主要是iOS系统和Android系统的天下,作为系统的开发厂商,一定是希望使用系统自己的语言,直接使用系统提供的API来实现功能,但是这样开发工作量都是双份的,做一个功能,要用两种语言实现后分别,而且受限于各自系统不同的风格,出来的交互效果也会有所差距。

最近几年,随着芯片制造等技术的发展,智能手机的性能开始越来越高,普通的非游戏类app正常情况下不会有占用内存过多或者CPU的性能问题了。

随着这几年html5规范的制定完成,前端跨平台开发成为了可能,硬件的优化,语言的更新,使用html5开发的混合web app不在有性能的问题。

钉钉OA、微信小程序、企业微信等这些产品的发布,更加需要我们去做到一套代码,多平台适配,由此可见,前端时代已经到来。

二、混合开发

混合开发模式就是原生提供web容器,容器中加载h5页面,h5实现不了的一些方法,通过约定的交互方式由原生容器协助触发。例如页面跳转,原生一般都会使用系统提供的控制器实现页面跳转,这样用户体验比较真实,符合日常习惯,但是h5只有a标签的页面内重定向跳转,为了使web跳转更像原生APP的交互,可以约定调用方法,使得h5中也能使用原生的容器跳转,这样实现的效果比较好。

混合开发要求原生与h5约定一套交互方式,典型的有钉钉OA、企业微信,这两个app平台都是使用的这种方案,当然,各家有各家的方法。

三、第三方开发打包工具

除了自己开发原生容器,当然还有一些大公司提供的标准打包平台的方案,例如React Native、WEEX和最近刚出的Flutter,都是大厂出产的前端开发app的工具,基本上可以说脱离了原生人员的参与。

四、一些想法

从技术角度来分析,未来的趋势几乎一定是跨平台的大前端时代,但是原生开发也不会被完全取代,毕竟移动端的硬件对接的还是iOS和Android的底层系统,但是,作为个人来讲,我现在要做,就是从现在开始转前端开发,为未来做好准备。