从可编程到跨终端的Web

标签: HTML & CSS UX & Usability 设计 qcon WEB | 发表时间:2013-01-29 17:21 | 作者:秦歌
出处:http://dancewithnet.com

“跨终端的Web”是我为 QConbeijing2013的前端专题定的主题。我在infoQ中文站发表了 《从可编程到跨终端——QCon北京2013“跨终端的Web”专题出品人专访》中比较详细的解释了为什么,现在转一份过来,欢迎探讨。同时, 今天在Twitter上发布征集讲师送价值4200元的门票一张的消息,欢迎自荐或推荐。1)优先送给选上讲师所对应的推荐者,2)如果没有讲师被选上,会送给第一个提交正式主题大纲的讲师所对应的推荐者

  1. InfoQ:能否先简单谈谈您在Web编程这个领域的从业经验,和您对此领域的理解?

    我的经验最早从大学开始,领导一个学生团队负责学生网站,虽然这并不是一个商业站点,但运营、设计、前后端开发的分工协作已经有了雏形。

    2005年毕业后,在网易北京做UI Designer,交互、设计和前端开发都做,那时Web标准和Ajax刚刚盛行,我的重点开始集中在Web前端开发领域,理解到对Web编程而言,标准是最低要求,Ajax只是一种前后端的数据交换方式,重点是如何基于它们构建解决业务问题的程序。

    2007年加入了中国雅虎,这段时间让我充分地深入了Web前端开发的实践和理念,包括JavaScript库和框架设计与开发、Web App的模块和组装、静态文件的部署和CDN的发布、API服务层和前后端分离与协作。那时最重要的工作就是设计并开发了“NCP-站长天下”的前端架构,它一个开放的Web App平台,其核心是Web App模块的定义、组装和发布机制。这个项目后来失败了,留下的火种演化为淘宝旺铺的前身。

    再后来到了口碑网,从负责前端开始一直到整个UED,这期间最重要的事情就是完整地实践了企业级前端架构,包括Web架构和JavaScript框架引用与升级机制、静态文件规则和发布机制、静态配置文件的引用和升级机制、以及与其相对的自动化工具。

    之后,在阿里云OS负责内容运营,从BD、运营、PD、UED、一直负责到相关业务的后端开发,这段时间除了对手机操作系统和生态有了深刻认识外,也对Web OS和Mobile Web有了深入的探索和实践。

    去年底开始负责天猫前端,现在电子商务正处于B2C的快速壮大和C2B的兴起,而移动正在成为互联网的主流,所以我现在的目标是构建一个跨终端的前端架构使其能够低成本高效率地让所有用户享受到无处不在的天猫体验。 在我看来,Web编程就是基于Web把UI设计和数据结合起来构建人机交互环境并发布到互联网上的迭代过程。

  2. InfoQ:Web编程与前端开发的关系是怎样的?

    Web是互联网的一部分,但由于互联网绝大部分内容都是通过Web呈现的,所以很多人把万维网(world wide web)当成了互联网。同样,前端开发指的互联网产品的UI和数据结合构建人机交互环境的开发过程,从MVC的角度来说,前端开发包括View层和与之相关的Control层。所以,前端开发是基于互联网来说的,Web编程是基于Web来说的,只是Web占有量太大,很多场合会把两者等同起来。
    准确来讲,前端开发不应该局限于Web编程,各种客户端也有前端开发,只是前端部分不是由专门的前端开发工程师来做。Web编程不应该局限于HTML、CSS、JavaScript,服务端构建View层的PHP、模板语言等都属于Web编程。但在实际交流和分享过程中,iOS客户端的前端开发会归于iOS的开发,PHP、Java等语言的前端开发会淹没于后端开发的探讨中,这也是前端开发总是探讨HTML、CSS、JavaScript的原因,但随着Nodejs的发展、各种前端工具的兴起和前后端分离的深入,前端开发也越来越会从解决互联网产品的实际问题出发,不再单单是HTML、CSS和JavaScript等技术。

  3. InfoQ: HTML5和Javascript语言在此领域扮演者什么样的角色?

    HTML和HTTP的出现才标识Web的诞生和繁荣,而JavaScript和Ajax使Web在2005年迎来第二春。HTML、CSS和JavaScript是Web编程的基石,也是Web能够如此盛行的原因。由于Web的盛行才导致HTML、CSS、JavaScript在前端编程中占据统治地位。Web不是互联网的全部,同样HTML、CSS、JavaScript也不是前端开发的全部,而是至关重要的部分,只有和整个互联网生态的其他技术有效地融合才会更强大。

  4. InfoQ:这个专题的名称从往届QCon中“可编程的Web”变成了“跨平台的Web”,为什么会有这样的变化?

    上一届QConHangzhou的前端主题是“可编程的Web”,当时Mobile Client Application大行其道让某些人担心”Web is Dead?”,而实际情况是,新一轮的浏览器大战如火如荼,HTML5继续在理想和现实中挣扎前行,JavaScript从Web走到了Server(NodeJS),Mobile Client Application越来越多地mushup Web Application,Web Sites开始提供各种各样能解决实际问题的API,Web越来越强大的可编程性使其正发展成为互联网操作系统。
    而今天,Mobile Client App依旧如日中天,但没有人再担心”Web is Dead”,反而因为多种操作系统、无数种屏幕尺寸和使用场景成为移动互联网的新挑战。大热门业务和大公司可以不考虑成本为不同的终端不同的设备构建各种客户端产品,但Web的通用性、低成本和快速发布显示了巨大优势,这就是为什么 大量类似TIME杂志的网站都已经使用Web的响应式设计来解决跨终端的问题,这也是为什么本期QCon主题要讨论“跨终端的Web”的初衷。

  5. InfoQ:现在各个移动平台对WebApp均提供了不留余力的支持。有为Web而生的WebOS,FirefoxOS,近日Ubuntu也发布了最新的OS系统,Android,WindowsPhone和iOS更在尽全力再提高HTML5的支持度与Javascript的运行效率。为什么会有如此繁荣的市场?

    去年QConhangzhou 2012时,我曾说过“Web越来越强大的可编程性使其正发展成为互联网操作系统”,这个真正有点WebOS的味道,因为这是基于互联网管理资源的一种方式,现在已经显示巨大的能力和生命力。但今天的终端操作系统不仅要管理软件,更要管理硬件,这都不是JavaScript擅长的,这就是为什么所有基于HTML5 + JavaScript的WebOS都不会成功,因为不可能短时间内解决操作硬件的性能问题和构建大型绚丽的游戏。硬件就应该交给底层语言去解决,所以短时间内WebOS肯定不可能成功,但基于操作系统使用Web App来管理互联网资源,这正是Web所擅长的且能够跨平台的,这就是为什么今天会受到如此重视的原因,虽然目前还不够繁荣,或许在明年这时就另一个世界了。

  6. InfoQ:但也有人认为,在web端,html5是100%晴天,在移动端则不然。Facebook在这一年里彻底放弃了移动平台上的HTML5应用。您怎么看这一点?

    今天移动端的用户规模已经超过了桌面端,但经济规模还差的很远,所以整个移动互联网还属于投资阶段,不计成本地投入导致了客户端如此火热,另外Mobile Web也没有完全准备好,比如移动端的网络稳定性、离线处理方案和性能,但随着基础设施的发展和对投入产出比的考量,跨终端的Web才是绝大部分互联网场景下的最合适选择。另外,Facebook也没有彻底放弃了移动平台上的HTML5应用,只是认为现阶段使用Native App是一个更快的实现较好体验的解决方案,两者会齐头并进。

  7. InfoQ:无论在桌面端还是移动端,NativeApp与WebApp永远是大家争论的焦点。您如何看待两者的选择和取舍?

    Native App 和Web App只是解决人机交互环境问题的两种方案,不是竞争对手,而是互补关系,选择哪个需要看使用场景、体验和成本。现在属于移动互联网的投资期和狂热起,所以大家基本上更关注使用场景和体验,而不考虑成本。
    我个人认为Web App适用于解决对网络依赖性强且需要跨终端的互联网产品,比如交易和新闻,而Native App适用于对性能、效果和流畅度要求特别高的软件产品,比如游戏和IM。整体上,我倾向于用Web App作为通用的跨终端解决方案,然后用Native App来解决大热门应用,同时两者还可以相互mashup来相互借力。

  8. InfoQ:这个领域在2012年有哪些值得记录的进展?在未来又有怎样的挑战与展望?

    2012年最需要记录的3件事情就是“Web is Dead?”的讨论、“Facebook承认在移动平台上使用HTML5策略有误”和Win8原生支持Web App。
    前2件事情不是对Mobile Web的打击,而是使Web开发的同学们真正开始思考Mobile Web所遇到的问题和Web在移动互联网时代的价值,而第3件正预示着PC和Pad的融合,也引发了这次“跨终端Web” 的讨论。

    今天Mobile Web最大的挑战在于网络、性能和效果,而跨终端Web要改变的不仅仅是设计开发思路,更需要运营和产品以及服务端都需要从细粒度模块化的角度来思考互联网产品的每个部分。

  9. InfoQ:做为QCon中这个专题的出品人,您希望通过此专题为大家带来哪些实践经验,从而解决哪些问题?

    从跨浏览器到跨终端,Web应用造就了怎样精彩的商业案例?

    HTML + CSS + JavaScript + Web API 解决问题的能力到底有多强大?

    跨终端的Web开发会给前端开发带来怎样的挑战和变革?

