云适配陈本峰谈前端:移动端浏览器很快就会赶上 PC 浏览器

  • 杨赛

2013 年 8 月 27 日

话题:JavaScriptHTML5Node.js语言 & 开发前端

最近几年,社区中有关前端的讨论越来越多,尤其是 HTML5 和 JavaScript,在技术成熟度和影响力方面有着极大的发展。对于日益重要的前端工作,很多开发者也有很多不同的看法。近日,InfoQ 将一些开发者们谈到的问题收集起来,向一些业内专家了解他们对这些问题的看法。

今天,我们邀请到了云适配创始人兼 CEO 陈本峰来分享他的观点。

嘉宾简介:陈本峰,云适配创始人兼 CEO,W3C 中国区 HTML5 布道官,原微软核心工程师。

InfoQ:我们看到,这几年有一个趋势,就是大量原本在服务器端的工作——尤其是展现层的工作——被转移到了前端,由浏览器来处理了。HTML5 不仅是 HTML 语言 +CSS+JS,还包括了离线存储、应用缓存、文件系统等大量原本操作系统才能享受到的资源。对于这样一个趋势,您是怎样看的?您觉得这个趋势背后的推动力是什么?

陈本峰:我同意你的说法,把越来越多的业务逻辑转移到前端已经成为一种趋势。我觉得原因主要有以下几点:第一是浏览器的性能越来越好了,今天的 Javascript 引擎的性能相对以前有百倍以上提升,而且各大浏览器厂商在搞速度竞赛,极大程度推动了 Javascript 引擎技术发展;第二个是 HTML5 赋予了前端越来越来强的能力,使得前端的表现能力越来越强;第三是越来越多的 Javascript 框架涌现出来,比如 jQuery、Backbone、 AngularJS 等等, 使开发效率大幅度提升;第四是越来越多的开发人员投入到前端技术领域中。早期的时候开发者并不太看好 javascript ,但是现在大家逐渐发现 Javascript 了的诸多优点,加上 Node.js 的出现使得 JS 进入了后端领域,业界对 Javascript 的关注度大幅提升。GitHub 上最热门的一些开源项目大部分都和前端有关,证明了前端技术的光明前景。

InfoQ:由于前端被赋予了更多权限,前端的责任也变重了,只会玩几个框架是无法满足新的业务需求的。您建议现在的前端在哪些方面去进行积累?无论是语言、工具、框架、思维方式,还是其他任何方向,都可以谈谈。

陈本峰:前端的业务开发框架虽然有不少,但是都还比较新,比如 backbone.js 、Ember.js 、Angular.js 等。业内也还未形成成熟的开发模式,能把这些新兴的框架玩好其实挺不容易的,而且他们还在不停演变中,所以我建议先深入学好这些框架,并且关注他们的设计思维以及发展方向。

InfoQ:对于 Java 开发者,可能 Eclipse 是一个常规的开发工具;对于 Ruby 开发者,可能 RoR 是首先会考虑到的一个框架。使用常规工具和框架虽然不一定在任何场景下都最优,但有很多的好处。对于前端而言,目前 jQuery、Bootstrap 算是业界非常通用了,不知道开发工具这方面现在主要用什么?

陈本峰:就开发工具而言,前端只是只需要一个轻量级的编辑器就够了, Sublime Text 是近些年国外比较流行的开发工具。最近国内数字天堂公司发布了一款新的前端开发工具叫 HBuilder,据说也不错。开发框架的话,jQuery 已经算是标配了,Boostrap 也逐渐成为界面的标配,Express.js 是后端 Node.js 的主流框架。

InfoQ:接上一个问题,现在国内的几个大互联网公司有一个情况,就是他们不用通用的 jQuery、Bootstrap 这样的工具,而是非要自己搞一套出来,这几家公司内部的工程师对此也有不少抱怨。你对于这样一个情况的看法是什么?

陈本峰:我觉得 jQuery 在国内应用挺普遍的。自己搞一套可能是有历史兼容原因,或者是有独特的业务需求,我还是比较理解的。

InfoQ:越来越重的前端在带来了好处的同时,也有另一个问题:移动端的浏览器还没有 PC 浏览器那么给力,前端写的重了,在手机上很难用起来。对于这一个问题,你建议怎样的短期处理方案和长期处理方案?

陈本峰:前端开发中有一个重要的思维叫 progressive enhancement,也就是说,你可以分成几个不同版本,针对不同的浏览器的能力推送不同版本。当然这么做的成本很高。其实手机硬件发展的速度飞快,现在浏览器的竞争也是白热化的,所以我相信移动浏览器的能力很快就会赶上 PC 浏览器,所以 HTML5 在移动端的未来前景无限。

云适配是非常专注在移动端的 HTML5 技术的,我们把企业网站在移动端转换成 HTML5 版本,而且也会根据浏览器的能力做调整,让企业可以非常简单快捷,省时省力地进入移动互联网。

之前,InfoQ 也邀请了《HTML5 移动 Web 开发实战》作者石川谈论过类似的话题。

JavaScriptHTML5Node.js语言 & 开发前端