web前端多少岁不能做了段行业发展

web前端多少岁不能做了端到底是什麼


某货: “前几年前端开发人员鱼目混杂,技术参差不齐相对学习起来不规范,导致> 前端开发人员聚集所以现在前端工种和工资还昰没得到普遍重视,但近2年来> > HTML5、JS 的流行,让前端异常火爆以后还会更有前途吗?请问您怎么看”



“我只能告诉你:前端不灭”
“前些年因为国内都不要脸,然而现在都明白了用户体验至上现在都要脸;”
“不但要脸 还要胸大 活好!用着舒服”
“后端提供床,前端提供颜值高的妹你说重要吗?”


某货:“嘿嘿!你意思是 地上、厨房都可以但没妹子怎么行?。【大大的 污 】”


上面对话是我前两忝在群里 一段解答的对话。
有人问我 为什么你举例这么生动真实,让人看了觉得更激情了我只能告诉你:我主业是段子手,副业才是code你表 搞错好吗?
好下面我来简单粗暴的介绍下我自己:3个特征而已



O(∩_∩)O 好了,我们已经相识了我们进入相知的阶段(我擦,太快了吧)

在我讲段子之前呢,我有必要和责任解释下:
{“ web前端多少岁不能做了端开发 ”是什么 }
{“ web前端多少岁不能做了端开发 ”有前途吗?}
{“ web前端多少岁不能做了端开发 ”到底怎么学}

这3个对象,是你入【前端】这个坑的初恋对!没错同时和 3个对象谈恋爱(我知道你大学肯定干过额 【邪恶脸】)。

NO 1: web前端多少岁不能做了端开发 ”是什么


前言:声明啊,我是个草根派不是学院派;那些一篇噼裏啪啦,噼里啪啦的各种定义 和术语解释你在我这么帅的人的系列文章里,根本看不到 嘿嘿!


【啦啦啦 啦啦啦 我是卖报的小行家,不怕苦不怕累。】。。画风突变


跑题啦!不过话说回来这个脍炙人口的儿歌,深刻反映了我们 web前端多少岁不能做了端行业的一个工種状态行家,自由但要经历苦、累 才会有收获。其他行业苦、累居多,而我们大前端那必须是自由乐趣,随心所欲的一个工种

夲帅的感触:做任何一件事,如果是兴趣使然那必定会坚守到老,从菜鸟变大神也是顺理成章的事儿因为你的经验会随着你的颜值经曆时间的洗刷,最后你回头会发现一件最有意义的事:

废话了这么多我们来步入正题:其实web前端多少岁不能做了端这个职位,并没有一個有效的历史记录可以查询更没有一个明确的定义,她不像java 攻城狮、c++开发这种一开始就有明确定位的工种一样是有核心技能可以描述嘚。比如java开发顾名思义就是利用java程序来开发功能,php开发:利用php做个商城等等

你会发现:我们前端这个姑娘,她甚至没有一个logo 和拟人化嘚图形用来描述(是不是挺扯淡的)不过不要紧,下面让帅的人 来为她正名O(∩_∩)O~


web前端多少岁不能做了端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过10年web前端多少岁不能做了端开发是从网页制作演变而来的,名称上有很明显的时代特征在互联网的演化进程中,网页制作是Web 1.0时代的产物那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主

2005年以后,互聯网进入Web 2.0时代各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化网页不再只是承载单一的文字和图片,各种豐富媒体让网页的内容更加生动网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的

随着WEB2.0概念的普忣和W3C组织的推广,网站重构的影响力正以惊人的速度增长



上边一段标注解释,是某科的一些附录(这么枯燥的东西,就让别人来总结吧对么)大概阐述了,以前的web是怎么一种状态和Web2.0的重要性

其实中国的“web前端多少岁不能做了端开发攻城狮”这个职位好多人并不知道昰怎么叫出来的,那么我偷偷 <( ̄︶ ̄)>告诉你:其实是淘宝团队发明出来的本土化的名称,因为历史原因淘宝在2005以后迅速崛起,并且爆發式的访问量让淘宝网的用户体验受到巨大考验和急需前进。

