HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

从可编程到跨终端——QCon 北京 2013“跨终端的 Web”专题出品人鄢学鵾专访

  • 2013-01-27
  • 本文字数:3831 字

    阅读完需:约 13 分钟

鄢学鵾,常用 ID:三七、秦歌,天猫前端团队负责人。曾在网易做过 UI Designer,领导过雅虎中国的前端团队和口碑 UED,负责过阿里云 OS 运营。 对 Web 标准、前端开发模式、性能优化和自动化有较深入的研究, 目前专注于 PC 到 Mobile 领域的设计、 技术和业务间的融合。业余时间参入过几本前端书翻译,担任 D2 前端技术论坛的顾问,并一直主持 QConBeijing 和 QConHangzhou 的前端专题。 其信仰互联网精神(自由、开放、共享、创新),努力玩转设计与技术,尽情享受趣味和创意。他的 blog 是 http://dancewithnet.com ,Twitter 是 @kavenyan

作为 QCon 北京 2013 大会跨终端的Web 出品人,鄢学鵾接受了InfoQ 的采访,以下是采访内容。

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 设计和数据结合起来构建人机交互环境并发布到互联网上的迭代过程。

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 等技术。

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

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

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 的响应式设计来解决跨终端的问题( http://mediaqueri.es ),这也是为什么本期 QCon 主题要讨论“跨终端的 Web”的初衷。

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

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

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

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

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

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

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 要改变的不仅仅是设计开发思路,更需要运营和产品以及服务端都需要从细粒度模块化的角度来思考互联网产品的每个部分。

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

鄢学鵾:

  • 从跨浏览器到跨终端,Web 应用造就了怎样精彩的商业案例?
  • HTML + CSS + JavaScript + Web API 解决问题的能力到底有多强大?
  • 跨终端的 Web 开发会给前端开发带来怎样的挑战和变革?

InfoQ:多谢三七。最后一个问题,如果不干 IT,您最想从事什么工作?

鄢学鵾:设计和开发有意思的亲子玩具,让未来的下一代在老爸亲手做的玩具陪伴下长大。

关于此次 QCon 北京的详细信息,请移步至大会官网。现在购票正处在八折折扣期,团体报名,更有其他优惠。报名请至大会报名链接。详情咨询 qcon@cn.infoq.com

2013-01-27 23:573937
用户头像

发布了 91 篇内容, 共 36.8 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Kafka两个高性价比的参数调优

我是个bug

Java 大数据 kafka

干货分享丨玩转物联网IoTDA服务系列四-智能网关

华为云开发者联盟

物联网 智能设备 应用场景 华为云 mqtt

节约60%成本!虎牙直播云端大数据是怎么做到的?

腾讯云大数据

Nginx 限流配置

Bruce Duan

nginx

Spring Boot + Vue前后端分离项目,Maven自动打包整合

xcbeyond

maven 前后端分离 springboot 部署

API接口限流

Bruce Duan

分布式限流 单体限流 限流算法

ARTS 第 5 周

乌拉里

HTTPS详解

Bruce Duan

https 对称加密 非对称加密

Linux服务器存在某进程CPU过高如何追溯其问题根源?

Nick

Java Linux centos

[POJ 1002] 487-3279 C++解题报告

一直AC一直爽

POJ ACM

Go: 通过代码学习 Map 的设计 — Part II

陈思敏捷

map Go 语言

week8 作业

Shawn

国产开源流媒体SRS4.0对视频监控GB28181的支持

潇湘落木

音视频 云直播 短视频 流媒体

正则表达式基础详解

懒猫

Java 正则表达式 大前端 正则

一个好用的工作生活平衡方式

霍太稳@极客邦科技

Java架构-Java代码规范那些事

我是苞谷

Java

职场求生攻略答疑篇之 1 —— 加班沉思录

臧萌

程序员 加班

一文了解JDK12 13 14 GC调优秘籍-附PDF下载

程序那些事

GC JDK14 秘籍 JDK12 JDK13

架构师那些不能碰的禁忌

曲水流觞TechRill

架构师

上海首批金融科技“监管沙盒”应用名单出炉 区块链技术备受青睐

CECBC

金融科技 金融监管 创新与安全 智能多元化

7个获取访问者真实IP的方法,速学!!!

华为云开发者联盟

nginx 大前端 网站 IP 服务器

LeetCode 1052. Grumpy Bookstore Owner

liu_liu

算法 LeetCode

实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组

华为云开发者联盟

人工智能 数据 图像识别 图片 分类

主宰操作系统的经典算法

苹果看辽宁体育

后端 操作系统

IO系列——UNIX五种IO模型

Java联盟

io 多路复用 异步IO

一文带你了解Zookeeper所有核心概念

小隐乐乐

zookeeper 分布式 分布式架构

Redis系列(七):缓存只是读写回种这么简单吗?如果是,那么请你一定看看这篇文章!

z小赵

redis 分布式 高并发系统设计

如何消灭飞机的“黑色十分钟”,AI来帮忙

华为云开发者联盟

华为 AI 智能时代 模型 华为云

华为云FusionInsight MRS融合大数据平台进阶之路

数据湖洞见

大数据 新特性 FusionInsight 华为云 智能数据湖

架构师训练营第八周作业

张明森

推荐一款技术人必备的接口测试神器:Apifox

狂师

测试 测试驱动开发实战营 接口测试 测试框架

从可编程到跨终端——QCon北京2013“跨终端的Web”专题出品人鄢学鵾专访_JavaScript_彭超_InfoQ精选文章