这两天关于微信小程序的消息满天飞,很可惜没有在被邀请的名单之内,后来一看第一批内测只发了200个邀请号,一下子释怀了,我确实是不应该在名单之内。
从微信小程序一些截图的细枝末节我们基本上能确定,Html5+JavaScript会更加吃香。
那么,做为Android开发,我们应该感到紧张吗?会不会影响到我们的饭碗呢?
其时,如果你现在才意识到要紧张的话,也没有什么可紧张的了。当Node.js可用来做为后端(服务端)开发时,JavaScript一统天下的趋势就更加明显了。
凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript 来写。
——Atwood定律(Jeff Atwood在2007年提出)
JavaScript已经成为了Web开发的“标配”语言,不管你喜不喜欢,在Web开发中,必定要涉及到JavaScript,现在JavaScript又插足到后端和移动端了。从Github公布的数据来看,JavaScript再次成为最热门的开发语言。但从现实中来看,前端开发虽然人数众多,但高端的很少。我认为这和他们五花八门的开源库和框架有关,而且JavaScript语言的简洁也使得要深入撑握它变得很困难。
随着网络的发展,PC和移动设备做为个体来说越来越像一个互联网的终端接口,而网络应用(服务)的发展有单机软件无法比拟的优势,如快速的发布周期(而且用户可能都不知道有新版本发布),无需用户安装升级。
PC和移动设备的计算机功能正在弱化,而做为一个终端的话,用户希望从PC、Android或者IOS上使这些网络应用都能得到统一的体验。其实应用的开发商更希望只开发一个适配各个平台设备的版本,从而降低开发成本。
而微信小程序的推出,无疑会满足很多中小企业特别是创业公司的需求,解决他们应用开发和推广成本高、周期长的问题。
但是
对吧,得说但是了,这段时间我也试用了一下React、React Native,以及Vue.js和Weex,客观地说JavaScript确实比Java开发更加高效。但由于React Native和Weex都还有各自的问题,他们也都处于开发版本阶段(Weex刚开源没多久),要解决移动端的问题还有一段时间。
而微信小程序势必也会有一些缺点,至少开发应用时你会受到微信的限制(搞不好,还不让你上架),这也使得并不会所有的企业或者应用都会做成微信的小程序。
所以做为Android开发,面对可能危及饭碗的形势或者变化,如果无动于衷也说不过去,但惊慌失措也大可不必,我觉得工作之余可以做两件事:
理解学习透Android的机制和设计思路
Android原生的开发肯定不会马上就没有市场需求,但它对开发的要求有可能会提高,因为简单的事情可以利用JavaScript方面的框架(React Native、Weex等)来完成,高效且可以和IOS共用代码,那么剩下的就是和系统特性相关或者较复杂的的问题,需要一些对系统机制更了解并且更有经验的开发才能更好的完成。
即使以后不做Android开发,学习这些思路和理念对我们来说都是大有益处。而且,如果你做了那么多年的Android开发,连对它都不理解,你又怎么说服别人你换一个平台换一个语言会很有优势呢?深入学习一门动态脚本语言(目前来看JavaScript比较合适)
我感觉用久了静态类型的语言(如Java),如果不接触一下其他类型的语言的话,思维很容易固化,本来就是什么都能在写代码时确定,结果别人玩的都是运行时才能确认。2006年的时候,我学习过Ruby语言,不过极其不能接受变量不定义类型就使用,然后就没有深入,一直呆在Java的世界里意识不到自己的思维的僵化。
意识不到有问题才是最严重的问题,所以试着做一下改变。