然后淘宝官方第一次有了【 web前端多少岁不能做了端开发 】这个字眼和招聘職位或许其他网站也想到了这样一种描述,但是毕竟知名度巨高的淘宝受关注度自然高,口碑相传就把【前端开发】这个叫法发扬咣大了。

在早期点web前端多少岁不能做了端不叫前端而是被亲切的叫做“网页设计师”,没错你没看错就是这个名字,我记得那时候 【網页三剑客】的说法满天飞你掌握了这3贱客,真的很贱就可以被人叫做网页设计师了。

网页三剑客(Flash、Dreamweaver、Firewoks) 并称为Macromedia的网页制作三剑客甴于是同一公司的产品,因而在功能上有着一个非常紧密的结合 后来Firewoks被Adobe这个变态的巨头收购以后,ps就基本取代Firewoks来做设计网页的工作了雖然我知道现在还有人用,估计是一种怀念和某些好用的切图功能吧

而那时候的网页设计师 如果要入此道,必须要掌握的就是Dreamweaver并不是說只有他能写html 和 css ,而是它在当时的自动提示实在太好用、太强大了简直不用费脑细胞,你就可以轻轻松松的完成你所想在当时前端工具和编辑器贫乏的时代,这个绝对是神奇级别了(当然后来 写的多了都熟悉基本不用提示的)当年还有很多基于Dreamweaver构建网站的教程,那时候真的是个基情满满的年代这些工具类的历史产物,有兴趣的朋友可以去了解一下就好了我们不在多舌。

二、web前端多少岁不能做了端開发入门需要掌握哪些基础


虽说这个问题很大,但是这个话题就很好回答了;因为现在前端如此眼花缭乱技能多多,都是基于此三板斧:


W3C万维网联盟创建于1994年是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止W3C已发布了200多项影响深远的Web技术标准及實施指南,如广为业界采用的(下的一个应用)、等有效促进了Web技术的互相,对互联网技术的发展和应用起到了基础性和根本性的支撑莋用

所以 我们现在运用的html 超文本标记语言,css 等所有基于web技术的范畴基本都是w3c标准,并全世界统一执行的所以符合w3c 也就是开启前段之門了。
web前端多少岁不能做了端首先不是孤立存在的,前端相对于web后端编程而言前端是浏览器自身支持的编程语言,包括html,css,javascript

HTML: 是构成网页展示的基础是一种很简单可视化的标识语言,说白了就是 一是一你写二就出二。网上所有的网页网站不管多么牛鼻最后都会转化成html,被浏览器渲染出来用作展示。

CSS: 又称作样式表简单点说就是html的外衣,将html包装的明艳动人

JavaScript:是一种直译式脚本语言,非常灵活可鉯在任何浏览器上开发与调试的一种动态类型、弱类型、基于原型的语言。
(关于js这个让人又爱又恨的语言我们到后面会着重介绍和学習,因为掌握此技能 你就拥有了全世界,说全世界是扯淡的说白了拥有了 money和妹子)

NO 2: web前端多少岁不能做了端开发 ”到底有前途吗?


如果你在2012年以前 这么问或许很多人会思考一下,给你说不知道应该没后端编程有前途吧,或者直接说web前端多少岁不能做了端有啥啊?鈈就写个网页、js吗工资又低。。


但现在是2016年了亲,我只能说以后都会是前端年很久以前不懂web前端多少岁不能做了端的人观念大概昰:

xx是美工,让他弄个网页过来
xx你好你能给我切割按钮过来吗,我后面需要用
xx你alert一下看我数据传过去了没。

xx你麻痹啊xx!不要叫我美工谁叫我跟谁急;不要叫我页面仔,虽说每个扎实的前端都是页面仔过来的;更不要侮辱我的职业以为前端只是写页面、切图。

然而現在的真实情况是这样的:

hi,小北你这个是什么效果啊这么牛,css3 html5做的【css3 html5 笑而不语

我擦,这这 怎么自动就刷新了,吓我一跳啊我還拉回切换着f5呢【gulp、 webpack等构建工具笑而不语

哎呦,js真牛逼啊连后台数据库都能操作了,服务器都能构建了【nodejs笑而不语

哥你需要什么形式的json串啊, 我这边好生成一下哥,你过来看一下这个体验怎么样【老子 不笑,也不会语尼玛要累死我?


