我眼中的前端开发

你们都知道程序员是少见的低门槛高工资的职业,而前端工程师又比其余岗位入门更快,所以,不少人都想成为一个前端工程师。可是,在决定成为一个前端工程师以前,你了解前端是什么吗?css

一千我的眼里有一千个哈姆莱特,因为每一个人的经历和工做经验不一样,我敢说一千个前端程序员,对前端也有至少一百种定义,我也只是一个小菜鸟,不敢对前端下什么权威定义,只是闲来无事,又以为这个话题比较有趣而重要,但愿能够跟你们一块儿共同探讨一下。html

狭义上的前端开发

让咱们先从狭义上的前端开始讨论吧。前端工程师是一个比较新颖的概念,应该不会超过十五年的历史,之前的前端开发工做大可能是由如今的后端顺手作了,没什么复杂度。前端的诞生,大概是随着ajax和其余技术的推出,网页逐渐复杂化,从而分离出来。前端

技术

一个对前端彻底不懂的新人想要学习前端,要先学三板斧,JavaScript,HTML,CSS。这三个可谓是前端的基础。打个不太贴切的比方,把网页比做一我的的话,HTML是他的骨骼,CSS是他的皮肤,而JS让这我的运动起来。node

在搞懂这三个技术后,通常还会再学习一下JQuery和BootStrap,一个是对JS的封装,下降了JS的使用门槛,另外一个是一个UI库,可让人快速的搭建样式统一又不算难看的网页。react

工做领域

过去或者说是狭义上的前端就只是工做在浏览器上,IE6789,Chrome,Safari,所以他们关注的更多的是兼容性的问题。css3

关注点

狭义上的前端,可能更多的关注展示,作作官网,作作管理后台,作瀑布流,轮播图什么的。git

广义上的前端开发

能够看出,狭义上的前端开发局限性比较大,通常人能够很快入门,很快看到天花板和瓶颈,再结合前端程序员比较容易入门,致使很多其余的岗位程序员对前端也有点歧视和偏见。这是咱们就须要把视野打开,成为广义上的前端。程序员

广义上的前端开发是怎样的呢?我认为可能具备下面的几个特色es6

向web应用发展

web的复杂度进一步提高,从web网页向web应用发展,加入大量操做系统提供的能力,如传感器,文件存储,网络链接等。随着小程序和快应用的推广,前端页面利用微信和浏览器,也在逐步获取以前原生应用才拥有的能力,在不注重性能的领域,前端技术在逐渐取代原生技术开发。github

工做领域普遍

如今是移动互联网时代,别再死盯着PC页面了,也别知足于移动端页面的开发了,快去抢iOS和Android程序员的饭碗吧!好吧,其实他们也属于大前端的一部分,属于同一阵营,在掌握了react native,weex等技术后,前端拥有了挑战移动端开发的能力。比起移动端开发,前端开发有着免审核,开发迅速,统一维护等好处。

除了在移动端逐渐取代原生开发,愈来愈多的桌面应用在利用Electron技术开发,如VSCode,atom等

随着nodejs的推出,这年头的前端总要懂点express和koa,否则出门都很差见人。渲染的页面工做被交给前端,后端程序员只提供API接口的开发模式也愈来愈流行。

关注业务和数据

如今是数据时代,咱们要离数据更近,去处理和分析数据,本来前端程序员不被重视和天花板较低的一个重要缘由就是只重视展现,离数据和业务太远。这也致使前端开发可被替代性强,待遇天然也上不去。然而随着现代的开发模式如MVVM的引入,愈来愈多的数据逻辑处理被放在前端,前端的重要性也慢慢上来了。

更多展现场景

单纯的展现并不是没有前途,只是咱们不能停留在传统的官网展现,要去扩充咱们的应用场景,能够去涉足办公软件,直播,游戏开发,VR,AR等场景。

工程化

前端要作的事情愈来愈多,愈来愈杂,工欲善其事,必先利其器,要完成各类各样的需求,咱们须要升级一下咱们的手上武器。

想用es6怕浏览器不兼容?想用css3新特性怕出bug?让babel和postcss帮你吧!还有各类图片压缩,模块化打包合并,资源自动上传到服务器等等工具。所以,前端开发不只仅只是完成开发任务,还须要开发各类工具去提高开发效率和处理其余问题。

总结

在我看来,前端有两个重点,一个是数据,另外一个是展现。如何更好的处理数据以及进行丰富的展现并将其展现到更多的终端,是前端须要解决的问题。

我认为,前端的优点在于,比起app须要让用户先耗费时间和流量去下载客户端,用户能够直接经过浏览器能够获取数据,并经过链接进行分享。缺点是不适用于过于考验性能的场景,然而机器的性能是会不断提高的,适用于前端的领域也会愈来愈多,前端的明天也是光明的。

因为阅历有限,可能有不少不足的地方。但愿你们能够指出并讨论,谢谢!

本文章为前端进阶系列的一部分,
欢迎关注和star本博客或是关注个人github

相关文章
相关标签/搜索