相比于iOS和Android,Web前端对技术的需求度确实要高出很多。web和小程序前端的未来又在什么地方呢?iOS和Android是为移动端量身定做的系统,移动端的局限性本身就决定了它很难作为主要的生产力工具。虽然这些年有很多移动端App致力于将手机变成生产力工具,但诚实地讲,如果自然语言或者其他更先进的人机交互方式不出现,移动设备很难成为“名副其实”的生产力工具。“PC已死论”、“微软已亡论”流传了好多年,可无论是PC还是微软现在都活得很好。这其中一个原因还是在于人类不能只消费,还需要生产,而PC作为信息化社会的主要生产力工具,这是移动端无可替代的。
我们在移动端更多的时候是去用眼睛“看”,而我们在PC端更多的是用手去“操作”。从信息的角度讲,移动端主要负责信息的输出,而PC端主要负责信息的输入。有过开发经验的朋友应该体会到,相对于纯粹的显示,有“输入”操作的应用开发难度和开发成本是要高很多的。目前市场上对于iOS和Android开发者的需求量已经接近饱和了,而Web前端由于其本身的特性,优秀的开发者相对偏少,市场的需求量是巨大的。即使一个公司的产品以App为主,也不可能缺少Web前端开发者:
我们之前讲过,混合式App是现在的主流App,一个App很难只用Objective-C或者Java来开发,必然会有Web技术介入。你只看几乎所有应用都有“分享到微信、QQ、微博”(分享的内容大多数都是一个网页)等功能就知道,Web技术是必不可或缺的。大多数移动端应用也都有一个对应的Web网站。
现在的公司做营销和推广都离不开微信,无论是H5页面还是做微信服务号、企业号都是纯粹的Web技术。在小程序推出之前,Web技术在移动端时代更像是一个“黏合剂”,无处不在却又不能够独立地承担移动端的开发。Web技术和Web开发者一直处于移动时代的边缘,不能没有它们,却也无法自成一体。但以React为代表的React Native和微信小程序的出现,给了Web开发者希望。虽然在性能体验上依然不及原生应用,但已经相当地接近了。Web开发者终于可以在主流的移动平台中占据一席之地了。
笔者常常惊叹于JavaScript顽强的生命力,作为最早的浏览器交互语言,当初仅仅被当作一个玩具。这个玩具却经历了漫长的Web时代代,抗住了Adobe的Flex和微软Silverlight这些所谓“富客户端应用程序”技术的猛烈攻势,不仅在移动端时代没有消亡,反而“溜到”了“后台”,以NodeJS的形式开始了自己的服务器之旅,现在又不“甘心”蜗居在Web的两端(浏览器和服务器),反而以混合式的技术形态强攻移动端。这个被Brendan Eich用了10天设计出来的脚本语言,以惊人的生命力横贯Web和移动时代,甚至还可以以“寄宿”的方式成为一个桌面应用程序。JavaScript在很长一段时间,由于设计时间太短,细节考虑的不够严谨,导致JavaScript都是“程序混乱”的代名词,但即使这样,也无法阻挡它前进的脚步。
随着ES2015的普及,JavaScript变得更加完善与强大。而现在Web前端的发展呈现出的是一种百花齐放的姿态,发展与更新速度远超服务器技术的更迭速度。好事还是坏事,大家各抒己见,没有定论。但有一点可以确定,Web前端开发将是一个非常具有挑战和想象力的工作,如果你刚好走在前端开发的路上,那么恭喜你,你正行走于时代的技术浪潮上。