◆侯憲忠
(營(yíng)口職業(yè)技術(shù)學(xué)院 遼寧 115000)
高職院校基于AppCan平臺(tái)的移動(dòng)互聯(lián)教學(xué)研究
◆侯憲忠
(營(yíng)口職業(yè)技術(shù)學(xué)院 遼寧 115000)
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,在各高職院校中計(jì)算機(jī)相關(guān)專業(yè)的課程中都加入了移動(dòng)互聯(lián)軟件開發(fā)的課程。這些課程對(duì)于學(xué)生的編程基礎(chǔ)要求較高,在基礎(chǔ)知識(shí)部分學(xué)習(xí)過(guò)程中掉隊(duì)的學(xué)生較多。本文就基于AppCan移動(dòng)平臺(tái)進(jìn)行移動(dòng)互聯(lián)應(yīng)用開發(fā)代替原生開發(fā)教學(xué)進(jìn)行了研究和探討。
AppCan;Ajax;JSON
本文利用了AppCan平臺(tái)來(lái)代替原生的安卓與IOS開發(fā)課程,使課程難度降低并且可以更快速的完成移動(dòng)互聯(lián)應(yīng)用的開發(fā)。
Hybrid混合應(yīng)用開發(fā)是指同時(shí)采用網(wǎng)頁(yè)語(yǔ)言與程序語(yǔ)言進(jìn)行混合應(yīng)用開發(fā),由AppCan所開發(fā)出的移動(dòng)應(yīng)用已經(jīng)非常接近原生的移動(dòng)應(yīng)用,但與Web應(yīng)用還是有區(qū)別的。在開發(fā)的過(guò)程中大量使用了HTML與JavaScript語(yǔ)言,這就意味著這種開發(fā)模式大大的降低了技術(shù)難度、開發(fā)周期與開發(fā)成本,同時(shí)也大大的降低了使用者的門檻。Hybrid混合應(yīng)用開發(fā)兼具了Native App與Web App兩者的諸多優(yōu)點(diǎn)。
AppCan的個(gè)人版是免費(fèi)的,不會(huì)增加任何的使用成本與教學(xué)成本。其編碼主要使用的語(yǔ)言有HTML5、CSS3與JavaScript,還需要任意一種Web編程語(yǔ)言。使用其內(nèi)置的AppCan IDE集成開發(fā)工具、在線編譯系統(tǒng)以及云端打包器等,AppCan可以快速生成Android、iOS、Windows Phone平臺(tái)上的本地App。
圖1 生成過(guò)程
HTML5與CSS3對(duì)于高職學(xué)生是可以掌握的,即使掌握的不全面也會(huì)有大量的資料或例子可以查閱。AppCan的界面部分就是由HTML5與CSS3完成的。因此界面的設(shè)計(jì)較原生的安卓界面設(shè)計(jì)要容易的多。AppCan的IDE中集成了很多免費(fèi)的界面模板,這些模板同時(shí)也為界面的設(shè)計(jì)提供了相當(dāng)多的參考。學(xué)生也可使用DreamWeaver等設(shè)計(jì)工具自行設(shè)計(jì)界面。
JavaScript對(duì)于AppCan開發(fā)來(lái)說(shuō)起著承前啟后作用。它可以通過(guò)Ajax技術(shù)將數(shù)據(jù)打包發(fā)送給服務(wù)器端,也可以將服務(wù)器端的處理結(jié)果解析后,將數(shù)據(jù)放置到頁(yè)面的相應(yīng)位置上。AppCan封裝了相當(dāng)多的函數(shù)供界面開發(fā)使用。由于是國(guó)產(chǎn)平臺(tái),所有其SDK文檔也是中文的,這對(duì)于英文水平有限的高職學(xué)生而言方便多了。AppCan中常用的功能模塊如下:
1.1 本地存儲(chǔ)LocStorage
在HTML5中的Web 存儲(chǔ)形式有以下兩種:sessionStorage與localStorage。無(wú)論哪種方式都是以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù)信息的。AppCan對(duì)于HTML5的Web Storage進(jìn)行了再封裝故直接使用AppCan所提供的函數(shù)就可以方便的進(jìn)行本地存儲(chǔ)。
1.2 窗口模塊Window與浮動(dòng)窗口模塊Frame
窗口的作用是用來(lái)實(shí)現(xiàn)應(yīng)用中多窗口機(jī)制的最基本單元,它的作用與原生安卓中的Activity一樣。但要比原生安卓中的Activity使用起來(lái)方便快捷很多。在一個(gè)主窗口之中可以有任意多個(gè)浮動(dòng)窗口Frame,也就是說(shuō)浮動(dòng)窗口是在主窗口的內(nèi)部的。當(dāng)主窗被關(guān)閉的時(shí)候,這個(gè)主窗口內(nèi)部所有浮動(dòng)窗口也會(huì)自動(dòng)關(guān)閉。
1.3 網(wǎng)絡(luò)請(qǐng)求Request
該請(qǐng)求的核心技術(shù)為Ajax技術(shù),AppCan對(duì)其進(jìn)行更深層次的封裝。它以Ajax的形式發(fā)送請(qǐng)求,由服務(wù)端接收這個(gè)請(qǐng)求,之后服務(wù)端將處理得到j(luò)son數(shù)據(jù)發(fā)送回請(qǐng)求頁(yè),請(qǐng)求頁(yè)中由JavaScript對(duì)Json進(jìn)行解析。
1.4 Listview列表組件
列表組件是根據(jù)AppCan 布局框架對(duì)數(shù)據(jù)列表進(jìn)行封裝的JS對(duì)象,通過(guò)css樣式的配合,可以快速完成列表控件的開發(fā)。其數(shù)據(jù)都是由Json類型數(shù)據(jù)提供。
1.5 Slider圖片輪播組件與Tab選項(xiàng)卡組件
兩個(gè)組件都是根據(jù)AppCan 布局框架對(duì)圖片輪播與Tab選項(xiàng)卡所封裝的JS對(duì)象,通過(guò)css樣式的配合,可以相就功能界面的開發(fā)。
對(duì)于原有已經(jīng)成型的教師團(tuán)隊(duì)調(diào)整非常小,AppCan中每一個(gè)技術(shù)環(huán)節(jié)都是原有課程體系中的一部分,如HTML,Css,JavaScript,Web編程等。原有師資配備可以直接保留,原HTML、Css部分的課程體系不變,只是在頁(yè)面設(shè)計(jì)的時(shí)候要按照后機(jī)分辨率進(jìn)行調(diào)整。JavaScript與JQuery的教學(xué)需在原有基礎(chǔ)上加強(qiáng),有針對(duì)性的對(duì)AppCan包提供的常用函數(shù)與寫法進(jìn)行強(qiáng)化。Web編程方面相對(duì)來(lái)說(shuō)有了一定的簡(jiǎn)化,因?yàn)樗械囊晥D頁(yè)面不需要任何的HTML內(nèi)容,它們所需要的僅是將數(shù)據(jù)處理成的JSON。
2.1 AppCan平臺(tái)的技術(shù)前提
雖然AppCan的技術(shù)難度比原生的安卓、IOS開發(fā)低,但是學(xué)好這門技術(shù)也是需要一定的技術(shù)前提的,只不過(guò)這些技術(shù)前提與學(xué)生之前學(xué)過(guò)的技術(shù)差別不大,更容易掌握而以。AppCan界面的搭建都是由html完成的,在AppCan開發(fā)中,所謂的界面其實(shí)就是常見的html頁(yè)面。HTML如果沒(méi)有Css樣式去修飾很難保證統(tǒng)一的頁(yè)面風(fēng)格。HTML、CSS、JavaScript三者的關(guān)系非常緊密。如果說(shuō)頁(yè)面是一間房子,那么其中的HTML元素就如同磚、木、土、鋼、水泥、沙子等各種材料,CSS就如同讓房子看起來(lái)像怎樣的設(shè)計(jì)規(guī)范或者圖紙,JavaScript就是用來(lái)調(diào)整用CSS規(guī)范建成的房子的各個(gè)已經(jīng)就位的元素,讓它們能夠靈活地移動(dòng)或變化,比如控制一扇門的開與關(guān),把窗簾從一邊移動(dòng)另一邊等等。Web開發(fā)技術(shù)對(duì)AppCan來(lái)說(shuō)只是執(zhí)行業(yè)務(wù)操作并對(duì)界面以JSON的形式提供數(shù)據(jù),它是整個(gè)技術(shù)前提中相對(duì)較為復(fù)雜的一塊,它除了Web操作方面還要對(duì)數(shù)據(jù)庫(kù)、SQL語(yǔ)句等有一定的了解才可以,但該技術(shù)通常是軟件專業(yè)必備的課程。
2.2 課程與就業(yè)
在當(dāng)今高度競(jìng)爭(zhēng)的環(huán)境下,各中小軟件企業(yè)都會(huì)對(duì)企業(yè)的技術(shù)方向有所調(diào)整,在軟件企業(yè)的一個(gè)項(xiàng)目團(tuán)隊(duì)中,很難找到同時(shí)具備安卓與IOS兩種開發(fā)能力的員工。而AppCan的特點(diǎn)決定了它是可以跨平臺(tái)使用的,移動(dòng)端開發(fā)大大的降低了開發(fā)技術(shù)難度,AppCan的開發(fā)人員同樣可以大大降低軟件企業(yè)的開發(fā)成本。高職的學(xué)生掌握AppCan開發(fā)技術(shù)對(duì)于他們的實(shí)習(xí)及就業(yè)的幫助是非常大的。同時(shí)AppCan的學(xué)習(xí)過(guò)程中,有一些必備的技術(shù)前提,這些技術(shù)同樣可以成為學(xué)生實(shí)習(xí)及就業(yè)的砝碼,所以實(shí)習(xí)與就業(yè)還可以輻射出一些其它崗位,如前臺(tái)美工,Web應(yīng)用開發(fā)等。
AppCan使用簡(jiǎn)單,學(xué)生只需要在掌握Web前臺(tái)頁(yè)面設(shè)計(jì)的同時(shí),再掌握一門Web開發(fā)語(yǔ)言即可,如Jsp、PHP等。Web開發(fā)語(yǔ)言這一塊并不需要掌握的太深,因?yàn)檫@些Web開發(fā)語(yǔ)言所涉及的頁(yè)面沒(méi)有任何Html標(biāo)記元素,只是將服務(wù)器端處理的結(jié)果以json的數(shù)據(jù)形式響應(yīng),而后由JavaScript將這個(gè)JSON解析出的數(shù)據(jù)放置到AppCan頁(yè)面的相應(yīng)位置。原理簡(jiǎn)單,降低了開發(fā)的門檻,節(jié)約了大量的開成本,同時(shí)對(duì)于高職學(xué)生的教學(xué)課程體系有著承上啟下的作用。學(xué)生易掌握,教師易備課,企業(yè)易用,無(wú)論從哪個(gè)角度來(lái)看,該項(xiàng)技術(shù)都非常適合在高職院校推廣。