很少有事物像技术那样变化迅速,而 Web 技术的变化速度似乎更快。了解在 2010 年您有望从技术供应商那里看到的新兴技术。

Martin Streicher, 软件开发人员, Pixel, Byte, and Comma

作者照片 - martin streicherMartin Streicher 是一位 Ruby on Rails 的自由开发人员和 Linux Magazine 的前任主编。Martin 毕业于 Purdue University 并获得计算机科学学位,从 1986 年起他一直从事 UNIX 类系统的编程工作。他喜欢收集艺术品和玩具。



2010 年 3 月 15 日

如果 Web 是一位世界名流,那么 2009 年的报纸头条可能包括:“云计算与服务器的亲密接触”、“外星来客 Twitter:‘我们为和平而来’” 和 “真人 TV 秀中的 Gosselin:8 个浏览器就足够了”。

常用缩写词

  • Ajax:异步 JavaScript + XML
  • API:应用程序编程接口
  • CSS:级联样式表
  • HTML:超文本标记语言
  • LAMP:Linux®、Apache、MySQL 和 PHP
  • UI:用户界面

毫不夸张地讲,云计算、实时内容以及浏览器速度和功能上的进步使 Web 比以往更引人注目了。健壮的基础设施 —— 从用于存储的 Amazon 简单存储服务 (S3) 到实现了可扩展电子邮件功能的 SendGrid —— 现在只需单击几下鼠标就可以租用。在任何时刻从任何地方发送的 Tweets 和 Flickr 更新成为了即时信息的特征,是一项必须满足的社会需求。Google Chrome、Apple Safari、Mozilla Firefox 和 Windows® Internet Explorer® 之间的激烈竞争使浏览器逐渐向独立平台转变,而 Chrome 成为了全新的操作系统的核心。

当然,在 2010 年,追逐技术发展的热心记者将继续跟踪这些故事,挖掘关于微软自己的云产品、Twitter 的艰辛发展以及浏览器开发者之间的竞争的抢先报道和图片。但是其他软件、开发和趋势等在 2010 年必定会成为开发人员所关注的头条新闻。让我们预测一下在技术报道中会看到哪些重要新闻。

HTML 的大力整改

这并不是对刚出道的明星进行整形手术。流行的超文本标记语言也正在进行大变脸。毫不奇怪,已有 10 年历史的 HTML 格式正在努力跟上创新的步伐。毕竟,HTML 是发明用来构造和打包文档的,而不是处理 Web 应用程序。

HTML 5 的目标是解决现代 Web 的需求,包含对内容与本地计算机之间的编程化交互的广泛支持。且不说其他新颖的特性,HTML 还包含应用程序编程接口 (API),支持在新的 canvas 上随意绘制图形,找到您在全球中的位置,缓存代码和数据,以及卸载计算密集型任务以保持浏览器的交互具有高响应能力。

随着 videoaudio 标记的出现,HTML 5 使 Adobe® Flash® 和 Microsoft® Silverlight™ 的最常见的用途变得过时,使开发人员和用户不必求助于这些专用解决方案。使用 HTML 5 嵌入影片或音轨就像用 HTML 4 嵌入图像那么简单:

<video src="/video/redcarpet.ogg" width="400" height="300" controls>

HTML 5 还规范化了用于构造内容的其他专门技术。常见的网页构造,比如 <div class="header"><div class="footer"><div class="article"><ul class="nav"> 分别被简单易懂的 <header><footer><article><nav> 标记取代。后一种标准化的标记暗示了上下文,使网页爬行工具(spider 和 scraper)能够更轻松地获取网页中的重要内容。

尽管 HTML 5 不是一种经正式批准的标准,似乎也没有确定 “标准化” 时间表(根据内部消息,这可能需要 “多年” 的时间),但大部分主流 Web 浏览器都已经实现了它的许多强大特性。例如,Chrome、Firefox、Safari 和 Opera 都支持上面列举的 API,您也可以在网上找到每个浏览器的生动演示。而且,开发人员正在积极创建和部署基于这些新功能的应用程序。著名的例子包括 Google 的会话引擎 Wave(现在处于测试阶段),完全基于 JavaScript™、HTML 5 和 CSS 的应用程序框架 SproutCore,以及 Mozilla 实验室的 Bespin(一个丰富的协作式代码编辑器,完全在浏览器内运行,在云中保存所有工作)。

HTML 5 在不断发展演化。尽管如此,预计仍会有更多应用程序利用这个明确定义、广泛实现且稳定的规范草案的许多内容。即使在现在,HTML 5 仍然能够在移动浏览器中得到良好支持,包括 Apple iPhone 和 Android。事实上,创新的 HTML 5 应用程序的最有可能的目标就是移动平台。


纷繁复杂的数据库关系:“不再彼此排斥”