您或许有兴趣:

相关 [编程 终端 web] 推荐:

从可编程到跨终端的Web

- - 随网之舞
“跨终端的Web”是我为 QConbeijing2013的前端专题定的主题. 我在infoQ中文站发表了 《从可编程到跨终端——QCon北京2013“跨终端的Web”专题出品人专访》中比较详细的解释了为什么,现在转一份过来,欢迎探讨. 同时, 今天在Twitter上发布征集讲师送价值4200元的门票一张的消息,欢迎自荐或推荐.

[译]所有编程皆为Web编程

- - 呦呦鹿鸣
原文作者:Jeff Atwood. Michael Braude对Web编程大受追捧表达了他的不屑:. 大部分人想去做Web编程的原因是,他们不够聪明,因此也做不了别的事. 他们不懂编译器、并发性、3D或类继承. 他们根本不明白我为什么要使用接口或者抽象类. 他们不理解虚函数、指针、引用、垃圾回收、终结器、传引用与传值的区别、C++的虚拟析构函数、或者C#的结构体与类之间的差别.

几种web并行化编程实现

- - CSDN博客架构设计推荐文章
    当网站做到一定规模的时候,web单个页面需要涉及到的业务也会越来越多,每个页面可能会向后端发起几个、十几个甚至几十个请求. 对于java、python之类的支持多线程的语言可以使用多线程编程,但也会增加程序的复杂性,像php这样的不支持多线程的语言只能借助其他方法实现并行,下面总结几种比较实用的并行化框架.

