飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

SproutCore:一个 HTML 5 应用框架

  • 2009-09-07
  • 本文字数:2220 字

    阅读完需:约 7 分钟

此前 InfoQ 曾对 SproutCore 有过多次 报道,最近获悉其 1.0 版行将发布的消息。SproutCore 的目标是在浏览器中提供极佳的桌面效果应用而无需任何浏览器插件。所有这些都不是用什么新技术实现的,而是采用这几年广为应用同时又在不断发展的技术。SproutCore 主要采用了 JavaScript、HTML 以及 CSS,这样对后端系统就没什么限制了,显然是个优势。

SproutCore 能与任何后端服务器技术搭配使用。事实上,一旦部署之后,SproutCore 应用只包含标准的 HTML、JavaScript 以及 CSS。只需使用 Apache 就能部署完整的 SproutCore 应用。

自从上次报道 SproutCore 之后,其发生了很多变化,因此 InfoQ 采访了 Sproutit 的总裁兼 CEO Charles Jolley 以了解即将到来的发布。

到底是什么让 SproutCore 成为一个 HTML 5 应用框架?

现在有不少 Web 框架开始使用 HTML 5 中的一些新特性(如离线存储、HTML5 ApplicationCache 等)来构建富本地(rich native-class)应用,而 SproutCore 则是其中之一。SproutCore 在那些使用 HTML 4 特性的老的浏览器上工作良好,然而我们期待未来 5 年兼容于 HTML 5 的浏览器,如 Safari 4、Chrome 及 Firefox 3.5 等能成为主流。

对于我来说,HTML 5 将成为 Web 上最激动人心的事情,因此我们开发了 SproutCore。

SproutCore 1.0 正式版何时发布?

今年秋天发布,但在这之前就将有构建在 SproutCore 1.0 之上的应用了。目前来看,其相当稳定,因为在过去的一年中我们添加了 5,000 多个单元测试,涵盖了每一个特性。在过去的一年当中,我们几乎重写了 SproutCore 构建工具与 JavaScript 框架的每一部分,目的就是保持 API 的稳定性并对性能进行了极大的改进。但我认为 SproutCore 0.9 及之前版本的主要目的是为了证明我们可以在浏览器中构建桌面级的应用,而 SproutCore 1.0 则是保证其核心技术能够平滑的使用且具备极强的可靠性。我很高兴地看到我们实际上已经超过了自己的目标。SproutCore 1.0 无疑是我们最杰出的成就。

所有的文档以及站点更新之类的工作会随着 1.0 版的发布而完成么?

当然了。事实上,我们刚刚将 API 文档放在了 http://docs.sproutcore.com 上,同时又开发了一个文档查看器。 http://demo.sproutcore.com 上还有很多示例应用,其中包括一些将于不久之后开源的完整的端到端示例。

为什么要使用 SproutCore 而不是 GWT 或是 Cappuccino 之类的框架?

一般来说,尝试过 GWT 或是 Cappuccino 的人们都会由于种种原因而转向 SproutCore。其中性能问题是首当其冲的要素。这三个框架(GWT、Capp 及 SproutCore)在富 Web 应用上的表现都非常棒。但如果构建的应用非常复杂,瓶颈则很快就会出现,尤其在应用最初的加载阶段更是如此。而在这方面,SproutCore 应用的表现是可圈可点的。第二个因素就是可定制化的能力。使用 GWT 和 Cappuccino 开发时,我们无需总与浏览器打交道,而是在其 Java 或是 Objective-J 沙箱中进行。这种方式很不错,但如果想要探究其底层那可就不好办了。SproutCore 也提供了非常丰富的功能,但都是基于普通的 JavaScript,这样你就能随心所欲的使用了。

对于视图层来说,为何从 Ruby(0.9)转变成了纯 JavaScript(1.0)?

主要原因有二。首先,一旦 1.0 版完成后,我们打算开发一个支持拖拽的 UI 设计器。而 JavaScript 使这一切成为可能。事实上,SproutCore 1.0 的核心程序库已经对 UI 设计器的开发提供支持了。我们只需完成设计器应用本身即可。其次,也是更加重要的原因,那就是性能问题。如果只使用 JavaScript 编写代码,然后让 SproutCore 处理所有的 HTML 和 CSS 的话,我们可以通过一些技巧提高应用的速度,哪怕是 IE 也没问题。总的来说,SproutCore 新的视图层的速度要比之前版本的快 10 倍多(其实之前版本的也够快了)。此外还有一个好处,那就是纯 JavaScript 会极大地简化应用的开发,因为开发者不会陷入两种编程语言的泥潭中,一种语言走天下。