Web 开发人员已经醉心于关系数据库 (RDBMS) 很长时间了。Perl 的 DBI(在十多年前创建)首次将动态性和个性化功能加入到网页中。但 RDBMS 不再是惟一的选择。曾经密不可分的 LAMP 堆栈正在分离。

严格来讲,Oracle、MySQL、PostgreSQL 和 SQLite 等 RDBMS 都不属于 Web 技术。实际上,它们是委托给最底层 Web 基础设施的不太诱人的结构。然而,如果没有那些实现从 Amazon 的销售到 Wikipedia 的知识等所有内容的各种模式,现代 Web 很难正常运转。但像 HTML 一样,熟悉的 RDBMS 正在努力满足现代 Web 应用程序的实际需求 —— 具体来讲,不是所有信息都适合规范化。文档是一种通常按行和列填充的数据,不规则的数据也不适合于 RDBMS。而且,TB 和 PB 级数据无法在单一系统中轻松管理。一些独特的应用程序还需要专门的存储来简化分析。

在过去 18 个月内,开创性的开发人员已开始向所谓的 “无 SQL”(No SQL) 解决方案迁移,这个一时兴起的创意成为了现在的主流趋势。MongoDB、BigTable、Cassandra 和 Tokyo Cabinet,这些具有古怪名称的存储系统设计用于跨数千个商用服务器处理 PB 级别的信息。除了容量优势以外,“无 SQL” 软件通常针对的是某个特定的问题域。面向文档的数据库(比如 MongoDB)就是一个例子,面向对象的数据库也是,它完全脱离了对象关系映射 (ORM)。甚至 RDBMS 也正在适应 Web 第三十个年头的现状。举例而言,Drizzle 是 MySQL version 6 的一个分支,它更小、更快、更简单,且针对 Web 进行了调优。

不久以前,持久化存储的最显而易见的答案是 RDBMS。现在,惟一明确的答案是 “视具体情况而定”。开发人员正在利用一切机会寻找更好的选择。


数据:源于公众

在传统上,数据由其管理者小心地隐藏、保护和公开,或者隐藏在公众视线以外,披上了层层伪装,或者淹没在网络海洋之中。在很多时候,为了找到所需的信息,您需要成为一位在线的数字淘宝者,如果您幸运,某个搜索引擎(比如 Wolfram)可能会找到一点线索。但是,即使 Google 和 Yahoo! 也不会很频繁地收集网络信息,所以重要信息的显现难免会存在延迟。实际上,Web 可能并不总是能提供最佳的信息。或许理想的来源是一场抗议活动中的游行者、一场会议的博客作者,或者在一个热闹的新饭店里的用餐者。

Mashup 预示着合成数据(从多个来源挑选并整合在一起的信息)的前景,许多案例都取得了关键和广泛的成功。Google Maps 就是一个引人注目的例子,它使用了搜索结果、街道和卫星地图来标注企业目录。Facebook 等服务丰富了社交网络,无处不在的 Twitter 解决了对信息的即时性需求。而这每一个示例都只是今年的趋势的一个预兆,所有类别的数据都会被应用程序即时组装在一起。考虑 Trapster,一个 DIY 实时速度跟踪检测器;或者 Layar,一个信息扩充工具,可通过实际数据、图片和虚拟现实为远途旅行增添乐趣。

与其将增强视为一种技术,不如说它是一种趋势,而出色的体验必然会包含许多活动的组成部分,比如图像和模式识别、搜索、数据收集、分析、信息传播等。地理位置很重要,但社交网络也同样重要。一些信息可能基于参考材料和传统来源,但更个人的见解可能从其他来源获得。


赢利明星

如果您以前听过这句话,那就当我没说:在不久的将来,您将能够使用数字钱包进行一切支付活动。

诚然,无现金化已是一句熟悉的预言,远的不说,至少可追溯到 Web 诞生之初。您甚至可能觉得这只是一种陈词滥调。尽管如此,小额支付和电子交易仍将在 2010 年广泛流行。事实将会证明,实现这一目标并不是什么难事。

直到最近,支持小额支付和数字钱包的基础设施仍然很少。对于小额支付,很少有提供商在瓜分这一市场。对于数字钱包,无现金支付方法,包括自动取款机 (ATM) 卡和信用卡,通常需要一台收银机和与清算银行网络的物理连接。但 Web 与移动设备(可能是电子书阅读器、电话、网络或笔记本电脑)的结合就足以实施所有类型的交易,无论是大额还是小额交易。举例来说,可以考虑 iPhone、Amazon Kindle(也可用于 iPhone)和新的 Barnes and Noble Nook。只需触摸一个按钮即可进行购物。当然,Kindle 和 Nook 都与专用服务捆绑在一起,但 iPhone 是个例外。许多人抱怨小额支付需要在应用程序上添加额外的层和插件,而在 2009 年末发布的 Square 允许几乎所有人通过 iPhone 接受支付。许多零售商和银行提供了 iPhone 应用程序来简化交易。

