自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTML 5應(yīng)用框架SproutCore初探

開發(fā) 前端
SproutCore是一個HTML 5應(yīng)用框架,這個框架的目標(biāo)是在無需瀏覽器插件的情況下,在瀏覽器中提供極佳的桌面效果。本文中的訪談會令你對SproutCore有一個大概的了解。

SproutCore的計劃是成為一個HTML 5應(yīng)用框架,最近將發(fā)布1.0版。這個框架的目標(biāo)是在無需瀏覽器插件的情況下,在瀏覽器中提供極佳的桌面效果。SproutCore主要采用的是JavaScript、HTML以及CSS,因此對后端沒有什么限制,這是其優(yōu)勢所在。

下面是InfoQ近日對Sproutit總裁兼CEO Charles Jolley進(jìn)行的訪談,以了解即將到來的發(fā)布。

到底是什么讓SproutCore成為一個HTML 5應(yīng)用框架?

現(xiàn)在有不少Web框架開始使用HTML 5中的一些新特性(如離線存儲、HTML5 ApplicationCache等)來構(gòu)建富本地(rich native-class)應(yīng)用,而SproutCore則是其中之一。SproutCore在那些使用HTML 4特性的老的瀏覽器上工作良好,然而我們期待未來5年兼容于HTML 5的瀏覽器,如Safari 4、Chrome及Firefox 3.5等能成為主流。

對于我來說,HTML 5將成為Web上最激動人心的事情,因此我們開發(fā)了SproutCore。

SproutCore 1.0正式版何時發(fā)布?

今年秋天發(fā)布,但在這之前就將有構(gòu)建在SproutCore 1.0之上的應(yīng)用了。目前來看,其相當(dāng)穩(wěn)定,因為在過去的一年中我們添加了5,000多個單元測試,涵蓋了每一個特性。在過去的一年當(dāng)中,我們幾乎重寫了SproutCore構(gòu)建工具與JavaScript框架的每一部分,目的就是保持API的穩(wěn)定性并對性能進(jìn)行了極大的改進(jìn)。但我認(rèn)為SproutCore 0.9及之前版本的主要目的是為了證明我們可以在瀏覽器中構(gòu)建桌面級的應(yīng)用,而SproutCore 1.0則是保證其核心技術(shù)能夠平滑的使用且具備極強的可靠性。我很高興地看到我們實際上已經(jīng)超過了自己的目標(biāo)。SproutCore 1.0無疑是我們最杰出的成就。

所有的文檔以及站點更新之類的工作會隨著1.0版的發(fā)布而完成么?

當(dāng)然了。事實上,我們剛剛將API文檔放在了http://docs.sproutcore.com上,同時又開發(fā)了一個文檔查看器。http://demo.sproutcore.com上還有很多示例應(yīng)用,其中包括一些將于不久之后開源的完整的端到端示例。

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

一般來說,嘗試過GWT或是Cappuccino的人們都會由于種種原因而轉(zhuǎn)向SproutCore。其中性能問題是首當(dāng)其沖的要素。這三個框架(GWT、Capp及SproutCore)在富Web應(yīng)用上的表現(xiàn)都非常棒。但如果構(gòu)建的應(yīng)用非常復(fù)雜,瓶頸則很快就會出現(xiàn),尤其在應(yīng)用最初的加載階段更是如此。而在這方面,SproutCore應(yīng)用的表現(xiàn)是可圈可點的。第二個因素就是可定制化的能力。使用GWT和Cappuccino開發(fā)時,我們無需總與瀏覽器打交道,而是在其Java或是Objective-J沙箱中進(jìn)行。這種方式很不錯,但如果想要探究其底層那可就不好辦了。SproutCore也提供了非常豐富的功能,但都是基于普通的JavaScript,這樣你就能隨心所欲的使用了。

對于視圖層來說,為何從Ruby(0.9)轉(zhuǎn)變成了純JavaScript(1.0)?

