<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>跨平臺的移動應(yīng)用開發(fā)研究 查詢:
               
          跨平臺的移動應(yīng)用開發(fā)研究

                      摘 要 

                      隨著智能手機(jī)的快速發(fā)展,移動應(yīng)用成為主流的發(fā)展方向,移動系統(tǒng)以IOS,Android,WP三大移動操作系統(tǒng)為主。由于三大移動系統(tǒng)之間互相不支持,每一種應(yīng)用都需要進(jìn)行多次開發(fā),費工費時,跨平臺移動應(yīng)用開發(fā)成為重要需求。本文介紹Xamarin這一跨平臺開發(fā)解決方案,通過案例展示此解決方案的應(yīng)用技術(shù)及經(jīng)驗。  

                      1 Xamarin跨平臺解決方案 

                      目前移動應(yīng)用的跨平臺技術(shù)主要有兩種,一種是基于WEB的移動開發(fā),只需要使用標(biāo)準(zhǔn)的HTML及JavaScript,進(jìn)行開發(fā),那么只要移動終端安裝有合適的瀏覽器,則可以實現(xiàn)應(yīng)用的跨平臺;一種是使用特定的跨平臺技術(shù)和框架,開發(fā)出能運行在各種主流移動操作系統(tǒng)上的APP應(yīng)用程序。 

                      Xamarin始創(chuàng)于2011年,旨在使移動開發(fā)變得難以置信地迅捷和簡單。Xamarin的產(chǎn)品簡化了針對多種平臺的應(yīng)用開發(fā),包括IOS、Android、Windows Phone和Mac App。 

                      Xamarin Studio提供了很多現(xiàn)代開發(fā)所需功能,包括代碼完成、調(diào)試器、打包和發(fā)布應(yīng)用(支持通過TestFlight發(fā)布應(yīng)用程序)。對于Android,Xamarin還包含了自己的UI生成器(對于IOS,則使用蘋果Xcode的UI生成器),此外還集成了Git和Subversion。開發(fā)者可以使用Xamarin Studio

                      在模擬器和真機(jī)上對移動應(yīng)用進(jìn)行測試和bug調(diào)試。 

                      2 開發(fā)注意事項 

                      雖然Xamarin可以實現(xiàn)跨平臺開發(fā),但由于移動平臺自身的顯著差異,在開發(fā)跨平臺應(yīng)用時,仍必須注意一些重要問題。 

                      1)Xamarin工作基本原理。 

                      在IOS系統(tǒng)上,Xamarin的AOT編譯器將C#代碼直接編譯成本地ARM匯編代碼。Android上,將C#編譯成IL中間語言,運行時即時編譯器JIT將IL翻譯成本地匯編。在這兩種系統(tǒng)下,Xamarin都實現(xiàn)了.NET運行時,包括內(nèi)存分配,垃圾回收,底層平臺調(diào)用等。正因為如此,Xamarin對于不同的平臺,使用了并不完全一樣的處理技術(shù),因此也就并不是完全意義上的跨平臺。 

                      2)不是所有代碼都能跨平臺。 

                      正是由于Xamarin的工作原理決定了Xamarin平臺開發(fā)的應(yīng)用,仍必須按操作系統(tǒng)設(shè)定的應(yīng)用開發(fā)和工作模式進(jìn)行,進(jìn)而涉及到界面的展示、事件處理、系統(tǒng)服務(wù)、硬件操作與管理等仍必須針對不同的操作系統(tǒng)進(jìn)行單獨的開發(fā)。 

                      3)系統(tǒng)需要進(jìn)行有效的模塊化。 

                      由于Xamarin的開發(fā)并不能實現(xiàn)完全地跨平臺,因此,在開發(fā)系統(tǒng)時,必須進(jìn)行有效的模塊化設(shè)計,不僅需要進(jìn)行分層設(shè)計,而且需要根據(jù)代碼是否能跨平臺而再次進(jìn)行劃分。 

                      3 項目需求 

                      本項目以高職護(hù)理專業(yè)學(xué)生頂崗實習(xí)過程的管理自動化為主要目標(biāo),兼顧學(xué)習(xí)生技術(shù)和知識查詢需求。 

                      系統(tǒng)分為服務(wù)器端、PC端管理子系統(tǒng)、移動平臺應(yīng)用APP等三部分。 

                      其中,移動平臺為了方便快捷并在無網(wǎng)絡(luò)覆蓋的環(huán)境下仍能使用,必須把系統(tǒng)管理的所有模塊數(shù)據(jù)下載并保存到移動 

                      平臺。 

                      服務(wù)器端則為以上兩子系統(tǒng)提供服務(wù)。 

                      系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。 

                      圖1 系統(tǒng)網(wǎng)絡(luò)圖 

                      4 系統(tǒng)設(shè)計與實現(xiàn) 

                      為提高代碼的復(fù)用程度,服務(wù)器端通過Rest服務(wù)向移動APP提供多媒體資源以外的所有服務(wù),PC管理子系統(tǒng)則開發(fā)成B/S結(jié)構(gòu)系統(tǒng),因此,服務(wù)器端與PC管理子系統(tǒng)同時進(jìn)行設(shè)計與開發(fā),兩個子系統(tǒng)整合成一個子系統(tǒng),以下簡稱為服務(wù)器子系統(tǒng)。為了保證系統(tǒng)的安全性,移動應(yīng)用APP與服務(wù)器之間的網(wǎng)絡(luò)訪問采用了HTTPS協(xié)議。為了簡化數(shù)據(jù)的處理以及降低數(shù)據(jù)傳輸量,移動應(yīng)用與服務(wù)器之間的所有數(shù)據(jù)采用JSON格式。 

                      1)服務(wù)器子系統(tǒng)設(shè)計與實現(xiàn)。 

                      由于Xamarin目前必須使用.NET平臺,所以服務(wù)器子系統(tǒng)使用ASP.NET MVC + WEB API的架構(gòu)完成。 

                      在服務(wù)器子系統(tǒng)中,進(jìn)行分層設(shè)計,系統(tǒng)提供PC管理子系統(tǒng)所需要的UI,同時提供為移動應(yīng)用APP的服務(wù)接口。 

                      服務(wù)器子系統(tǒng)中,DAL和BLL層還抽象出對應(yīng)的IDAL和IBLL層,用于定義接口,并為提供核心框架和公用模塊,加設(shè)了Common和Core兩模塊。DAL采用Entity Framework 6

                      實現(xiàn),同時為了方便采用代碼生成器對快速建立系統(tǒng),系統(tǒng)還采用了由Unity 3實現(xiàn)的IoC(控制反轉(zhuǎn):Inversion of Control,英文縮寫為IoC,是一個重要的面向?qū)ο缶幊痰姆▌t來削減計算機(jī)程序的耦合問題,也是輕量級的Spring框架的核心)。PC端管理子系統(tǒng)UI則選用了EasyUI技術(shù)快速實現(xiàn)用戶界面。 

                      2)移動應(yīng)用APP設(shè)計與實現(xiàn)。 

                      移動應(yīng)用APP設(shè)計的關(guān)鍵與重點在于把能從具體平臺中抽象出來的模塊和功能,必須提取出來,并設(shè)計好接口以適應(yīng)不同平臺中具體接口要求。移動應(yīng)用APP結(jié)構(gòu)如圖2所示。 

                      圖2 移動APP結(jié)構(gòu)圖 

                      其中UI模塊需要根據(jù)不同的移動平臺操作分別獨立開發(fā),而BLL(業(yè)務(wù)邏輯層)、DAL(數(shù)據(jù)庫訪問層)、Entity(實體類層)、DelegateLib(委托定義庫)、DBMS(數(shù)據(jù)庫

                      管理系統(tǒng),包括數(shù)據(jù)庫)、WebClient(網(wǎng)絡(luò)代理層)等所有模塊都要通用。 

                      為保證所有模塊的通用性,數(shù)據(jù)庫采用Sqlite 3,所有數(shù)據(jù)庫訪問統(tǒng)一通過DAL完成,為了更方便地完成數(shù)據(jù)庫訪問引進(jìn)SQLite.Net工具實現(xiàn)ORM,WebClient完成所有的網(wǎng)終訪問,Entity定義所有的實體類,DelegateLib定義所有需要的委托類型,BLL則完成所有的業(yè)務(wù)邏輯處理。 對于移動應(yīng)用中的多媒體、文檔操作以及LBS功能,由于各平臺操作系統(tǒng)的不同,也必須分別實現(xiàn),而文檔、GPS的信息則存儲在數(shù)據(jù)庫中,以此實現(xiàn)盡可能多的代碼與數(shù)據(jù)的跨平臺共享。 

                      除了UI模塊外,所有的模塊都設(shè)計開發(fā)成可移植類庫(Portable Class Library,簡稱PCL),因此,對于WebClient中的網(wǎng)絡(luò)訪問類HttpClient,其功能則于一般類庫中的HttpClient類要弱,開發(fā)時,需要做更多的處理工作。 

                      所有可能的長時間操作和處理過程,都采用異步方式實現(xiàn),在操作完成后引發(fā)事件,通過事件處理程序完成后繼處理,所有的網(wǎng)絡(luò)訪問、數(shù)據(jù)庫訪問都采用了此類方法實現(xiàn),保證應(yīng)用運行過程中,既不會被操作系統(tǒng)認(rèn)為超時而處理,也不會影響其它正在運行的應(yīng)用。 

                      5 發(fā)展展望 

                      Xamarin近來正在與微軟進(jìn)行合適和收購談判,業(yè)界估計微軟一旦收購Xamarin公司,則將很快把其作為Visual Studio開發(fā)工具的一部分發(fā)布,使得在統(tǒng)一的Visual Studio

                      中就能完成Xamarin for Android、Xamarin for IOS以及Windows Phone的開發(fā),而不像目前在Xamarin for IOS中,還需要再新創(chuàng)建一個解決方案,再把所需要的PCL引入。 

                      移動應(yīng)用的開發(fā)正在熱火朝天的發(fā)展,客戶對于成本的敏感性又非常之高,Xamarin是目前最好的低成本跨平臺開臺框架和技術(shù),發(fā)展前景可謂非常美好,得到微軟的幫助將會以更快的速度得到飛躍式發(fā)展,研究和積累Xamarin的開發(fā)技術(shù)及經(jīng)驗,對中小公司也具備很大的吸引力。 

                      


          酒店客房管理系統(tǒng)需求分析HMS酒店客房管理詳細(xì)設(shè)計
          MIS酒店客房管理信息HMS酒店客房數(shù)據(jù)庫設(shè)計
          HMS酒店客房系統(tǒng)流程圖酒店客房消耗品的控制與分析
          酒店客房信息管理系統(tǒng)HMS酒店客房預(yù)定管理系統(tǒng)設(shè)計方案
          客房管理系統(tǒng)-C語言設(shè)計方案HMS客房管理系統(tǒng)解決方案
          客房管理軟件系統(tǒng)設(shè)計方案客房管理系統(tǒng)軟件設(shè)計方案
          信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 国产精品秘 国产A级 | 亚欧精品在线视频 | 韩国久久网 | 国产人妻精品一区二区三水牛影视 | 无码操逼视频观看 | 久久久影院 | 免费观看一级黄片 | 天天综合天天干 | 国产精品自拍三级 | 黄色一级片免费在线观看 |