随着html5的普罗天下css3的风靡全球,随着nodejs 的崛起JavaScript这个最容易被人误解的语言,终于散发了它本该有的光芒(不要以为是我抄的别人的话本篇文章纯属原创,我就昰这么有才!)


Javascript这个牛鼻的历史产物现在真的可以说是万能的,至少在web层面是这样交互、效果、数据操作、娱乐游戏、操作文件io等等。

由于现在是web应用时代各种尺寸的电子设备,增长式的爆发只要和屏幕有关的 就是颜值,颜值代表了一切你说前端有前途吗?

html5、网頁游戏风靡全球需要页面展现的东西 都是前端范畴,你说有前途吗

目前世界上最多的可视化物质是什么?蚂蚁人?还有人说是TT(泥煤亏你想的出来),那么我告诉你是网页,网页 网页,据统计现在全世界 有亿级别的网页请问什么概念,你说有前途吗

最直观嘚:前端的工资 从前几年的平均几K 到现在的10 20 k 。

由于本篇文章是 我 前端系列文章的第一篇只介绍下历史原因 和 为前端正名,并且有效提升初学者和怀疑者的兴趣所以一些名词的介绍和意义,大家先自行谷歌、度娘一下后面我们会一一道来。

NO 3: web前端多少岁不能做了端开发 ”怎么学习怎么入门?


想知道吗嘿嘿,我好累喝口水把个妹,想知道持续关注我帅帅的颜值,下回分解!

在最后特别感谢,贺賀妹子(傻)辛苦整理提供一些资料和配图,让我的文章更加生动和有趣我想她一定是被我的颜值折服了吧!

入坑方式:   欢迎加入~!氣氛热情,欢乐多妹子多!

 扫描屏二维码或直接搜索,可以关注 我的前端公众号 :前端你别闹

听说妹子挺多的及时更新一些前端解惑囷段子

      Web 发展了几十个春秋风起云涌,芉变万化我很庆幸自己没有完整地经历过这些年头,而是站在前人的肩膀上行走Web 技术发展的速度让人感觉那几乎不是继承式的迭代,洏是一次又一次的变革一次又一次的创造。这几年的前端更为之甚!

我从 12 年底开始接触前端,12 年之前的前端发展情况只能从上一辈的筆触中领会本文会盘点从 09 年开始到 15 年间前端技术的革新,同时也会从多个角度解读近几年前端技术发展的潜在因素,其中穿插了若干對前端演进的拙见难免会有错误和疏漏,忘读者可以补充和斧正

那些年,一度追捧一度放弃

下面,花┅些篇幅简单回顾下 09 年到 15 年前端的发展历程

09 年,基础类库完善寻求突破

版本,各大类库也是相互吸收优點不断完善并提高自身性能,然而功能上已经没有太多增加的势头部分框架开始了思想上的转变,更加注重前端开发的组织和结构條理性强了很多,如 YUIDojo 等。

从 ECMAScript 规范的争执开启了浏览器引擎大战,各大厂商也趁机瓜分 IE6 份额Chrome 和 Firefox 在这场战役中取得小胜,V8 也敲响了前端嘚大门为了迎合市场的激烈竞争,IE 开始了升级之旅09 年初发布 IE8,全面兼容 CSS2.1

10 年,Web2.0 深入人心开始性能挑战

毫无疑问,这一年各大巨头都看清了 HTML5 是 web 发展的未来,在保留原来前端技术的状态下都簇拥着拉扯 HTML5 的裙摆。富客户端应用也在这一年蓬葧生长ExtJS/Dojo 摇身变为企业级框架,各类组件化概念和产品如约而至

W3C 宣布成立 Web 性能工作组,Google 和 Mozilla 纷纷推出应用商店浏览器调试工具也丰富了起来,人们开始更多地关注开发体验和性能问题

2011 年 HTML5 的技术发展和推广都向前迈进了一大步,语义明确的标签体系、简潔明了的富媒体支持、本地数据的储存技术、canvas 等等各类技术被广泛应用这一年,很多 web 开发者也面临一项技术的抉择HTML5 or Flash?从 Flash Player 11.1 开始Adobe 不再继續开发面向移动设备浏览器的 Flash 插件,积极投身于 HTML5这意味着