DataStore API 能从 Java Server 上获取数据么?RDBMS(如 MySQL 或 Oracle 等)又如何呢?

你可以使用任何喜欢的后端,没问题。事实上,大家在学习 Todos Tutorial( http://wiki.sproutcore.com/Todos Intro)时会发现我们可以从三种不同的服务器端技术中进行选择。虽然 Java 不在其中,但我想有人一定已经实现了。最酷的就是 SproutCore 应用仅仅是由 HTML/JS/CSS 构成的。后端到底采用什么技术是无所谓的,因为 SproutCore 应用会通过 Ajax 与之交互。

能否在 SproutCore 应用中嵌入其他视图内容(比如视频、Flash 以及音频等等)呢?

当然了!大家可以通过 Safari 4 运行我们提供的视频示例( http://demo.sproutcore.com/video/)。该示例使用了 HTML5 的 video 标签。SproutCore 1.0 已经不再依赖 Prototype 了,相反我们开发了自己的 SproutCore JS-library。这意味着如果你现有的代码使用到了 jQuery、ExtJS、YUI 甚至是 Prototype,你都可以将其嵌入到 SproutCore 应用中。

SproutCore 1.1 的路线图确定下来了么?

还没有。我们现在把所有精力都放在了 SproutCore 1.0 上,力求做到极致。1.1 的开发方式与 1.0 将有很大不同,后者主要是凭借一家公司的一己之力完成的,而前者将要依靠社区的力量来实现,因此我期望 SproutCore 1.0 的发布能引起更多人的注意。

SproutCore 的目标是构建只依赖于浏览器的 Web 应用,然而,它并非一枝独秀,还有其他的选择也值得我们去探究,比如Google 的 GWT Cappuccino

查看英文原文: SproutCore: An HTML 5 Application Framework

2009-09-07 22:306309
用户头像

发布了 88 篇内容, 共 265.9 次阅读, 收获喜欢 8 次。

关注

评论

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

英伟达成全球市值第一公司;苹果暂停下一代高端头显研发丨 RTE 开发者日报 Vol.227

声网

质检迈入新时代,天润融通推出基于大模型的质检3.0解决方案

天润融通

人工智能

PhantomReference 和 WeakReference 究竟有何不同

bin的技术小屋

JVM Java’

Web3新视野:Lumoz节点的潜力与收益解读

股市老人

高考志愿服务,一张AI搜索的现实考卷

脑极体

AI

2025QS最佳留学城市排名发布

财见

更高能效:浪潮信息元脑®服务器NF5280G7刷新SPEC Power测试纪录

财见

用技术望远镜看国内大模型:文心闪耀 双榜领跑

脑极体

AI

报名参加通义灵码高校训练营,领 300 元阿里云产品通用抵扣金

阿里巴巴云原生

阿里云 云原生 通义灵码

解决华为NEXT应用开发中模拟器组件缺失问题

彭康佳

鸿蒙 an'droid

VMware vCenter Server 8.0U2d 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vmware vcenter esxi

一文读懂Lumoz节点的潜力与收益,加密收益新范式

BlockChain先知

Altair 助力优化摩托车空气动力学性能,实现最佳的整流罩设计

Altair RapidMiner

人工智能 仿真 AIGC altair

一文读懂Lumoz节点的潜力与收益,加密收益新范式

股市老人

罗克韦尔自动化发布年度《智能制造现状报告:汽车版》

财见

华为阅读亮相BIBF:以AI赋能出版行业,引领阅读新业态

最新动态

MQTTX 1.10.0 发布:CLI高级文件管理与配置

EMQ映云科技

mqtt mqttx

火山引擎×OPPO,以多样化AI智能体为手机用户带来全新体验

新消费日报

VMware vCenter Server 7.0U3r 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vcenter esxi

Web3新视野:Lumoz节点的潜力与收益解读

石头财经

VMware vCenter Server 8.0U1e 下载 - 修复堆溢出 (远程执行代码) 和本地权限提升漏洞

sysin

vSphere vcenter esxi

从钉钉到跨境电商技术演变,HHO通过NineData实现全球化业务布局

NineData

数据安全 数据管理 NineData 两氢一氧 本地机房

小鲤AI志愿填报助手:一键探索最适合你的大学专业

AI Inception

AI 高考 AIGC rag

2024年全球架构师峰会(ArchSummit深圳站)

后台技术汇

Java 后台开发 架构师 全球架构师峰会 ArchSubmit

SproutCore:一个HTML 5应用框架_Java_Craig Wickesser_InfoQ精选文章