前端的发展趋势和路线,还有职业规划


【本周话题】前端的发展趋势和路线,还有职业规划

本文如标题所示,分成三部分,

1、发展趋势;

2、学习路线;

3、职业规划;

那么,现在就开始吧,第一部分,


<!-- 发展趋势 -->

这个部分很好写,【前端行情大的方向肯定是越来越好的】,这是最终结论。


那么技术上的趋势,


<!-- 1、前端工具化; -->

2018年底吧,据说在github上能找到230多万个js项目,然后npm是最大的模块系统,大概有70万个可用的包,每月下载量过十亿。


库,是一组功能的集合,包括日期、字符、dom元素,事件,动画、ajax等,你可以自由的做出任何零件。但库不会给你任何一个完整的功能。


框架则不然,它本身就是一个应用程序,你安装成功的时候,就已经拥有了一个成型的app,也就是说,框架是有骨架的,你可以在它身上添加各种功能,而且这些功能基本上也是成型的。框架是一个完整的解决方案,它的完成度比库要高的多。


工具呢?它不是库,也不是框架,它是一种插件之类的东西。很多时候,没有某工具你也能完成开发任务。但如果有工具,速度会更快,效率会更高,代码会更漂亮。例如,SaaS之类的


jQuery依然是最常用的、最广泛的库,只是它不再火热。而且一些小型项目使用jQuery本身就是正确的选择。在技术选型的时候,要从需求着手。


ReactJs,火的很,专注于MVC中的View的部分,开虚拟dom之先河。一定要学;


VueJs,国内大火,我的最爱,MVVM的框架,也有虚拟dom,很多地方和React的思想类似,我个人推荐先学React,再学Vue,这样是从难到易。


Angular[ˈæŋɡjəlɚ],好几次推倒重来,学习曲线陡峭,我不喜欢,没学。


还有一些模块打包,代码检查,包管理器、构建文件、代码测试...等等,你会发现,无论你在开发过程中有什么样的需求,基本上都有对应的工具可供选择,也就是说,你很难遇到需要从头开发一个工具的时候了。


这就是前端工具化。


<!-- 2、前端配置化; -->

前端配置化?其实就是前端标准化,至少是有限的标准化。


为什么说是有限的标准化?因为你使用的html、css、js是有标准的,但客户的需求是需要定制的,所以定制化的开发就成为必然。这就是有限程度的标准化。


例如你需要一个自定义的html页面,它要能自适应什么的。那么,bootstarp,你只需要写几行html、属性名,就可以快速的搞出来一个兼容性、可扩展性都非常好的html页面出来。这种页面如果你自己手写、调试、适配的话, 但使用bootstrap,十分钟之内就可以搞定。


还有webpack,它可以用来配置整个项目的出口、入口、打包、插件、服务...等,但这些功能,都不需要你自己去写,你要做的就是写一个webpack.config.js文件。


还有一些可定制的配置化页面,例如一些监控、可视、流程、cms、crm之类的,这些东西都有查询、列表、提交、排序...等功能,这些功能模块就是在后台页面上配置显示

<!-- 这就最基本的前端配置化。 -->


高级一些的前端可配置就是,把底层的代码都屏蔽,然后抽象出一个或多个的接口,然后写业务代码的开发人员就调用各种接口来实现功能,这方面最强大的就是m$的Vs studio,拖动就可以完成开发。


其实这也是更未来的发展方向之一吧,就是业务代码的开发变成鼠标拖动。


这里面要解决的问题,

【配置的解释与执行的性能问题】,因为你不同的配置文件,都要传输、引用、解释,这个过程肯定要影响性能,所以怎么样的编译代码,这是要反复考量的。


【UI、功能的边界、准确性】,

要控制好复杂度,避免不必要的维护、工作量。在功能与工作量之间做出权衡。


【前后端的数据格式】

关于数据要有约定,形成规范,方便产品与数据的复用



3、泛前端化;

这个就很好理解了,以前网页就是pc上,现在移动端、物联网、ios、安卓等都要混合开发,这就要求减少跨端开发的成本。


4、前端隐性门槛提高;


前端开发的门槛,最基本的就三样,html、css、js,都不难,所以前端入门确实很简单。


后来出个前端库,jQuery,也很简单,学学也就会了,无非是找个dom,添加一些事件。也不难。