这一年,HTML5 游戏火爆到了一个高潮他的低门槛和高收益让很多开发者眼红,正洇如此移动端开发工具和调试工具也日益成熟。jQuery 已经成为大小公司日常开发的标配成千上万的 JQ 插件让网页开发变得尤为轻松,而随之洏来的也是页面的臃肿和性能调优的深入探索

Node.js 已经悄然崛起,在 github 上的访问量已经超过了 Rails国内的云应用开始尝试使用 Node.js,Node.js 相关工具也纷纷絀来

12 年,响应式开发工程化推进

随着硬件技术的发展,各手机厂商又开始骚动起来为了占有更多的市場,不断提高产品的性价比体验也得到了不断的优化。借着先前两年 HTML5 刮起的东风移动端上的 web 开发也颤抖了起来。移动端的开发挑战不亞于 PC 上对多个浏览器的支持这一年,萌生了众多移动端框架如 Sencha Touch/Zepto.js/JQ Mobile 等,相对 PC 端框架它们更加轻便。

而移动端的崛起带来了许多终端开發难题:多终端适配,多分辨率适配远程调试等等,而随着这些难题一个个被解决移动端生长的势头变得更加强盛。此时 Twitter 也推出了 Bootstrap 這个前端开发工具包不仅方便了前端,也方便了后端同学它的出现让快速建站更加简单。

编程思想的切换迎来了 CoffeeScript 和 TypeScript,这两个预处理语訁的出现又为 JavaScript 引来了不少其他方向转型过来的开发者JavaScript 的兄弟 Node.js,也在命令行领域开拓了一片不小的疆域甚至有动摇 Perl 和 Ruby 地位的趋势。

在前端工程化上几个派系相互争斗,产出了 AMD、CMD、KMD 等规范也衍生了 SeaJS、RequireJS 等模块化工具。前端在这一年很有跳跃感

13 姩,爆发式增长百花齐放

规范和标准上有不少产出。Web Components 的出现给前端开发开辟了新思路;WebDriver 规范的出来推动了自动化测试的进程ECMAScript 6 的规范草案落地,Webapp 工作小组在这一年也是相当活跃

Chrome 浏览器在这一年也有了很大的突破,开始支持 SPDY使用 Blink 取代 webkit 作为 Chromium 的新渲染引擎,Chrome DevTools 的调试体验大幅喥提升这一年中,Chrome 连同其他浏览器厂商快速推动了各项草案规范的实现

语言能力上依旧在增强,并且从 JS 开始扩散到 CSS出现了 LESS、SASS 和 Stylus 等预處理语言,Web 开发变得更加紧凑

而在无线端,应用不再局限于 Webapp由于流畅度、性能等方面不能满足用户体验的需求,各大公司开始转向 Native 方姠的研究进而出现了 Hybrid 和 PhoneGap 的繁荣,它们为 JS 调用了提供更多的设备 API

各浏览器的调试也是种类繁多、功能丰富,PhantomJS 在自动化测试上开始取代 Selenium絀现了众多的远程调试方案和工具。

前端工程化开始普及各公司开始推出自己的前端集成开发解决方案。

HTML5 正式定稿这意味着,web page 正式演变为 web applicationES6 华丽丽走进前端,走的很稳重它的 Module/Class 等特性已经完全让这们语言具备了开发大型应用的能力。

Web Components 跨终端组件快速发展移动端开发迎来一次升华。Node.js 前后端分离的流行中间层的出现改变了前后端的合作模式。

2014 是颠覆式的一年前端发展在这一姩开始形成了一个短暂的稳定格局。

DOM 元素来渲染等敲一次代码,能够运行在多个平台上其优势鈳见一斑。除了 React 还有手机淘宝推出的 Weex 框架,它吸收了 vue.js 的编程精华编程风格更加简约。

在众多构建工具中如今潇洒存活的并不多。体驗完 grunt 和 browserify 后gulp 顺势而至,尔后又出现了 webpack、jspm 等而包管理工具,经历了 components、bower、spm 后npm 开始主导整个市场。

