对JavaScript开发中困扰的思考
Web项目大大小小也做过十几个了,JavaScript代友也写了上万行。发现在前端开发上,大家都没有统一的想法。首先是框架选择,现在看来,除了那种只有几个页面的小网站,毫无疑问应该以JQuery这样的成熟框架为主,自己写的扩展为辅。很多项目负责人不想用JQuery,可能网站连GZip不支持或者不设置,现在都什么年代了?再者尽管掌握很容易,毕竟要学习,一谈到学习很多Senior人士就不玩了。
JQuery本身也有问题,所有功能都在一个文件里,其实可以分成几个小一点文件,就像命名空间一样划分。再者更新太快,浏览器甚至JS核心想嵌入它,还是很遥远的事。
JavaScript也没有太好的开发平台,用来教新手入门很方便,代码一多,就觉得乱得不得了。大家越用越不爽,一些复杂的效果,其实JavaScript完全做得来,也被Flash,将来还有SilverLight抢走了。HTML5标准快出台了,我曾预测会很大程度上代替Flash甚至SilverLight。但现在看来,JavaScript在开发上的弱点会制约HTML5的新特性的应用,也会严重影响HTML5的普及。在HTML5下,能做的事情就更多了,但编写起来应该会更不爽,结果Flash和SilverLight活得更滋润(这两个互掐就不算了),各自的语言、框架、IDE、粉丝一个不少,Web前端开发延续分裂格局。
除非,JavaScript自己改变,既能解释执行又能编译执行,定义类型可动态,又可静态,这点很重要,这样才能进行类型推断,智能提示,微软也好,开源方也好才有兴趣做真正为JavaScript量身打造的IDE。对语言模式、规范的研究将为JS语言注入新的活力。但这变化太革命性,没可行性,这么多浏览器,这么多厂商,怎么一致,谁能协调的了。除非有革命性的事件,上文说了,就是浏览器取代操作系统,桌面变成页面,这虽然有可能,但太遥远。
何况将来桌面变成页面,未必就是HTML,我看更可能是RIA。但Flash没这雄心,乔布斯说Adobe的人太懒得变化,又不开源。JavaFx太嫩了,Sun公司又被吞并了,未来没妈的孩子-苦。SilverLight同样嫩,出身太硬,有贼心有贼胆。尽管现在Flash还占绝对优势,不过一旦时势有变,RIA应用进入桌面,只见银光洒满天。
若微软强势逆推SilverLight,是因早已预见到这一天,那就更有点可怕了。
回过来说JavaScript,可以预见,它在编程语言榜第十的地位,它的生态环境短期内不会有什么变化。JS执行的速度越来越快,开发中的困扰依旧。
当然,您要是精通JavaScript,也是很令人佩服的,薪水应该也不会低。然而比起C/PHP/Java/C#这些语言说,只写前端,真得是比较没前途。所以,我也没动力向精通的门槛迈进了,所以继续接受困扰,快习惯了,趁习惯麻木前记录下来,不然以后连思考都没了。
谨慎地决定要学SilverLight。