• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    用HTML5開發(fā)移動(dòng)應(yīng)用

    2012-12-31 00:00:00亢華愛

    摘 要:自2010年發(fā)布 Sencha Touch最初版本,HTML5和移動(dòng)網(wǎng)絡(luò)的發(fā)展也突飛猛進(jìn),許多開發(fā)人員以移動(dòng)網(wǎng)絡(luò)作為創(chuàng)建應(yīng)用程序的一個(gè)平臺(tái),Sencha Touch框架在其中發(fā)揮了重要作用,尤其是加速了基于 HTML5 瀏覽器的應(yīng)用普及。本文通過(guò)示例的方式對(duì)Sencha Touch的使用進(jìn)行介紹

    關(guān)鍵詞:Sencha Touch HTML5 webkit

    中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2012)3(a)-0030-03

    Sencha Touch是第一個(gè)HTML5移動(dòng)開發(fā)框架,Sencha Touch能夠快速地構(gòu)造出基于HTML5的手機(jī)應(yīng)用,通過(guò)它構(gòu)造出來(lái)的程序有著與原生應(yīng)用一致的用戶體驗(yàn),目前該框架兼容Android、iOS、BlackBerry這些主流手機(jī)平臺(tái)。ExtJS是用于創(chuàng)建網(wǎng)絡(luò)前端用戶界面的,它是與后臺(tái)技術(shù)無(wú)關(guān)的前端Ajax框架,其功能豐富,無(wú)論是界面之美,還是功能之強(qiáng)都高居榜首?,F(xiàn)在ExtJS整合JQTouch等推出了適用于前沿Touch Web的Sencha Touch的框架,該框架是第一個(gè)基于HTML5的Mobile App框架,同時(shí)ExtJS更名為Sencha。Sencha Touch可以讓你的Web App體現(xiàn)出美妙的用戶界面和豐富的數(shù)據(jù)管理,它基于最新的HTML5和CSS3的WEB標(biāo)準(zhǔn),全面兼容Android、Apple iOS、BlackBerry設(shè)備。在個(gè)人機(jī)上,它兼容webkit為核心的瀏覽器,如:chrome、safari、maxthon等。

    1 Sencha Touch特性介紹

    (1)基于最新的WEB標(biāo)準(zhǔn),HTML5,CSS3,JavaScript。整個(gè)庫(kù)在壓縮成gzip后大約只有80KB,通過(guò)禁用一些組件還會(huì)使它更小。

    (2)支持世界上最好的設(shè)備,Beta版兼容Android和iOS,Android上的開發(fā)人員還可以使用一些專為Android定制的應(yīng)用。

    (3)增強(qiáng)的觸摸事件,在touchstart、touchend等標(biāo)準(zhǔn)事件基礎(chǔ)上,增加了一組自定義事件數(shù)據(jù)集成,如tap、swipe、pinch、rotate等。

    (4)數(shù)據(jù)集成,提供了強(qiáng)大的數(shù)據(jù)包,通過(guò)Ajax、JSONp、YQL等方式綁定到組件模板,寫入本地離線存儲(chǔ)。

    2 做好準(zhǔn)備工作

    首先,我們下載最新的Sencha Touch SDK并解壓至Web服務(wù)器根目錄。下載Sencha Touch 2.0的地址:http://cdn.sencha.io/touch/sencha-touch-2.0.0-pr1.zip。查看2.0文檔:http://docs.sencha.com/touch/2-0/。Sencha Touch 2.0 中所有被廣泛使用的類在API目錄中都有,在這些文檔里面還有很多演示示例,并可以修改它們。文檔中還包括所有組件,你可以清楚的了解這些組件。該文檔還詳細(xì)解釋了Layouts, Components and Classes,如何使用tab panels, forms and carousels。Sencha Touch 2.0 的新功能可去這里了解:http://html5mobi.gotoip1.com/discussion/61/sencha-touch-2-what-s-new-in-sencha-touch-2.0。

    總而言之,需要一個(gè)免費(fèi)的Sencha Touch SDK,一個(gè)本機(jī)的web服務(wù)器和一個(gè)支持HTML5的瀏覽器。如果你沒有Web服務(wù)器,建議安裝WAMP或者M(jìn)AMP。

    完成上述工作后,只需要用瀏覽器打開http://localhost/sencha-touch-folder,你就能看到歡迎界面了。

    3 通過(guò)網(wǎng)絡(luò)學(xué)習(xí)示例

    在http://extjs.org.cn/taxonomy/term/261里,有一個(gè)《使用sencha touch開發(fā)新浪微博iPhone界面》的示例,看了以后相信不少對(duì)sencha touch感興趣的人會(huì)為Javascript能開發(fā)出這樣的手機(jī)Web App應(yīng)用而感到興奮。Sencha Touch提供相當(dāng)多的原生UI組件,以滿足手機(jī)上的UI設(shè)計(jì)。這個(gè)示例以iPhone界面作為參考,使用Sencha Touch開發(fā)設(shè)計(jì)模仿iPhone界面:

    以iPhone的界面目標(biāo)作為參考對(duì)比Sencha Touch實(shí)現(xiàn)的界面(如表1):

    具體實(shí)現(xiàn)見:http://www.imsankyu.com/archives/sencha-touch-develop-sina-weibo-iPhone-page/

    再來(lái)看一個(gè)示例:

    首先看index.html文件:

    Getting Started

    它引入了Sencha Touch框架的js文件和css文件和代碼文件:app.js,body標(biāo)簽的內(nèi)容為空。接下來(lái)看app.js文件中的內(nèi)容,這里只是彈出一個(gè)警告對(duì)話框:

    Ext.application({

    name:’Sencha’,

    launch:function(){

    alert(‘launched’);

    }});

    接下來(lái)我們啟動(dòng)Safari,看看他是否如我們預(yù)期的一樣,或者點(diǎn)擊代碼左側(cè)的“眼睛”圖標(biāo)來(lái)查看運(yùn)行的效果。警報(bào)消息的彈出意味著Sencha Touch已經(jīng)正確地被加載運(yùn)行了?,F(xiàn)在開始構(gòu)建界面:一個(gè)TabPanel,TabPanel是一個(gè)標(biāo)簽式的界面,允許你在多個(gè)頁(yè)面之間瀏覽:

    Ext.application({

    name:’Sencha’,

    launch:function(){

    Ext.create(“Ext.TabPanel”,{

    fullscreen:true,

    items:[

    {

    title:’Home’,

    iconCls:’home’,

    html:’Welcome’

    }]});}});

    現(xiàn)在,TabPanel已經(jīng)顯示在屏幕上了,但把標(biāo)簽放在頂部有點(diǎn)不大好看、主頁(yè)按鈕似乎也有些單調(diào)、還沒有任何內(nèi)容。

    下面修改tabBarPosition配置項(xiàng)并添加一些HTML內(nèi)容:

    Ext.application({

    name:’Sencha’,

    launch:function(){

    Ext.create(“Ext.TabPanel”,{

    fullscreen:true,

    tabBarPosition:’bottom’, // tabBar設(shè)在下方

    items:[

    {

    title:’Home’,

    iconCls:’home’, //添加Tab的圖標(biāo)

    html:[ //添加內(nèi)容

    ’,

    Welcome to Sencha Touch

    ’,

    You’re creating the Getting Started app. This demonstrates how ”

    “to use tabs,lists and forms to create a simple app

    ”,

    Sencha Touch (2.0.0prl)

    ].join(“”)}]});}});

    到目前為止,我們已經(jīng)有了一些HTML內(nèi)容了,調(diào)整一下格式。設(shè)置HTML內(nèi)容的樣式,只要給panel添加cls配置項(xiàng)即可。下面再深入一下,我們希望在一個(gè)單獨(dú)的選項(xiàng)卡顯示我們的內(nèi)容,在這里先選用一些虛構(gòu)的數(shù)據(jù)。

    Ext.application({

    name:’Sencha’,

    launch:function(){

    Ext.create(“Ext.TabPanel”,{

    fullscreen:true,

    tabBarposition:’bottom’,

    items:[

    {

    title:’Home’,

    iconCls:’home’,

    cls:’home’,

    html:[

    Welcome to Sencha Touch

    ’,

    You’re creating the Getting Started app. This demonstrates how ”

    ”to use tabs, lists and forms to create a simple app

    ”,

    Sencha Touch (2.0.0pr1)

    ].join(””)

    },{

    xtype:’list’,

    title:’Blog’,

    iconCls:’star’,

    itemTp1:’{title}’,

    store:{

    fields:[’title’,’url’],

    data:[

    {title:’Ext Scheduler 2.0’,url:’ext-scheduler-2-0-upgradin’}

    {title:’Previewing Sencha Touch 2’,url:’sencha-touch-2-wha’ }

    {title:’Sencha Con 2011’,url:’senchacon-2011-now-packen-w’}

    {title:’Documentation in Ext JS 4’,url:’new-ext-js-4-docu’}

    ]}}]

    }).setActiveItem(1);}});

    最后添加一個(gè)聯(lián)系表格,一個(gè)tab,包含一個(gè)FromPanel和一個(gè)FieldSet:

    Ext.application({

    name:’Sencha’,

    launch:function(){

    Ext.create(“Ext.TabPanel”,{

    fullscreen:true,

    tabBarPosition:’bottom’,

    items:[

    {

    title:’Home’,

    iconCls:’home’,

    cls: ’home’,

    html:[

    ’,

    Welcome to Sencha Touch

    ’,

    You’re creating the Getting Started app. This demonstrates how ”

    “to use tabs,lists and forms to create a simple app

    ”,

    Sencha Touch (2.0.0prl)

    ].join(“”)

    },{

    xtype:’list’,

    title:’Blog’,

    iconCls:’star’,

    itemTpl:’{ title }’,

    store:{

    fields:[‘title’,’url’],

    data:[

    {title:’Ext Scheduler 2.0’,url:’ext-scheduler-2-0-upgradin’}

    {title:’Previewing Sencha Touch 2’,url:’sencha-touch-2-wha’ }

    {title:’Sencha Con 2011’,url:’senchacon-2011-now-packen-w’}

    {title:’Documentation in Ext JS 4’,url:’new-ext-js-4-docu’}

    ]}

    },{

    title:’Contact’,

    iconCls:'user',

    xtype:'formpanel',

    url:'contact.php',

    layout:'vbox',

    items:[ {

    xtype:'fieldset',

    title:'Contact Us',

    instructions:'(email address is optional)',

    items:[ {

    xtype:'textfield',

    label:'Name',

    }, {

    xtype:'emailfield',

    label:'Email',

    }, {

    xtype:'textareafield',

    label:'Message',

    } ]}, {

    xtype:'button',

    text:'Send',

    ui:'confirm',

    handler: function() {

    this.up('formpanel').submit();

    } } ]]

    }).setActiveItem(2);}});

    在第三個(gè)tab中,添加了一個(gè)表格,其中包含三個(gè)字段和一個(gè)提交按鈕,使用了VBOX布局來(lái)定位下方的提交按鈕,fieldset配置了一個(gè)title和一些instructions,用了一個(gè)textfield,一個(gè)emailfield和一個(gè)textareafield。

    4 結(jié)論

    Sencha Touch需要有以下文件:一個(gè)HTML文件index.html,其中引入Sencha Touch框架以及應(yīng)用程序文件,一個(gè)應(yīng)用程序文件app.js,它定義主屏幕的圖標(biāo)和程序啟動(dòng)時(shí)所需要做的事件,框架文件的副本touch?,F(xiàn)在我們看到了已經(jīng)完成了的非?;镜膽?yīng)用程序,往下可以學(xué)習(xí)使用框架的其他部分了,網(wǎng)上提供許多開發(fā)指南和組件的示例供大家學(xué)習(xí),相信隨著Beta版的發(fā)展,將會(huì)有更多的指南為構(gòu)建不同規(guī)模的應(yīng)用程序而推出。

    西乌珠穆沁旗| 道真| 平南县| 德清县| 都兰县| 辉县市| 晴隆县| 龙门县| 汕头市| 霞浦县| 陆良县| 文昌市| 广昌县| 沛县| 伊通| 富平县| 哈尔滨市| 阿拉善右旗| 安义县| 凯里市| 太原市| 美姑县| 克山县| 武安市| 明溪县| 阿克陶县| 江油市| 太仆寺旗| 乡城县| 湘西| 淮阳县| 鄄城县| 海丰县| 榕江县| 九龙城区| 筠连县| 安乡县| 濉溪县| 五莲县| 庆城县| 丹巴县|