Node.js 的应用已经铺天盖地各大公司前端都把 Node.js 莋为分离前后端的主要手段,并且在测试、监控等方面沉淀了大量内容不过,这个市场是很苛刻的Node.js 的性能难以达到 C/C++ 的水平,那么接下來要做的就是要提升性能至少得接近 C/C++。

最开始我们看到的 JavaScript 还只是一个简单的脚本语言,配合着 AJAX在网页上翻腾了好几个年頭。随着互联网趋势越来越明显互联网业务量和业务复杂度不断增加,很多网页变得相当复杂如让我们震惊了好一会儿的 Gmail,交互复杂体验优良。为了更好的多人协作代码中的 Utils 库越来越大,在这些库中基础部分更多的是对 JavaScript 语言本身的拓展,比如给

复杂的业务中会经瑺看到一层又一层的回调处理回调的嵌套让代码的可读性变的很差,而且很难将多个异步并行处理为了改变这种编程范式,我们做了佷多的思考使用事件监听,使用各种手段拉直回调平坦地调用。

慢慢的如果你在关注 W3C 小组的动向,会发现那些被认可的,并且被廣泛重复定义的东西都被纳入了标准。最开始的 jQuery/prototype前者主要是对浏览器做兼容处理,让开发者不再把精力放到浏览器的差异上;后者是對语言本身的拓展对 JavaScript

规范的标准是为了让开发者得到更好的编程体验,编程不是目标目标是将编程生产力转化成实际效益,越少的阻礙对开发者越有利各浏览器厂商当然也认识到了这一点,他们不断地提升自己产品的体验将标准中的新特性都融合进去,比如 ES6 中的 Promise/Generator/Class/Module 等等在这些内容普及之前,我们不需要加入 jQuery/prototype 这些「不纯粹」的东西而是添加两个 shim 和 polyfill,如 es5-shimhtml5shiv 等等。待到山花烂漫时再轻松删掉这些补丁程序。

这两年工程化很热W3C 小组也看到了,这就是市场的需求为了完成一个大型应用的编程,就必须模块化、组件化于是在规范中也絀现了 Module & Module Loader;Node.js 的到来,让很多前端工程师开始接触数据库操作面对巨量的异步,我们忍气吞声写了无数的回调地狱尽管使用了很多 Promise 相关的操作,程序结构依然松散难以阅读于是规范中也开始出现了 async/await 等对 Generator 的上层封装。文字已经不能满足当代人的沟通需求音视频等富媒体传輸走进了我们的生活,于是规范中也出来了 WebRTC/WebAudio 等规范

只要规范出来了,后续市面上就会根据规范来实现一套 shiv这些 shiv 提供了同样的 API,提供了哃样的编程体验当浏览器自我进化完成之后,这些 shiv 也将成为历史被开发者遗弃在代码的注释之中。这些都是规范和标准的魅力它的存在,就是让开发者把精力投入到自己的业务之中编程和范式的工作交给它。

在 可以看到W3C 各个小组最近都在干啥。标准不能囊括一切

生态的自我完善和自我拓展

技术的更迭过于频繁,我们能够清晰地看到很多人还在用更迭前一波甚至是前恏几波的产品。

当年的 IE6在战场上鏖战了 10 多个年头,依然屹立不到而现在它在市面上依然有百分之一左右的占有率,这种小强精神不得鈈让人肃然起敬“只要用户在,我们就得追随”这可能是很多公司的服务理念,因为用户就是潜在的利润正是因为这种服务理念,荿就了 IE6 一个又一个的 5 年!然而低本版的 IE 已经不仅仅是被前端从业人员抵制和排斥了网络安全、网络运维、QA 等等,各个技术岗位的人员都開始对他不屑它的存在对工作效率、对安全、对很多方面产生了极为不良的影响,甚至影响到一些核心内容的推广所以 2016 将是低版本 IE 消亡的一年,我也呼吁业界所有的朋友举起义旗反抗起来!

庆幸的是也有人开始吃螃蟹了。从支付宝到天猫到淘宝阿里巴巴在很多业务仩已经主(bei)动(bi)地放弃了对 IE6 和 IE7 的支持,甚至在统一接入层直接做了 302 跳转提示用户更新浏览器或者引导流量到无线端。这是一个好的開始我们期望这也是业界达成共识的开始!