可以说,Amazon 的 PayPhrase 以及移动支付平台 PayPal 的 PayPalX 和 Square 都是领先的支付解决方案。开发人员和企业家必定会创建业务模型、流程和应用程序来以全新的方式销售产品。


日新月异的新技术

技术革命在一定程度上仍在继续。在经历个人计算领域 20 多年的缓慢发展之后,大量新平台浮出了水面,其中许多都是在 2009 年的后半年诞生的。Google 已确认其自主研发的电话 Nexus One 确实存在,而它的 Android 操作系统支持其他许多移动设备,包括 Barnes and Noble Nook。Apple 在 2009 年 9 月发布了 Mac OS X version 10.6 Snow Leopard,而微软公司紧跟其后推出了 Windows 7。iPhone 进行了重要的硬件和软件更新,而其姊妹产品 App Store 改变了软件、音乐和电影的销售和使用方式。变化之迅速有点像个人计算诞生之初,但现在计算机已牢牢融合到生活的每一方面中。

浏览器现在只是进入互联网的一个入口。各家企业不再拥有网站,而拥有了一定的个性化 —— 为每种产品赋予一种个性。传统的 UI 已足够满足桌面用途,而移动设备需要更简约且针对其容量、屏幕大小和典型用户进行了良好优化的方法。如此多的改变似乎很难实现而且成本高昂。然而,与为桌面开发软件不同,开发人员可以利用一组适用于所有平台的技术 —— HTML 5、JavaScript 和 CSS。


最优秀的技术升级:Toy Story 3、Rails 3、PHP 6

除了 Buzz Lightyear 重返大屏幕,2010 年还将有许多针对小屏幕的技术升级。

Ruby on Rails version 3 计划于 2010 年年中推出,合并了流行的 Rails 和 Merb 框架,添加了大量专为提高 Rails 应用程序性能和编程人员速度的特性。Rails 路由器速度更快,能够按子域路由并路由到中间件的各个部分。Rails 3 能有效阻止跨站点 (XSS) 攻击并抽象了常见 Ajax 技术,使生成的 JavaScript 代码井然有序且与 JavaScript 框架完全独立。

PHP version 6 全面集成了 Unicode,添加了大量内容,可能还会包含 traits。traits 可用于组合类中的各种方法,可以避免多重继承的 “全有或全无的” 方式。(如果您是一位 Ruby 开发人员,您会发现 traits 模拟了 moduleinclude 的功能)。下面给出了一个例子(已经过 Mark Story 许可):

trait Sluggable {
    function slug() {
        return preg_replace('/[^\D\d]*/'), '_', strtolower($this->title));
    }
}
 
class Post extends Model {
    use Sluggable;
}

其他重要的技术升级包括 Ubuntu version 10.4 (Lucid Lynx)、Google Chrome OS、GNOME version 3.0、Drizzle version 1.0(正在计划中)和 Rakudo version 1.0(基于 Parrot Virtual Machine 的 Perl 版本 6 的部分实现)。


新的应用程序,新的需求

2010 年的重要主题是便携 Web。无论您在哪里,无论您携带了何种设备,您都可以访问 Web。

对于开发人员,可能对便携 Web 既熟悉又陌生。新应用程序可能要满足许多新的需求:

  • 您的 Web 应用程序必须在许多设备上良好地运行。
  • 您的应用程序必须能与浏览器互操作,甚至可以离线工作。
  • 随着 HTML 5 的到来,JavaScript 变得比以往更加重要了,因为每个 HTML 5 API 都基于该语言。(如果您需要掌握 JavaScript 编码,那么您最好尽快着手准备。)幸运的是,HTML 5 能够在现代浏览器中很好地运行,JavaScript 语言也是如此,jQuery 和 Prototype 等 JavaScript 框架将能很好地隐藏浏览器的不一致性。
  • 您的后端代码(可能是 Ruby on Rails 3、PHP 6、Rakudo 等)必须支持各种各样的前端,这些前端可能拥有迥异的界面。
  • 您的数据库必须可伸缩。什么类型的数据库最合适呢?这取决于具体情况。

很少有事物像技术那样变化迅速,而 Web 技术的变化速度似乎更快。当几个普通人就能创建新一代功能强大的应用程序时,软件开发人员将感到无比的振奋。谁知道呢?也许您将成为下一个头条。期待在报道上看到您的消息。

参考资料

学习

获得产品和技术

  • 用于产品评估的 IBM 试用软件:使用可直接从 developerWorks 下载的试用软件开发下一个项目,包括来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Web development
ArticleID=474395
ArticleTitle=新兴 Web 技术
publish-date=03152010