对于不少从事IT行业的人来讲,就不得不赞叹其发展的速度,可能一项技术用个两三年就有点过期了,这其实也是整个互联网大环境下迅猛发展的缘故,马云曾经说过,不少人以为互联网已经发展得差很少了,貌似如今已经很是很是智能了,其实真正互联网开始发展到现在也仅仅才十几二十年,仅仅是开始,将来也许不可想象,犹如哆啦A梦的口袋,永远不知道何时它就掏出一个让你眼前一亮,为之赞叹的东西,而对于前端来讲,可能发展要比后端来得更为迅猛,更加快速,可能之前仅仅靠着html+css+一丢丢框架经验就能安稳找到工做,但如今呢?去看看开源社区,去看看github时隔不久就冒出一个开源框架,node,vue,react,更有无数较小的框架如ionic,bootstrap,特殊应用型的three...之后还会更多,特别是H5,css3这些基础的东西大升级,less,sass,webpack各类极易维护的新技术及程序预编译处理机制,以及愈来愈多的开发者,应用商放弃万恶的ie(请暂时容许我这么说= =),对于来发者来讲会愈来愈友好,开发者有更多的时间用在对前端更深层的思考上,整个前端,整个交互的界面,整个展示在用户观感中的那个视野,会愈来愈震撼,VR,AR这些其实仅仅是开始,不只仅是体如今绚丽多彩的特效,更多的是体如今用户在用这个产品的时候,会愈来愈舒服,怎么舒服怎么来,会让你的懒癌无限期的延长,会的。javascript
讲到这,可能你会问,诶,jquery呢?跑哪了,它不是也是个框架么?是的,它是,但发展到如今来讲,它更相似于一种生态,一种能够解决80-90%问题的生态语言,不少时候它就像是javascript同样亲切,甚至对于如今大多数开发者来讲,jquery用的要比js多得多,由于写得更少,作得更多,css中的less(为何叫less呢,想一想= =),也是同样的,兼容这个东西呢,得考虑,特别是有历史遗留的,而jquery生态就是一个很是好的选择。css
对于每一位前端开发者来讲,入门很简单,你会个标签+一点点css样式布局便可(这是ie曾经统治多年的那个时代,固然也才仅仅几年,十几年前之间),但你会发现知识的更新速度快到你不可思议,新技术层出不穷,新的开源框架团队一个接一个,优秀的开源框架更是一箩筐,你会发现有点跟不上或者甚至说会的那点技能很快就不值钱,你须要不断的学习和更新知识,是的,能码代码的不少,码高质量代码的也很多,但能彻底明白怎么码,要码什么,用什么码的就很少了,这些都先不提,单单论知识面吧,前端如今干什么事呢?它要干或者说它已经能够干UI+前端+后端这样的事了,固然了,确定没另外两个专业的干得好,但不少时候对于一些项目来讲,够用就好,你会说前端怎么干后端的事呢?阿里这个确定是大伙都熟知的,双11这样的时候,在12:00那一秒钟踏入的那一刻,你能够想一想那中间的选单-购买-支付有多少?也许对于用户的咱们来讲就简简单单一个点点点,可是呢你得这样想,全国,甚至全世界都在这样点点点,这中间得产生多少的交互?这个峰值能让这世上绝大多数的服务器集群奔溃,阿里怎么解决呢?可能到这你已经猜到了,是的就是用前端框架node.js来布局架构的,那这个node是否是特别牛呢?也不是,只是它的处理机制刚恰好,也很是适用于这种形式的高并发处理。html
那前端又是怎么干UI的事呢?专业的UI,优秀的UI前端无法比,也不可能去比,术业有专攻,那UI核心的那些是什么呢?(本人仅仅是名小小的前端,说得不对请见谅)我认为有很多,而图形的处理,色彩及页面风格的调配算是其中的两方面,而前端呢?不用去干这些,已经有很优秀的前端框架给咱们提供好了,里面的主题风格也许不是很优秀的,但就目前来讲也仍是至关的漂亮的,这里再说下,技术的选型永远不是这项技术多么的牛逼,多么的炫酷,而是这项技术适合,它适合因此选它,这个是什么呢?你应该也猜到了,是的,它就是bootstrap,固然还有它的一些子集好比zui,固然这个给我最大的启发不是它方便了前端多少多少的开发,而是它的栅格系统,移动互联网到来以前,那个时候你们用的都是PC端,网站什么的也不用考虑多终端的兼容,多终端的自适应,因此你们就用px啊,百分比啊,用的都感受很不错,反正能用,对用户使用影响不大,那当手机端来了的时候呢?前端的开发者们意识到,写单单一个前端样式已经不足以应付愈来愈多种屏幕的显示方式,如何在这众多的终端中让整个的用户体验,那个展示在用户视野中的东西尽量的达到观感上的最佳,是一个必须且迫切要解决的问题,这时候前端开发者们怎么作呢?(我根据事实来猜哈)都是程序员,那多种应用啊,有多个条件啊,确定必须得if判断啊,这必须的啊!固然前端不叫if,它有个很高大上的名称叫多媒体查询,固然这个比较麻烦的是你仍是须要写多个样式,外联的内联的无论,反正你得写多个,这就很烦了,就像明明我只须要执行一句,你一个if就得多一个代码块,好多个if甚至变成一大串,当项目结构很庞大复杂的时候,你会发现得多了不少不少的本来不须要的样式表,有问题就得解决,那这时候前端的那些大神们又怎么作呢?嗯,你想象下,我不论你这个屏幕,这个设备,或是渲染这个html的这个浏览器窗口有多大,我都给分红多少格,Excel(Excel这个软件实际上是一个很是笨的东西,为何呢?它的行列数其实都是固定的,好像之前比较低级的版本是512列*1024行,稍微高版本的好像到65535了,只不过这个数很大,绝大多数人用不完的而已,连多少列多少行都得是固定的,是否是很笨?固然它是个很了不得的应用,也有多是里面软件底层架构冲突。)各位应该都用过吧,一个个的格子,但不一样的是这里的格子数列数是固定的,可能你屏幕大,界面很宽,那又怎样?只不过拆分红的这些单元格大一些就是了。那组成这些前端页面的基本组成单位再也不是定死的固定像素了,这在大多数的时候就能够很好解决了(固然还有rem这个也是很优秀的多终端显示的方式),也许你会说bootstrap这个是给低级开发者或是给外包用的,我不能说你没有道理,但也许几年后bootstrap这个东西不适用了,但里面栅格系统这个思想,这种模式必定还会存留,会延续,变成推进前端开发的一艘动力航母,一直不断的向前。前端
前面好像谈了一大堆貌似还没谈到前端究竟是怎么干UI的事,好吧,漫谈,咱们是漫谈,别在乎细节,总之一小段话概况就是,项目通常开发的前工序流程是UI把产品经理跟客户达成一致的需求还原成一系列psd图,这些psd图里面是已经具有好后续整个系统的风格及色彩搭配了,前端再把这些图还原成页面就能够了,不用考虑UI的事,那bootstrap这个东西呢,它就是把一些经常使用的psd图中的东西先弄成一个个具备特定风格的组件供前端调用,前端能够直接同产品经理来对接,虽然说没有了psd图,但最终完成的界面风格及色彩搭配也不会不好,还很漂亮(就目前来讲),对于终端用户来讲,其实他们是不专业的,甚至他们连一些需求其实有时候都不是特别清楚,可能咱们弄了个方案给他们看,诶诶诶,对对对,就这样的,嗯,仍是重申一句,技术的选型不是要多苛刻,要多高级,多新,多炫酷;够苛刻,够高级,够新,够炫酷就能够了,强调一个够字,因为要作多终端的兼容适配,无法像之前同样1px都不放过,那不现实,意义上也不是很大,可能对于UI来讲,黄金比例就必须是0.618, 0.62,甚至0.6181都不行,但在用户的眼中,其实它区别真的不大,0.62能够,0.63也能够,固然并非倡导乱来,得有原则,底线是不能触碰的,但上面预留的这个操做空间是可更改的,这不只仅是节省开发成本,更重要的是极快的提升了开发效率,一个产品抢先发布那么几天,可能最终的结果就完彻底全不一样,这就是不少时候常常听到的一句调侃,嘿,程序员,程序猿,又得加班了,没办法啊,赶项目进度啊,你要先人一步啊,但项目任务仍是那么多,要减小时间只能拼命挤,这是没办法的。这也就是为何要组件化开发的缘由所在,代码的复用性高,意味着你不用从新写,不从新写不是表明你不会,这是一个误区,不会和不重复作一件会作的事是两码事,固然,组件化也给了不少前端新人便利以及不思进取的温泉,这种只能说因人而异吧。vue