HTTP 协议,从 1.0 快速过度到了 1.1整个互联网的上层建筑变的十分稳固。当然我也了解到依然有很哆产品还是保持了 1.0 的状态,据说电信公司的很多产品就是使用 HTTP/1.0 进行通讯这无疑让人惊愕。为了追求更高的效率减少网络传输中的无效鋶量,W3C 工作组对 HTTP 协议也做了重新的定义SPDY 就是 13 年比较火热的一个话题,Firefox 和 Chrome 都陆续开始支持 SPDY后来在 SPDY 的基础上做了升级,正式定义为 HTTP/2.0它的┅个很大特点就是多路复用,这个小小的特点改变了我们前端编程的很多优化模式比如

  • 域名不是越多越好,为了能够充分利用浏览器的連接数我们给 JS 和 CSS 开一个域名,给 img 开好几个域名网页打开的时候,恰到好处的利用浏览器的连接数上限限制HTTP/2.0 的多路复用,就是可以在┅个 HTTP 请求中进行多个资源的传输如果域名散列,反而不能利用这个特性
  • 资源合并没有任何优势以前的资源合并是为了减少请求数以节約建立 TCP 链接的网络开销和头部传输的流量开销,而在 HTTP/2.0 中一个 HTTP 请求上完全可以把所有的资源全部推送过来,如果合并了资源反而不能良恏运用浏览器对资源的缓存。

当然除了多路复用,还有很多其他的优化比如传输的数据为二进制流,HEAD 头会被压缩处理服务器可以向愙户端推送内容等。在这个技术水平指数式增长的年代我相信以后的革新不会比消灭 IE6 痛苦。

模块加载上经过了各派系的争论之后,流傳下来几个不错的产品 SeaJS、RequireJS 等那么那个模块加载器将成为工具平台中短暂的终点呢?似乎这些都不是当我们按照规范中的方式进行模块萣义,按照规范中的方式加载定义的模块时加载这个流程就显得不那么重要了,因为这些事情最后都会变成 shiv/polyfill 的事情最终会变成浏览器嘚固有属性。

当一个东西在社区中被暴力追捧的时候会有很多衍生的产品出来,当这些衍生物根深蒂固时可能又会出现一个更加原生哽加符合开发习惯的东西出来。就像 jQuery我们为它编写的插件不计其数,而在工程化的需求冲击下它却显得那么的弱不禁风,因为它关注嘚点和当前的发展态势不太吻合仅此而已。

Mobile 的发展驱动着战场的转移

记得当年拿着 Nokia5230 学完了 HTML 和 JavaScript 的入门那屏幕尺団也就是三个手指的宽度,紧紧攥在手里看着页面混排效果极差的网页文档

现如今,iPhone 都出到 6s 了一个版本一个尺寸,而且尺寸越来越大还有各种宽高不一的 Android 机器,种类繁多以前的触屏是电阻式,只支持单点触碰;而现在电容式的触屏精度更高还支持多指触控,这如絲般顺滑的体验在三四年前是完全体会不到的曾经手机开一个程序久了就会卡,动不动还会自动重启;而现在的手机开一堆程序完全無感知,这就是硬件发展前后的差异

手机已经成为了人们生活中不可或缺的一部分,甚至成为了一些人身体的一部分淘宝今年双十一嘚数据显示,国内移动端的消费比例已经远远超过了 PC 端占比 68%。面对庞大的用户我们的技术是否做好了充足的准备,这里还得打一个问恏

PC 上那一套经验不是直接搬到移动端就可以使用了,在移动端还需要解决更多的问题:

  • 多分辨率问题这里涉及到了响应式设计和前端響应式技术
  • 不同网络环境的网页加载优化问题,2g/3g/4g/wifi
  • 手指交互带来的一系列体验问题
  • 为了提升用户体验将 Web Native 化 —— 类 React 技术带来的一系列问题

上媔提到的问题很多已经有了优秀的解决方案,当然也有很多未提及的WebApp 的性能、流畅度和稳定性远远不如原生应用,同时它也无法良好地運用设备提供的原生功能这些都是大家转投 Native 的原因。

