日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > HTML >内容正文

HTML

使用Google App Engine、Google Closure Library与Clojure编写HTML5应用

發(fā)布時(shí)間:2025/6/15 HTML 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Google App Engine、Google Closure Library与Clojure编写HTML5应用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上周,Freiheit.com的CTO Stefan Richter在慕尼黑舉辦的Google開(kāi)發(fā)者日上談到了他對(duì)于使用HTML 5與Google App Engine編寫富Internet應(yīng)用的愿景。特別地,他認(rèn)為相對(duì)于基于服務(wù)器端的頁(yè)面渲染來(lái)說(shuō),基于HTML 5來(lái)構(gòu)建客戶端組件會(huì)更加困難。

在之前的Web開(kāi)發(fā)中,厚重的客戶端應(yīng)用模型都是基于Widget、事件以及事件處理器,這經(jīng)常會(huì)導(dǎo)致復(fù)雜的事件處理鏈,而這一切會(huì)造成維護(hù)的 夢(mèng)魘。在兩層的客戶端應(yīng)用模型中,人們甚至?xí)苯訌氖录幚砥髦性L問(wèn)數(shù)據(jù)庫(kù)。借助于服務(wù)器端的頁(yè)面渲染,人們可以創(chuàng)建完整的頁(yè)面,每次都是一個(gè)請(qǐng)求,一個(gè) 響應(yīng)。

Stefan認(rèn)為借助于HTML 5,“你可以在客戶端生成”越來(lái)越多的HTML代碼。他們所嘗試的一種方式就是使用Google Closure Templates。

Closure Templates是個(gè)客戶端與服務(wù)器端的模板系統(tǒng),你可以使用它動(dòng)態(tài)構(gòu)建可重用的HTML與UI元素。Closure Templates分別針對(duì)JavaScript與Java提供了相應(yīng)的實(shí)現(xiàn),這樣你就可以在服務(wù)器端與客戶端使用同樣的模板了。

他還推薦集中編寫事件處理器,只在必要的情況下將狀態(tài)封裝到客戶化Widget中。

從后端視角來(lái)看,他提出了這樣一個(gè)問(wèn)題:“我們真的需要類與對(duì)象來(lái)傳遞數(shù)據(jù)嗎?”。他們可以通過(guò)Clojure Macros在服務(wù)器端生成數(shù)據(jù)訪問(wèn)代碼。同樣的數(shù)據(jù)結(jié)構(gòu)既可以用在客戶端,也可以用在服務(wù)器端:

我們使用鍵/值對(duì)作為主要的數(shù)據(jù)結(jié)構(gòu)。我認(rèn)為這是應(yīng)用部署的未來(lái)。不再有阻抗失配、不再有ORM、不再有數(shù)據(jù)轉(zhuǎn)換。 Clojure內(nèi)部使用了鍵/值對(duì)形式。我們可以從Google Datastore上獲取到他們,也可以將其發(fā)送給Google Datastore,還能以JSON形式將其發(fā)送到客戶端。

Stefan建議大家盡其所能地嘗試使用他們,就按照“鍵/值”對(duì)形式來(lái)用,編寫沒(méi)有副作用的功能性JavaScript代碼。

在演講中,他對(duì)下一代的RIA給出了一系列的通用原則:

只需要閱讀代碼就應(yīng)該理解他們的行為

不要嘗試在瀏覽器中編寫窗口風(fēng)格的桌面應(yīng)用

準(zhǔn)備好在客戶端渲染大多數(shù)HTML代碼

不要以Java形式編寫JavaScript代碼,忘記你所學(xué)的Java吧

提前規(guī)劃好離線功能(以及同步數(shù)據(jù))

你需要想好如何處理并發(fā)修改問(wèn)題,因?yàn)橛脩艉苡锌赡軙?huì)同時(shí)修改同一條數(shù)據(jù)

你需要推送通知

將客戶端的異常記錄到服務(wù)器上

Deadline應(yīng)用就是根據(jù)這些原則創(chuàng)建的。

HTML 5(以及云)會(huì)改變RIA的架構(gòu)與編程模型么?開(kāi)發(fā)者與架構(gòu)師準(zhǔn)備好了么?你的想法如何?

原文鏈接:Writing HTML5 Applications with Google App Engine, Google Closure Library and Clojure

譯文鏈接:http://www.infoq.com/cn/news/2010/11/html5-gae

相關(guān)閱讀:

參加IE9開(kāi)發(fā)大賽 贏取現(xiàn)金大獎(jiǎng)

微軟最頂級(jí)平臺(tái)技術(shù)會(huì)議PDC10全程視頻播放

Microsoft Web平臺(tái)——優(yōu)秀項(xiàng)目展示

Windows Phone 7 MSDN開(kāi)發(fā)中心

總結(jié)

以上是生活随笔為你收集整理的使用Google App Engine、Google Closure Library与Clojure编写HTML5应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。