日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Mobl用于創(chuàng)建HTML移動(dòng)應(yīng)用程序的新DSL

Mobl是一種外部DSL,它的目的是要把代碼編譯到HTML5中,從而為移動(dòng)設(shè)備創(chuàng)建跨瀏覽器的應(yīng)用程序。Zef Hemel已經(jīng)在WebDSL項(xiàng)目的啟發(fā)下把它開發(fā)出來了,作為模型驅(qū)動(dòng)工程和領(lǐng)域特定語(yǔ)言博士論文的一部分。

10年積累的做網(wǎng)站、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有葉城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Mobl使用一種與JavaScript非常類似的腳本語(yǔ)言實(shí)現(xiàn)了靜態(tài)類型的推斷語(yǔ)言。該語(yǔ)言擁有以下***結(jié)構(gòu): 實(shí)體(entities)、類型(types)、函數(shù)(functions)、控件(controls)、屏幕(screens)、樣式(styles )和設(shè)備(services)。實(shí)體是在本地存儲(chǔ)中持久化的數(shù)據(jù)元素,而類型是一種供我們使用的不穩(wěn)定的數(shù)據(jù)。

函數(shù)與那些定義在JavaScript以及能夠調(diào)用JavaScript代碼的語(yǔ)言中的函數(shù)類似。UI是由屏幕組成的,屏幕中包含各種組件以及容器控件,并且在控件上會(huì)有附加的事件處理器。

“Hello World”示例類似于下面這樣:

 
 
 
  1. screen root()
  2. { header("Hello world")}這里是另一個(gè)使用自定義控件的示例:
  3. // Custom control:
  4. control sayHello(name : String) {
  5. label(name) // using the label control
  6. }
  7. screen root() { // Main module definition
  8. sayHello("Hello World") // using my custom control
  9. }

我們會(huì)發(fā)現(xiàn),UI并沒有遵循MVC模式,控件可以包含本地的狀態(tài)和邏輯。盡管我們可以這么做,但是Hemel還是建議“把所有復(fù)雜的邏輯放到函數(shù) 中,并且不要把那些函數(shù)放在用戶界面代碼中?!?The UI’s look and feel is created with styles similar to CSS.

Mobl擁有創(chuàng)建面向Web服務(wù)接口的內(nèi)建語(yǔ)法。以下是用于獲取Twitter趨勢(shì)主題的服務(wù)示例:

 
 
 
  1. service Twitter 
  2. { resource trends() : JSON { uri = "/_proxy/api.twitter.com/1/trends.json" }
  3. }

數(shù)據(jù)是以JSON格式在應(yīng)用程序和服務(wù)之間傳遞的,JSON是“Mobl的動(dòng)態(tài)類型的子類型,是一種特殊的類型,能夠讓你程序的各個(gè)部分使用動(dòng)態(tài)類型定義,”這是文檔(PDF)中所說的。

所有使用Mobl編寫的代碼在保存每個(gè)文件的時(shí)候會(huì)自動(dòng)編譯到HTML5的元素之中。應(yīng)用程序能夠在支持HTML5的瀏覽器上運(yùn)行,瀏覽器需要支持以下HTML5特性:

本地緩存

地理位置(mobl::location),這樣你可以請(qǐng)求用戶當(dāng)前的GPS位置

畫板(mobl::canvas),用于基本的2D繪畫

通知(mobl::notify): 屏幕上的通知。(盡管沒有太多瀏覽器支持)

加速計(jì)(mobl::accelerometer): 讀取移動(dòng)設(shè)備的加速計(jì)數(shù)據(jù)(當(dāng)前只在iPhone和iPad上有效,其它平臺(tái)暫時(shí)還不支持這個(gè)API)

WebSockets(mobl::socket): 使用socket.io與服務(wù)器進(jìn)行數(shù)據(jù)流形式的通信。

Hemel說,它當(dāng)前專注于讓Mobl能夠在基于WebKit的瀏覽器工作,因?yàn)槟切g覽器在移動(dòng)設(shè)備上實(shí)現(xiàn)了最多的HTML5特性,但是對(duì)于讓它 在Firefox和Opera上工作也做了一些努力,并且,當(dāng)windows Phone7支持HTML5的時(shí)候,也會(huì)擴(kuò)展到那上面。Mobl應(yīng)用程序可以直接部署或者通過PhoneGap部署:

我們可以使用PhoneGap部署Mobl應(yīng)用程序。PhoneGap讓你可以使用web技術(shù)為各種平臺(tái)——包括iOS、Android、 Windows Mobile和BlackBerry等——構(gòu)建本地應(yīng)用程序。我正在做的一件工作就是要封裝專門針對(duì)PhoneGap的API,從而以Mobl庫(kù)的形式訪 問電話功能,像訪問照相機(jī)以及電話的聯(lián)系人列表等等。這項(xiàng)工作進(jìn)展良好。

Mobl還帶有Eclipse插件,讓我們可以在Windows、Linux以及Max OS上開發(fā)應(yīng)用程序,并且已經(jīng)基于MIT許可發(fā)布了。

查看英文原文: http://www.infoq.com/news/2011/02/Mobl


網(wǎng)頁(yè)名稱:Mobl用于創(chuàng)建HTML移動(dòng)應(yīng)用程序的新DSL
瀏覽地址:http://www.dlmjj.cn/article/coooogo.html