主要原因有二。首先,一旦1.0版完成后,我們打算開發(fā)一個支持拖拽的UI設(shè)計器。而JavaScript使這一切成為可能。事實上,SproutCore 1.0的核心程序庫已經(jīng)對UI設(shè)計器的開發(fā)提供支持了。我們只需完成設(shè)計器應(yīng)用本身即可。其次,也是更加重要的原因,那就是性能問題。如果只使用JavaScript編寫代碼,然后讓SproutCore處理所有的HTML和CSS的話,我們可以通過一些技巧提高應(yīng)用的速度,哪怕是IE也沒問題??偟膩碚f,SproutCore新的視圖層的速度要比之前版本的快10倍多(其實之前版本的也夠快了)。此外還有一個好處,那就是純JavaScript會極大地簡化應(yīng)用的開發(fā),因為開發(fā)者不會陷入兩種編程語言的泥潭中,一種語言走天下。

DataStore API能從Java Server上獲取數(shù)據(jù)么?RDBMS(如MySQL或Oracle等)又如何呢?

你可以使用任何喜歡的后端,沒問題。事實上,大家在學(xué)習(xí)Todos Tutorial(http://wiki.sproutcore.com/Todos%C2%A0Intro)時會發(fā)現(xiàn)我們可以從三種不同的服務(wù)器端技術(shù)中進(jìn)行選擇。雖然Java不在其中,但我想有人一定已經(jīng)實現(xiàn)了。最酷的就是SproutCore應(yīng)用僅僅是由HTML/JS/CSS構(gòu)成的。后端到底采用什么技術(shù)是無所謂的,因為SproutCore應(yīng)用會通過Ajax與之交互。

能否在SproutCore應(yīng)用中嵌入其他視圖內(nèi)容(比如視頻、Flash以及音頻等等)呢?

當(dāng)然了!大家可以通過Safari 4運行我們提供的視頻示例(http://demo.sproutcore.com/video/)。該示例使用了HTML5的video標(biāo)簽。SproutCore 1.0已經(jīng)不再依賴Prototype了,相反我們開發(fā)了自己的SproutCore JS-library。這意味著如果你現(xiàn)有的代碼使用到了jQuery、ExtJS、YUI甚至是Prototype,你都可以將其嵌入到SproutCore應(yīng)用中。

SproutCore 1.1的路線圖確定下來了么?

還沒有。我們現(xiàn)在把所有精力都放在了SproutCore 1.0上,力求做到極致。1.1的開發(fā)方式與1.0將有很大不同,后者主要是憑借一家公司的一己之力完成的,而前者將要依靠社區(qū)的力量來實現(xiàn),因此我期望SproutCore 1.0的發(fā)布能引起更多人的注意。

SproutCore的目標(biāo)是構(gòu)建只依賴于瀏覽器的Web應(yīng)用,然而,它并非一枝獨秀,還有其他的選擇也值得我們?nèi)?A id=xwgx title=探究 >探究,比如Google的GWTCappuccino

【編輯推薦】

  1. HTML 5中將被舍棄以及將被強化的元素
  2. HTML 5在改變什么?
  3. 微軟涉足HTML5設(shè)計工作 IE將以標(biāo)準(zhǔn)為核心
  4. HTML 5視頻編碼存爭議 各方觀點不一
  5. Google宣布Web已經(jīng)勝利 HTML 5將Web大大推進(jìn)
責(zé)任編輯:yangsai 來源: InfoQ
相關(guān)推薦

2010-08-10 09:08:29

WebSocketsHTML 5

2010-03-03 08:36:49

HTML 5 Web

2015-05-13 10:04:36

ionicHtml5

2011-09-27 17:37:22

2012-05-29 09:23:23

HTML5移動應(yīng)用框架jQTouch

2014-12-08 11:12:23

HTML6

2022-07-15 12:42:22

Linux內(nèi)核裁剪

2012-06-12 13:33:38

HTML5

2012-05-28 15:31:57

App-UI

2012-05-23 13:00:37

HTML5

2012-06-07 15:51:40

HTML5

2010-09-03 08:58:01

HTML 5

2012-05-15 09:42:06

2022-04-19 09:24:18

QtC++框架

2015-04-21 10:04:51

ionicHtml5

2011-10-11 09:04:40

HTML 5

2010-01-29 09:00:48

HTML5 File 文件拖放上傳

2015-07-27 09:48:24

最棒 HTML5 框架

2015-07-31 09:56:58

2015Html5框架

2011-12-12 09:04:35

HTML 5
點贊
收藏

51CTO技術(shù)棧公眾號