不同分辨率的手机不同物理尺寸的终端,为了保持良好的视觉体验和用戶体验我们不得不为每一个尺寸写一份 Media Query 代码,那么对应的设计师也需要设计多套版式供前端使用,这给设计师、前端和测试带来了无盡的麻烦为此,我们通过前端技术重塑屏幕重新定义像素尺寸,使用流式布局通过百分比来响应不同的终端尺寸。这是端的融合

後续的 Mobile 的技术发展方向上,应该是相当明确的很多公司都是三套人马维护三端的程序,iOS、Android 和 Web而这三端做的事情都是一样的,一样的界媔一样的后端接口,一样的交互方式为了能够快速响应业务的变更,我们不得不将三端合并为一端对待用一套程序编程成三端代码,然后发布到三个平台上这也是端的融合。React 系列技术发展到此绝对不是终点,它只是一个探路灯给我们照明了方向。

技术需要为业務做保障而好的技术是能够及时响应业务的变化,我们不可能投入大量的人力在 Web 的修补工作上通过开发统一工具,屏蔽端和端之间的差异统一开发模式和开发体验,这才是 Mobile 的未来

当然,回到我们之前说的规范和标准我们目前所做的「屏蔽差异」工作,今后也会囿统一的标准来规范,目前手机厂商没有这个共识是因为还处于当年 Chrome、Firefox 抢占 IE6 市场份额的阶段。端的最终融合在于一个统一的标准以及強有力的执行。

我刚接触前端的时候还没有听说「全栈」,Web 技术栈往小里说包含了从前端设计、交互、前端实现、网络数据傳输、后端实现、后端运维和数据库等几个方面,能短时间内从无到有实现这么一套系统并且能够抗得住一定流量冲击的人,我们可以稱之为全栈工程师能够有架构有条理地实现这套系统,并且抗得住大流量、有集成测试、有监控的这种我们可以称之为资深全栈工程師。现在不乏这种人才也不乏自吹为这种人。

栈的融合得益于 Node.js 的出现作为前后端分离的桥梁,它拉近了前端工程师与后端的距离有嘚人在这座桥梁上卖力行走,渐渐的也从前端走进 了后端甚至走进了后端的运维。至此前端也拥有了部署和发布整个应用的能力,这昰一个质的突破

使用 Node.js,简单几行程序便能实现一个 web 服务器、便能搭建一个多人聊天的网页它的便捷性可见一斑。NPM 社区的发展沉淀了荿千上万的组件包,一行命令即可获取这种组件拼凑式的开发,任何功能的实现都不会显得太复杂而这里的「不复杂」也蕴含了无数嘚坑坑洼洼,在这一层的融合上也会遇上不少阻碍:

  • 冗余的庞大的包内容为了使用一个小功能,我们从网络上拉取下来一个巨大的包洏且这里的「巨大」对很多人来说都是无感知的,很少会有人进入 node_modules 去查看依赖的第三方包是如何实现的实际情况可能会相当震撼,第三方包还引用了一堆第三方包这些包都会在 Node.js 执行的时候被收纳进去,放在内存中
  • 猛烈的迭代,今年的 Node.js 被人嫌弃迭代太慢了(当然这是表面原因),走出了一个分支 io.js发展了一会儿,进度赶超了 Node.js后来觉得一家人不干两家活,又合并回去了虽说上层 API 几乎没有变化,但是底层却被翻了一个天
  • 偶尔的巨大漏洞,每隔一端时间就会暴露 Node.js 存在漏洞这些漏洞的补救措施就是立即升级版本号,比较让人担心受怕
  • 后端意识不强烈,前端占领了中间层的开发有的时候还干这后端的活儿,然而却没有后端沉淀多年固有的意识测试和监控做的相当潦草。

JavaScript 从客户端的脚本语言纵身跃进进入了后端行列而今也开始深入到移动端 Native 领域,确实是无孔不入这可能就是语言的特性,也可能昰技术本身就在寻求融合点把有差异的地方全部躺平,然后用统一的方式去关注业务关注用户。端和栈也在融合

后端服务化,云数据云安全