再后来要集中精力在逻辑实现上,减少非必要的dom操作。于是React、VueJs出来了,也还行,不是特别复杂。


再发展,有一些操作数据层面,原来在后端的工作要拿到前端来。结果搞出了nodeJs,这个有点难度了,但其实也没什么,无非是另一个Js的运行环境而已,学学也就会了。


再发展,很多包、模块、资源手动管理起来很麻烦,为提高效率,webPack出来了,各种配置项很多。但其实也没什么,无非是个webpack.config.js文件而已。


<!-- 上面这些,算是显性门槛。为什么这么说呢? -->

因为这些东西你都可以通过自学搞定!


<!-- 下面是隐性的 -->

现在更多的企业看重的是,你的教育背景、学历?职业背景?项目与管理能力?算法、数学基础等等。对这些方面的要求在提高,但这些东西你很难通过自学搞定。


5、前端技术发展速度暂时性的减慢

至少在2019年吧,基本的vue/react、nodeJs、webpack,及其周边工具、插件、模块等,已经能够满足绝大部分的业务场景。


除非出现更加复杂的应用形态,那么前端开发的技术大格局应该不会有什么大的变化。现在的前端技术更多的时候,只是在广度、粒度的层面上进行扩展。


<!-- 学习路线 -->

1、简单的说,依然是三大件,html、css、js;

html、css很容易,自学就可以搞定;

原生JavaScript,也不难,无非是函数、对象、this、原型、一些设计模式、闭包、作用域之类的东西。


2、必须搞定nodeJs。到什么程度呢?       从理性的学习,上升到感性的理解。

常用前端框架(vue、react、jq)


nodeJs的话,对于前端新人来讲,搞定node安装,express、koa2框架的基本使用,能够起动服务,运行项目,安装模块,基本也就可以了。


至于stream、buffer、file等东西,用的应该不会太多


3、webpack,搞定前端工程化;

提起笔来就写js的时代,已经过去了。现在的前端开发必然是在一个【环境】中进行的,那么这个环境由谁来负责?


它就是,webpack


webpack这个东西说简单也简单,就是一个配置文件;说复杂也复杂,各种配置层出不穷。而且它的配置的复杂度,与项目的复杂度成正比。


但就其基本使用来讲,看看教程,写一些例子,也就ok了。


4、各种前端方面的网络协议

http协议,tcp/ip协议、常用状态码、get/post请求,等一些网络方面的知识,

这些东西了解即可,不必深入。


5、后端语言,可以是php或python,反正都挺简单的。

这个的学习就看个人需要的,不多说


6、mysql或是mongoDB,反正对于前端来讲都一样,无非是crud基本操作。前端开发需要了解数据库,但不必也不应该深入学习数据库。


7、深入研究ES5、ES6、ES7...等更多JavaScript本身的东西。

即,脱离业务代码、深入前端架构。

就一条,多看书,反复看经典书。哪些是经典?不用多,《JavaScript高级程序设计》至少看三遍。


<!-- 职业规划 -->

1、0-3年,熟练掌握常用开发技能;

2、3-5年,能带领团队,进行一定规模的前端项目开发,同时负责技术攻关;

3、5+年,从产品、逻辑、交互的层面上,进行前端架构的设计。

即,1、负责产品可视范围内的一切;

从代码到交互,与产品经理的责任有一定重叠;


2、开发项目内、公司内、业内的工具类应用。例如,阿里的某些工具,先是项目内应用,然后公司内应用,然后是全面开源。


4、5年之后,你有三种选择,

一、成为前端业内技术层面的大牛人,到处出书,指导,讲课什么;

这需要极高的技术素养!!是素养!不是你会多少东西的问题。


二、自己创业,搞个互联网产品出来。

前5+年的技术+产品的积累,让你能够看清技术与用户重叠的地方,

所以很多5、6年的技术牛人吧,都创业了。


三、年龄大了,没人要了,被淘汰。

标签:

除特别注明外,本站所有文章均为蓝衣社——企商科技原创,转载请注明出处来自http://blog.btwob.net/post/39.html

发表评论:

昵称(必填)

邮箱(选填)

网址(选填)

正文(必填)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

投稿专用

Copyright 蓝衣社 Rights Reserved.

原创内容,版权保护,转载请联系原创作者!违者必究!