天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

mobl:針對(duì)移動(dòng)Web開發(fā)的DSL

  簡介

  現(xiàn)在,針對(duì)移動(dòng)設(shè)備像智能手機(jī)和平板電腦應(yīng)用開發(fā)很流行。Apple公司的AppStore(針對(duì)iPhone、iPod和iPad)擁有超過350,000種應(yīng)用,而Android的marketplace也快速追趕上來,現(xiàn)在已經(jīng)擁有超過200,000種應(yīng)用。然而,Androidios并非是僅有的兩種移動(dòng)平臺(tái)。BlackBerry也是有力的競爭者,此外還有Nokia。最近Microsoft發(fā)布了Windows Phone 7,HP也發(fā)布了新的WebOS設(shè)備。這樣,對(duì)于用戶來說有了多種選擇,但對(duì)我們這些開發(fā)者來說卻是個(gè)噩夢。我們應(yīng)該針對(duì)哪種平臺(tái)來開發(fā)應(yīng)用程序呢?

  在移動(dòng)平臺(tái)之間共享代碼極度困難。每種平臺(tái)都選擇了自己的開發(fā)框架,還有自己的語言和API。對(duì)于ios開發(fā),你需要使用Objective-C和CocoaTouch API;對(duì)于Android開發(fā),你要使用JavaAndroid API;對(duì)于Windows Phone 7,你需要使用.NET和Silverlight API。

  然而,我們還是擁有一種解決方案:Web開發(fā),特別是:Webkit。我們會(huì)看到,所有主要的移動(dòng)平臺(tái)供應(yīng)商(除了Microsoft之外)都在Webkit之上構(gòu)建了他們的移動(dòng)瀏覽器,而Webkit是當(dāng)前最新的、速度最快的開源瀏覽器引擎。Webkit支持多種移動(dòng)應(yīng)用所需要的HTML5 特性,包括偵測觸摸手勢(輕擊、強(qiáng)擊和縮放)、定位API(確定用戶的位置),并且支持本地?cái)?shù)據(jù)庫(瀏覽器中的SQLite數(shù)據(jù)庫,用于在本地緩存數(shù)據(jù))。

  當(dāng)前,在Android、ios、WebOS以及BlackBerry OS的六款瀏覽器中,都對(duì)這些特性提供了本地支持。對(duì)于不包含基于Webkit的瀏覽器的設(shè)備,我們還可以使用PhoneGap。PhoneGap讓我們可以使用web技術(shù)(包括HTML5)開發(fā)本地應(yīng)用程序,并把應(yīng)用程序包裝成為本地應(yīng)用程序,那樣就可以分發(fā)給用戶了(例如,通過平臺(tái)的應(yīng)用程序市場)。如果平臺(tái)還沒有內(nèi)建的WebKit瀏覽器,那么PhoneGap就會(huì)為其提供。PhoneGap應(yīng)用程序可以在六種不同的移動(dòng)平臺(tái)上運(yùn)行。

  JavaScript框架廠商注意到了這是個(gè)機(jī)會(huì),于是就構(gòu)建了多種能夠在移動(dòng)Web上運(yùn)行的框架。jQuery Mobile和Sencha Touch都是比較典型的例子。這些框架很容易給人留下深刻的印象,因?yàn)閷?duì)于當(dāng)前的開發(fā)者來說,使用它們來為移動(dòng)網(wǎng)絡(luò)開發(fā)應(yīng)用程序是一種不錯(cuò)的方式。然而,它們還都是基于JavaScript、HTML和CSS的,它們的目的都不是要開發(fā)應(yīng)用程序,而是要開發(fā)包含超鏈接文檔的網(wǎng)絡(luò)應(yīng)用。各種框架試圖對(duì)這些語言進(jìn)行調(diào)整,從而適合他們的新角色,但是這會(huì)引起你的思考,專門為開發(fā)移動(dòng)應(yīng)用程序 而設(shè)計(jì)的語言應(yīng)該是什么樣子的呢?

  如果我們想要設(shè)計(jì)這樣的一種語言,需要解決什么樣的問題呢?

  • 首先要解決的就是工具的支持。從事企業(yè)級(jí)開發(fā)的開發(fā)者(比方說Java和.NET的開發(fā)者)習(xí)慣使用像Eclipse之類的IDE特性,像在鍵入的時(shí)候就能夠突出顯示錯(cuò)誤、代碼自動(dòng)完成、引用解析、代碼大綱以及重構(gòu)等等。JavaScript和HTML在本質(zhì)上就是動(dòng)態(tài)的,這讓它們很強(qiáng)大,但是也讓工具廠商很難為其創(chuàng)建出Eclipse和InteliJ那種級(jí)別的IDE。對(duì)于當(dāng)前所有語言來說,良好的IDE支持都是前提條件。
  • 第二個(gè)要解決的問題是簡潔。例如,用戶界面框架經(jīng)常會(huì)包含大量類似的代碼,它們的作用就是把數(shù)據(jù)從數(shù)據(jù)庫中復(fù)制到用戶界面,或者把界面上的數(shù)據(jù)復(fù)制回?cái)?shù)據(jù)庫。我們的新語言應(yīng)該減少開發(fā)者所需要編寫的樣板化代碼。
  • 第三個(gè)問題是JavaScript的異步編程模型。在瀏覽器中,JavaScript是單線程的,開發(fā)者需要使用回調(diào)機(jī)制來執(zhí)行數(shù)據(jù)庫查詢之類耗費(fèi)資源的操作,比方說,我們不會(huì)編寫像下面這樣的同步代碼:
    var results = tx.executeQuery("SELECT * FROM User");
    for(var i = 0; i < results.length; i++) {
    ...
    }

    it知識(shí)庫mobl:針對(duì)移動(dòng)Web開發(fā)的DSL,轉(zhuǎn)載需保留來源!

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: av影音先锋天堂网 | 日本zljzljzlj精品 | 我解开了岳的乳第一个女人 | 美女打开双腿扒开屁股男生 | 国产亚洲精品久久久久久久软件 | 2018年免费三级av观看 | 真实国产乱子伦精品一区二区三区 | yellow片在线观看免费观看动漫 | 在线观看永久免费网址 | 乳欲性高清在线 | 久久久久久久网站 | a视频在线免费观看 | 99久久中文字幕伊人情人 | 脱jk裙的美女露小内内无遮挡 | 37大但人文艺术A级都市天气 | 免费在线看视频 | 午夜福利网国产A | 玩两个少妇女邻居 | 国产欧美在线亚洲一区刘亦菲 | 精品国产手机视频在在线 | 久久受www免费人成_看片中文 | 麻豆狠色伊人亚洲综合网站 | 欲乱艳荡少寡妇全文免费 | 91精品国产免费入口 | 久久亚洲国产中文字幕 | 456亚洲人成在线播放网站 | 亚洲麻豆精品成人A在线观看 | 99国产精品成人免费视频 | 久久久久久久久久综合情日本 | 99久久精品国产一区二区三区 | 亚洲福利天堂网福利在线观看 | 国产精品人妻无码久久久奥特曼 | 阿娇和冠希13分钟在线观看 | 一二三四在线观看高清电视剧 | 国产亚洲精品精华液 | 亚洲七七久久桃花综合 | 日本人吃奶玩奶虐乳 | 好男人在线观看免费视频WWW | 午夜视频在线观看国产 | 中国人泡妞xxxxxxxx19 | 久草在线福利资站免费视频 |