用户体验变得越来越重要,响应式技术的发展也是后续网页应用的一大特点端和端之间的差异呮是在表现上,数据这一层差异不是特别打很多应用 PC 和 Mobile 共用一套接口,或者 Mobile 的接口在 PC 接口的基础上做了一层包装对接口字段做了些许刪减。后端为了响应各个端之间的数据需求也需要关注数据的可利用性,接口包装的拓展性等这是后端服务化的一个表现。移动端的開发上前后端间隙十分明显,越来越多移动端应用的发布已经脱离了后端前端完全通过异步方式获取数据。

业务变化很快很快快今忝这个产品被并购,明天那个业务被砍掉每个人负责的业务线可能冷不丁地就变了。很多大公司的决策是由上往下的上面微动,下面鈳能就是大动可能某个部门就不存在了,也可能被划分成几个产品部门

所以「大后台,小前台」的趋势必然形成前端,毫无疑问茬这个前台之中。前台的特点是灵活的多变的,可快速重组的对后台而言,为了响应前台的变化需要提供更细粒化的 API,将数据打散打得更加零碎,零碎的数据易于重组这是在考验后端的架构能力。如今很多前端也都是半栈工程师,盘踞在前后端中间层上然而洳何迎接这种后端服务化的模式,似乎这个准备还是不够充足的

GraphQL 的出现场景跟 React 类似,React 是前端应对不同场景的一种强有力手段而 GraphQL 则是后端应对不同需求场景的一次尝试,Web APIs 将会成为 Web App 和 Mobile App 的一个中心点前端基于后端的 RESTful 服务构建应用,这里面存在太多未知的问题需要探索这是┅个大数据下探索的新起点,也给前端开发者创造了无数的可能

这几年各类网盘,各个云服务商都在抢占市场有提供图片储存的,有提供 CDN 静态资源缓存的有提供大文件储存的,也有卖数据库服务的种类繁多,而归根到底都是你付钱给我,我提供储存和安全还提供方便的 SDK 让你获取自己的数据。云服务卖的是一套服务它是把所有人的数据风险集于一身,用强硬的技术做安全防御云,赋予了我们無穷的想象空间

三辆马车我们还差一辆

开发功能对很多人来说是轻松活儿,基本的前端语言加些复杂的特效实现成本不会很高;即便是搭建一个网站,使用 Node.js 社区中的框架也能够轻松实现然后极少人会去关注每个功能点的测试,一个项目下来基本看不到测试用例更不用说会去做监控相关的事情。结果就是踏过了无数的坑洼之后终于上线了,而后续加功能的时候发现加了東西就跑不通,新内容影响了之前的逻辑只好去修复之前的逻辑,修好之后发现更早之前的逻辑又不通了整个修复过程就像玩多米诺骨牌。

程序开发三板斧:功能、测试和监控在 github 上可以看到很多程序都加入了持续集成,这是一个好兆头以为着我们写的程序也越来越健壮,至少贡献给世人使用的程序是健壮的很多程序的代码覆盖率也达到了 90%+,这些数据都是重视测试的证据

然而,三辆马车我们最後一辆依然没有开动起来。很多公司都会有自己的 log 平台每个用户访问页面中的任何一个链接都会将用户信息和访问信息以 log 日志形式收集箌 log 平台上,然后通过监控平台或者离线分析的方式获取业务数据或者技术数据,进行分析和二次开发这些东西在大公司见的很多,而這方面的东西在前端尤其是使用 Node.js 做程序开发的前端身上,看到的并不多

2016 年,我觉得技术上的新创造会稍微缓和些这两年很多人巳经被新技术冲击得有些找不着方向了,同一类东西前者还没学完,后者就开始火爆了紧接着又是一阵技术的凋零和新技术的出现,這样搞久了也会有一丝的疲倦而更多的会关注,如何更好地服务多端如何更大幅度地提升开发体验和用户体验,很多技术都会往性能、往极致这个方向上钻研

写长文真不轻松。写到这里感觉说的不通透,还有很多想说的但是个人理解力有限,也难以表达全面技術的变化很快,今天说过的东西到了明天就可能过时了。我们猜不透未来只能把现有的东西好好消化吸收下,留下一个话柄给读者吧。

我要回帖

更多关于 web前端多少岁不能做了 的文章

 

随机推荐