Table被web编程弃用的原因

- - WebHek
Table要比其它html标记占更多的字节. (延迟下载时间,占用服务器更多的流量资源. Tablle会阻挡浏览器渲染引擎的渲染顺序. (会延迟页面的生成速度,让用户等待更久的时间. Table里显示图片时需要你把单个、有逻辑性的图片切成多个图. (增加设计的复杂度,增加页面加载时间,增加HTTP会话数.

使用 Dojo Mobile 为 iOS 智能终端开发 Native-like Web 应用

- jiaosq - IBM developerWorks 中国 : 文档库
随着 iOS 智能终端的流行,基于 iOS 开发 Native-like Web 应用变得越来越流行. 本文着重介绍基于 Dojo Mobile 开发 Native-like Web 应用的方法,并分享一些开发经验和技巧.

Web编程语言和脚本语言的就业趋势

- Joji - ITeye资讯频道
八月是一个值得关注工作趋势的月份,今天,我们来重点关注web编程语言和脚本语言的就业趋势. 您可能很想知道我所指的“web编程语言和脚本语言”到底是什么. 本文中我列举了Ruby、Python、PHP、JavaScript、Flex 以及 Groovy等编程语言. 我在这里并没有提及Rails,是因为我想尽量将开发框架和开发语言区分开.

谷歌宣布推出新的Web编程语言——Dart

- Johnny - ITeye资讯频道
据著名科技网站ExtremeTech的报道,谷歌编程新语言Dart逐渐浮出水面,它是一种“结构化的Web编程”语言. 早在几天前谷歌就已着手注册了一系列与Dart相关的域名,当时也引发了沸沸扬扬的猜测. 此前,Google还向美国专利与商标局提交了名为“SPOT”的商标注册,也引发了Spot为Google的新的编程语言的猜测.

热点争议:Web设计师需要编程知识吗?

- - Web App Trend
Web设计师是否应该学习编写代码是个充满争议的问题. 通常,在完成了一件网页设计后他们把创建网页代码的繁重工作都留给了程序员们. 这种现象不只出现在网络开发行业,在软件及游戏开发业也是如此.  在本篇文章中,作者 Deepu Balan 和大家分享了一些为什么Web设计师需要学习编写代码的理由,这会使广大的Web设计师们受益匪浅.

采访:关于 Go 语言和《Go Web编程》

- - 开源中国社区最新新闻
最近,在网上出现了一本名为《Go Web编程》的书籍,里面详细地讲述了使用Go语言进行Web编程的各个方面. 很特别的是,这本书是在GitHub上以开源的方式撰写的. 日前,InfoQ采访了这本书的作者谢孟军先生,请他来和大家谈谈Go语言以及他撰写的开源书籍. InfoQ:请您先简单和大家介绍一下自己.

web前端研发工程师编程能力成长之路 [转]

- han - 博客园-首页原创精华区
如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧;. 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧;. 如果你是四五年的前端开发高手,没有难题能难得住你的寂寞高手,来看这篇文章吧;. WEB前端研发工程师,在国内是一个朝阳职业,自07-08年正式有这个职业以来,也不过三四年的时间.