在上一篇文章中,我分析了大前端的趋势,我建议原生程序员拿出3分精力来学习大前端技术。本文将进一步分析这一趋势,并针对前端程序员(FE)给出一些建议。在此以前,先给你们介绍下大前端。前端
大前端技术的发展已经有一段历史了,可是这个概念正式映入你们的眼帘是在2017年,当时以饿了么为表明的一些企业开始提出大前端的概念。在2018年年中,InfoQ举办了首届全球大前端技术大会(GMTC),在大会中将先后端分离、跨平台和PWA等技术设立了专场,此次大会具备重要的意义,它预示了大前端时代的正式到来。程序员
大前端究竟是什么呢?直接来讲,大前端就是全部前端的统称。在后端眼里,最接近用户的那一层都叫前端,好比Android、iOS、Web、Watch等。对企业来讲,每上线一个新产品都须要开发几个平台的APP,这是一种资源浪费。从节约成本的角度来看,用一份人力来开发适用于多个平台的APP,这才是最有价值的。总结来讲,平台、跨平台技术以及周围生态,它们共同组成了大前端。小程序
下面开始阐述本人的观点,我认为:前端程序员也要花3分精力学习下原生技术栈。后端
前端技术在经历了先后端分离之后,从互联网迈向了移动互联网。如今除了淘宝京东之类的电商平台还拥有大量的PC网站开发外,剩下的PC网站开发大部分都是作运营平台,Web开发已经愈来愈向移动端靠拢了。微信小程序
在互联网时代,你们能够经过浏览器收藏夹和搜索引擎来打开各大企业的网页,可是移动互联网时代,网页已经很难触达用户了,由于用户在手机上缺少搜索的习惯,这也是百度在移动互联网时代掉队的缘由。解决这个问题的方式就是手机APP,还有微信小程序,可是稍微大一点的公司都不会把微信小程序做为本身的主要入口,因此移动互联网仍是APP的时代。浏览器
在跨平台方案上,最有潜力的依然是ReactNative(含Weex)和Flutter。Flutter如今才preview,并且其动态性方面有缺点,也无法支持H5,在我眼里,Flutter更像是一个将来的方案,而ReactNative则是目前的最优解,虽然它也有不少不足。微信
随着大前端的发展,若是有朝一日ReactNative变得更完善,成为了各大公司的主流开发模式,那会出现什么现象呢?毫无疑问,确定要使用JavaScript进行业务开发,可是因为ReactNative自己的限制,它在复杂UI、长列表加载,原生能力的支持完整度上都还有不足,还有已有的第三方库复用,这些都须要以原生的方式来支持。也就是说光靠JavaScript是完成不了的,还必须配上必定的原生程序员(Android和iOS)。app
问题来了,这套技术栈提升了研发效率,那公司确定要进行“人员优化”,淘汰掉不能适应新体系的程序员,节约人力成本,毕竟这才是企业拥抱大前端的本意。那你们猜一猜,哪些人会被淘汰掉呢?前后端分离
确定是不懂JavaScript的原生程序员和不懂原生的FE。学习
在大前端时代,三端已经融合了,Android、iOS和FE已经没有那么明显的区分了,因此谁适应不了新形势谁就会被淘汰。JavaScript自己有必定复杂度,可是ReactNative中的JavaScript只是子集,其门槛很低,原生程序员能够很快上手。那问题来了:若是前端程序员不懂原生,而原生程序员却懂JavaScript,那做为领导,他会选择裁掉哪类人呢?我相信你们都内心有数。
因此,大前端时代实际上是Android、iOS和FE的融合,并非说FE替代原生,更不能说APP已死,要知道最终的APP是运行在Android和iPhone上面的。
我给你们的建议就是:
原生程序员学习JavaScript,FE学习原生技术
尤为是FE,千万不能以为本身只要不劳而获就好,必定要改变下本身的观念,主动学习下原生技术和跨平台技术。
我知道,本文的观点或许有一些超前,由于本文不是一篇描写如今的文章,而是一篇描写将来的文章。可是我并非乱说,这一切都是我观察、学习和思考后作出的预测。我想说的是,当一个趋势全部人都能看懂,你才能看懂那就晚了,只有在大部分人还看不懂的时候,你看懂了而且去作了,才能在趋势到来后领先大部分人。大家承认个人观点吗?点赞,将本文分享给更多有须要的人吧。