• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      校園業(yè)務(wù)中混合模式移動應(yīng)用軟件架構(gòu)的實(shí)現(xiàn)

      2015-08-29 04:07高晶
      中國信息技術(shù)教育 2015年16期
      關(guān)鍵詞:混合模式移動應(yīng)用

      高晶

      摘要:近些年,隨著移動互聯(lián)網(wǎng)和移動終端的迅速發(fā)展,移動應(yīng)用越來越受到人們的青睞,很多日常工作都可以通過移動應(yīng)用來處理,移動應(yīng)用成為基于計(jì)算機(jī)終端應(yīng)用的有力補(bǔ)充,移動應(yīng)用技術(shù)也成為當(dāng)前計(jì)算機(jī)技術(shù)領(lǐng)域的研究熱點(diǎn)。本文分析了當(dāng)前移動應(yīng)用的發(fā)展和開發(fā)模式,結(jié)合當(dāng)前校園移動應(yīng)用發(fā)展現(xiàn)狀,構(gòu)建了校園混合模式移動應(yīng)用軟件架構(gòu),力求通過使用該架構(gòu),探索出校園移動應(yīng)用開發(fā)的新途徑。

      關(guān)鍵詞:移動應(yīng)用;混合模式;軟件架構(gòu)

      中圖分類號:G434 文獻(xiàn)標(biāo)識碼:A 論文編號:1674-2117(2015)15/16-0119-03

      移動應(yīng)用的發(fā)展和開發(fā)模式

      2000年,中國移動互聯(lián)網(wǎng)誕生,2010年已被業(yè)界普遍認(rèn)為是移動互聯(lián)網(wǎng)的元年。從2000到2010的十年時(shí)間里,中國移動互聯(lián)網(wǎng)呈爆發(fā)式發(fā)展,使得在移動終端上使用各種互聯(lián)網(wǎng)應(yīng)用漸漸成為一種習(xí)慣。移動應(yīng)用的發(fā)展激發(fā)了廣大開發(fā)者進(jìn)行移動應(yīng)用創(chuàng)作的極大熱情。目前,移動應(yīng)用開發(fā)方式主要分為三種類型:原生開發(fā)模式、移動Web開發(fā)模式和混合開發(fā)模式。

      原生開發(fā)模式使用移動終端操作系統(tǒng)所支持的程序語言來編寫移動應(yīng)用。目前市場上移動終端操作系統(tǒng)有很多種。因此,要使用原生開發(fā)模式開發(fā)出一款能夠適用于各種操作系統(tǒng)的原生應(yīng)用,開發(fā)者需要花費(fèi)大量的時(shí)間和精力來進(jìn)行平臺間的移植工作,這就決定了采用原生開發(fā)模式進(jìn)行移動應(yīng)用開發(fā)具有周期長、開發(fā)門檻高、開發(fā)成本高、不跨平臺等缺點(diǎn)。當(dāng)然,原生開發(fā)模式也有優(yōu)點(diǎn),它可以訪問移動終端的所有功能,速度更快、性能更高、用戶體驗(yàn)更好,等等。

      移動Web開發(fā)模式使用傳統(tǒng)的Web開發(fā)技術(shù)進(jìn)行開發(fā),通過移動終端瀏覽器進(jìn)行訪問。較原生開發(fā)模式,它具有開發(fā)周期短、開發(fā)門檻低、開發(fā)成本低、跨平臺等優(yōu)點(diǎn),但是移動Web應(yīng)用是基于瀏覽器的,無法調(diào)用移動終端系統(tǒng)API來實(shí)現(xiàn)一些高級功能,用戶體驗(yàn)差。

      混合開發(fā)模式采用Web開發(fā)技術(shù),通過中間件包裝成各平臺的應(yīng)用程序,可以通過中間件的集成,調(diào)用大部分常用的移動終端系統(tǒng)API。因此,混合開發(fā)模式同時(shí)具有原生開發(fā)模式和移動Web開發(fā)模式的優(yōu)點(diǎn),即具有跨平臺、開發(fā)門檻低、開發(fā)成本低等優(yōu)點(diǎn)。

      校園移動應(yīng)用發(fā)展現(xiàn)狀

      目前國內(nèi)各大高校基本完成了校園無線網(wǎng)的基礎(chǔ)設(shè)施覆蓋,為移動終端開展各項(xiàng)應(yīng)用打開了方便之門。但就目前的情況看,校園的移動應(yīng)用還存在一些問題,成熟的校園移動應(yīng)用很少,部分校園移動應(yīng)用是由學(xué)生團(tuán)體自發(fā)組織進(jìn)行研發(fā),研發(fā)過程缺乏統(tǒng)一的規(guī)劃和科學(xué)的工程性管理,可維護(hù)性比較差,難以實(shí)現(xiàn)可持續(xù)發(fā)展。要想使校園移動應(yīng)用更好地、持久地服務(wù)于廣大師生,就需要構(gòu)建一個校園移動應(yīng)用軟件架構(gòu),學(xué)生通過簡單的學(xué)習(xí)就可以進(jìn)行校園移動應(yīng)用的開發(fā)和維護(hù)工作,這樣就可以保持移動應(yīng)用的研發(fā)團(tuán)體相對穩(wěn)定,也可以保證校園移動應(yīng)用的可持續(xù)發(fā)展。

      校園混合模式移動應(yīng)用軟件架構(gòu)的構(gòu)建

      混合開發(fā)模式具有開發(fā)門檻低、跨平臺開發(fā)的優(yōu)點(diǎn),是今后移動應(yīng)用開發(fā)的主流,也是進(jìn)行校園移動應(yīng)用開發(fā)的首選。但目前采用混合開發(fā)模式的校園移動應(yīng)用較少,大部分應(yīng)用仍處于摸索階段,并沒有形成成熟的技術(shù)體系。因此,在對基于HTML5的混合開發(fā)模式研究的基礎(chǔ)上,我們構(gòu)建了混合模式移動應(yīng)用軟件架構(gòu),并應(yīng)用此架構(gòu)進(jìn)行校園移動應(yīng)用的開發(fā),力求通過使用該架構(gòu),探索出校園移動終端應(yīng)用開發(fā)的新途徑。

      基于混合開發(fā)模式的混合移動應(yīng)用軟件架構(gòu)分為服務(wù)器端業(yè)務(wù)邏輯處理和移動應(yīng)用UI設(shè)計(jì)兩個部分,如下圖所示。

      1.服務(wù)器端業(yè)務(wù)邏輯處理

      服務(wù)器端業(yè)務(wù)邏輯的處理我們采用了MVC設(shè)計(jì)模式,在具體的處理上,采用了Spring MVC框架和MySql數(shù)據(jù)庫。為了便于移動應(yīng)用的數(shù)據(jù)顯示,架構(gòu)采用了JSON數(shù)據(jù)交換格式。通過配置Jackson類庫,實(shí)現(xiàn)JSON的輸入和輸出,并在此基礎(chǔ)上提供了WEBService接口,將處理后的數(shù)據(jù)轉(zhuǎn)化為JSON格式。采用Spring MVC中的@ResponseBody將JSON數(shù)據(jù)傳遞給客戶端。這里重點(diǎn)介紹Spring MVC配置、數(shù)據(jù)庫操作和JSON傳遞的實(shí)現(xiàn)方法。

      (1)SpringMVC配置

      在Java Web項(xiàng)目中導(dǎo)入Spring的類庫集,并按照如下內(nèi)容的配置web.xml文件。

      spring

      org.springframework.web.servlet.DispatcherServlet

      1

      其中DispatcherServlet是前端控制器設(shè)計(jì)模式的實(shí)現(xiàn),提供Spring Web MVC的集中訪問點(diǎn),而且與Spring IoC容器無縫集成。然后在spring-servlet.xml文件中配置數(shù)據(jù)庫、注解、反射、國際化,并創(chuàng)建Controller、Service、Dao的相關(guān)基類,用于被未來MVC中使用的類來繼承,通常情況下,基類中配置了日志處理,基本的增、刪、改、查的方法,便于最大范圍地實(shí)現(xiàn)多態(tài)。

      (2)數(shù)據(jù)庫操作

      Spring MVC的Dao層和Service層是處理數(shù)據(jù)庫操作和業(yè)務(wù)邏輯功能的部分。通過Dao層完成針對數(shù)據(jù)庫系統(tǒng)的增、刪、改、查,通過Service層進(jìn)行業(yè)務(wù)判斷。通過繼承JdbcDaoSupport類定義Dao基類,再針對每一個數(shù)據(jù)結(jié)構(gòu)定義自己的Dao類,這樣便于數(shù)據(jù)獨(dú)立性的處理,也可以為持久化奠定基礎(chǔ)。

      (3)JSON傳遞

      Spring MVC支持JSON,一定要引用jackson-core-asl和jackson-mapper-asl的類庫,并在Spring的配置文件中,增加如下配置。

      public class JsonData {

      public List legend = new ArrayList();

      public JsonData(List legendList) {

      super();

      this.legend = legendList;

      }

      }

      在服務(wù)器端定義如下JSON數(shù)據(jù)類。

      通過Controller類中的方法將數(shù)據(jù)JSON化。在Controller類中,定義@ResponseBody,直接將JsonData實(shí)例傳遞給客戶端就完成了JSON數(shù)據(jù)向客戶端推送。具體實(shí)現(xiàn)代碼如下:

      @RequestMapping("test.do")

      @ResponseBody

      public JsonData test() {

      List legend = new ArrayList(Arrays.asList(new String[]{"test1"}));

      JsonData data=new JsonData(legend);

      return data;

      除上述關(guān)鍵點(diǎn)以外,考慮到服務(wù)器端向外提供接口的時(shí)候,有信息安全的要求,在客戶端訪問服務(wù)器端接口的時(shí)候需要通過HTTPS協(xié)議進(jìn)行安全認(rèn)證,并遵照軟件架構(gòu)的自身要求進(jìn)行協(xié)議握手認(rèn)證,這樣就防止了校園關(guān)鍵信息的泄露和惡意攻擊。

      2.移動應(yīng)用UI設(shè)計(jì)

      我們的移動應(yīng)用UI設(shè)計(jì)部分采用成熟的JS組件與原生API混合形式進(jìn)行,當(dāng)進(jìn)行普通畫面顯示的時(shí)候,采用HTML、CSS3和JQuery Mobile技術(shù),當(dāng)需要設(shè)備端功能的時(shí)候,調(diào)用原生API。這里重點(diǎn)介紹獲取并顯示JSON數(shù)據(jù)、本地存儲和移動應(yīng)用界面效果的實(shí)現(xiàn)方法。

      (1)獲取并顯示JSON數(shù)據(jù)

      在移動應(yīng)用端獲取JSON數(shù)據(jù),通常采用ajax方式,這樣客戶的體驗(yàn)感受會更好,配合Loading的顯示,整個移動應(yīng)用端非常流暢。JQUERY提供了非常完善的ajax方法。下面代碼是在Id為show_div的div中顯示JSON數(shù)據(jù)的實(shí)現(xiàn)方法。

      $.ajax({

      type: "post",

      url: "test.do",

      dataType: "json",

      success: function (data) {

      $("#show_div").val(data[0]. legend);

      },

      error: function (XMLHttpRequest, textStatus, errorThrown) {

      alert(errorThrown);

      }

      });

      (2)本地存儲

      為了保證用戶在離線的情況下,可以查看本地已經(jīng)下載完成的數(shù)據(jù)信息,如校園的新聞信息、課程信息等,需要將一些數(shù)據(jù)信息保存在本地,保證非實(shí)時(shí)在線的情況下應(yīng)用是可用的。我們采用HTML5的存儲方式,存儲少量數(shù)據(jù)的時(shí)候,使用Local Storage來實(shí)現(xiàn),如果存儲的數(shù)據(jù)偏大,使用Web SQL Database來實(shí)現(xiàn)。通過HTML5操作Web SQL Database的openDatabase、transaction、executeSql三個基本方法,分別規(guī)定了數(shù)據(jù)庫打開、事務(wù)處理、執(zhí)行SQL語句的使用方式。我們定義了基本的客戶端數(shù)據(jù)庫結(jié)構(gòu)以后,通過這些基本方法操作數(shù)據(jù)庫將信息保存在本地。

      (3)移動應(yīng)用界面效果

      通過JQUERY Mobile實(shí)現(xiàn)客戶端的界面效果,主要是將一個應(yīng)用中的多個Page實(shí)現(xiàn)出來,再經(jīng)過各種效果的頁面跳轉(zhuǎn),構(gòu)成整個界面風(fēng)格的主體。

      Page是JQUERY Mobile的重要組成部分,由data-role="page"屬性產(chǎn)生,每個Page由header、content和footer組成(不是必須的),配合JQUERY Mobile提供的標(biāo)準(zhǔn)控件,構(gòu)成一系列常用的Page庫,這個Page庫就是移動應(yīng)用的UI框架。當(dāng)然作為后續(xù)擴(kuò)展開發(fā)者,可以自定義Page來實(shí)現(xiàn)自己的應(yīng)用界面。

      將上述這些功能集成為一套功能集合,就形成了一個混合模式移動應(yīng)用軟件架構(gòu)的雛形,在此基礎(chǔ)之上,開發(fā)人員可以更多地關(guān)注業(yè)務(wù)本身,而不需要考慮底層的技術(shù)問題,這樣既保證了應(yīng)用的完善性,也將共通性功能進(jìn)行了最大化的資源共享。

      結(jié)語

      混合模式移動應(yīng)用軟件架構(gòu)的實(shí)現(xiàn),有利于簡化移動應(yīng)用開發(fā)流程,有利于高校移動應(yīng)用的發(fā)展,從而推進(jìn)智慧校園建設(shè)和深化校園移動信息化建設(shè),促進(jìn)“互聯(lián)網(wǎng)+”發(fā)展戰(zhàn)略的實(shí)施。后續(xù)我們還會將架構(gòu)的應(yīng)用引入學(xué)生的興趣社團(tuán),將校園移動應(yīng)用開發(fā)的工作以項(xiàng)目的形式組織學(xué)生來完成,通過基于項(xiàng)目的實(shí)踐教學(xué),深化實(shí)踐教學(xué)改革,促進(jìn)卓越工程師培養(yǎng)計(jì)劃的實(shí)施。

      參考文獻(xiàn):

      劉歡,張?jiān)鲂?,晨輝.華東師范大學(xué):混合開發(fā)移動應(yīng)用[J].中國教育網(wǎng)絡(luò),2013(7):63-65.

      猜你喜歡
      混合模式移動應(yīng)用
      MOOC+SPOC+CDIO混合模式教學(xué)在軟件開發(fā)類課程教學(xué)中的研究
      大學(xué)生創(chuàng)新創(chuàng)業(yè)課程教學(xué)改革與探索
      整合突破,奮勇前進(jìn)
      T學(xué)校公共設(shè)施便捷報(bào)修平臺的移動應(yīng)用研究
      云計(jì)算環(huán)境下的微課移動云平臺設(shè)計(jì)
      大數(shù)據(jù)時(shí)代下免費(fèi)手機(jī)軟件盈利模式探討
      探討創(chuàng)業(yè)板上市公司治理結(jié)構(gòu)對盈利能力的影響
      基于APICloud的“校園健身達(dá)人”APP設(shè)計(jì)與實(shí)現(xiàn)
      職業(yè)教育課程的現(xiàn)代教學(xué)策略的實(shí)效
      移動互聯(lián)網(wǎng)在防汛工作中的應(yīng)用
      天水市| 胶南市| 肇东市| 乌拉特中旗| 凤山市| 读书| 明水县| 佛山市| 绥阳县| 贵港市| 河北省| 获嘉县| 安塞县| 友谊县| 石泉县| 西华县| 磐石市| 平潭县| 广水市| 承德县| 体育| 乌拉特中旗| 萝北县| 舟山市| 得荣县| 怀仁县| 上林县| 集贤县| 三台县| 衡阳市| 通道| 松阳县| 波密县| 华蓥市| 牙克石市| 泸定县| 龙海市| 天水市| 永寿县| 鹤岗市| 商河县|