自从互联网诞生之日起,JavaScript就成为统治web前端开发的通用语言,并在web开发人员群体中得到了广泛使用。不过,JavaScript也是互联网历史上最受误解的语言,曾经的JavaScript因其复杂的文档对象模型和糟糕的实现及调试过程,一度被很多Web开发人员所诅咒。但随着Ajax技术的兴起,这个一度被误解的语言,逐渐受到了开发者们的重视,而且越来越多的通用JavaScript库被开源出来,为开发丰富的交互式web应用程度,提供了切实有效的帮助。
2011年4月16日,以“JavaScript库的设计与应用”为主题的第十三期百度技术沙龙在京仪大酒店二层举办。由于JavaScript语言近年来在开发者群体中呼声很高,且在web前台应用开发中占有不可忽视的地位,因此,此次技术沙龙报名者众多,甚至有长春网友专程赶来。沙龙上,来自百度的高级工程师,前端通用组技术负责人雷志兴及去哪儿网前端高级架构师兼前端组负责人胡金埔就JavaScript库的设计与应用进行了专题演讲。
雷志兴讲解Tangram
长期致力于百度前端基础性技术的研究和推广的雷志兴主讲了“百度前端的七巧板Tangram JavaScript库的设计和性能优化经验”。他表示,百度在Web前端库的开发上也走过了几个重要阶段,最初前端开发处于蛮荒年代,没有Javascript库的积累,仅在部门wiki中存在一些函数积累,而后web应用开发走向复杂化、需求多样化,为了提高开发效率,通用的模块化Javascript库逐渐成型,这也是Tangram类库的前身,2010年10月,Tangram类库正式对外开放,走向开源模式,包括DOM操作、ajax等功能基础库,和包含大量可重用的ui控件以及动画效果等的组件库,为互联网行业前端架构设计和应用开发提供了捷径。
雷志兴还为web应用开发人员提了一个建议:一个良好设计的、适合自身产品的JavaScript基础库,能让一线工程师从繁重的基础问题中解放出来,将更多的精力用于优化业务逻辑和产品体验,从而提高研发效率。但这并非意味着所有公司都一味地采用通用开源的JavaScript库,因为业务特点和需求的不同,不同的公司所需要的JavaScript库的内容也不一样。从长期发展来看,针对自己公司业务的特点,设计最适合自己的JavaScript库才能够达到事半功倍的效果。
去哪儿前端组负责人胡金埔分享了去哪儿网JavaScript库的模块化之路和实践经验,他表示,去哪儿网在过去的产品快速发展过程中,也使用了多种优秀的JavaScript开源框架,但因为缺乏合理的控制,导致一些老代码的维护工作相当繁重。为了解决类库之间的兼容性问题,提高代码的可重用性,规范已有的前端代码,并实现自动化测试,去哪儿网前端团队制作了module.js和qtest。
一位参会的开发者表示,近几年来,JavaScript库的应用日益广泛,一个适用面广、高度模块化的Javascript库,可以大幅提升前端web应用开发效率,但同时也面临着一些问题,比如模块、组件调用所带来的代码冗余,如果库体积精简,二次开发量就大,两难的瓶颈表现最为明显。在技术沙龙的OpenSpace环节,现场气氛活跃,沟通交流顺畅,一些参会的开发人员也与专家探讨了Javascript开发方面所遇到的困惑和不解,得到了完美的解决之道。
百度技术沙龙相关负责人表示,百度技术沙龙是面向互联网技术人员完全开放的交流活动,每期甄选热门技术话题,邀请资深技术专家讲解技术趋势,分享实践经验。“百度与InfoQ合作这样一个开放的平台,为大家提供畅想、交流、争鸣、聚会的空间,希望通过鼓励分享、开放来促进中国互联网整体技术水平的提升。”