1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          手機APP開發框架的選擇

          來源:互聯網轉載 時間:2024-09-30 17:40:25

          手機App的開發一般都需要滿足Android和iOS兩個系統環境,也就意味著一個App需要定制兩套實現方案,造成開發成本和維護成本都很高。為了解決這個問題,最好的辦法就是實現一套代碼跨端運行,所以HybridApp混合應用模式應運而生。在HybridApp整個開發框架上,有各種各樣的框架,各種各樣的技術選型,而現在主要的技術就是Web技術,不僅簡單,更容易實現UI,開發者人數也比較多。目前市面上的大多數App都是采用Web+Native的混合技術來實現的。

          大型項目開發所面對的依賴管理、溝通成本問題,也出現在App開發的過程中,如果不解決好這兩個問題,很可能會引起項目缺陷增多、開發效率降低,進而導致項目延期,并且也會造成項目后期維護的難度增大。
          綜上,對于中大型的App開發項目,需要一個既支持混合開發模式、又能夠解決依賴和溝通問題的開發框架來有效的指導和規范開發。
          核心需求;
          一個好的App開發框架,要能在框架層面解決中大型App開發中Hybrid開發框架選型、模塊間解耦的問題,同時也要提供模塊動態變更、動態升級的解決方案。
          除了手機App的開發發框架之外,還應包括以下三部分內容:
          后臺發布管理平臺
          支持模塊動態變更、動態升級,后臺發布管理平臺是與之想配套的后臺管理功能,包括數據管理和App接口兩部分。
          持續集成方案
          提供配套的持續集成方案,用于項目開發過程中自動打包。
          H5模塊開發規范
          提供H5模塊開發的規范,用于實現動態模塊功能。
          解決“規模變大”問題思路
          分而治之
          模塊化,將業務功能劃分成多個獨立的模塊;
          模塊間做到高內聚低耦合,互不干擾、并行開發
          依賴統一管理
          依賴不可避免;
          對依賴進行統一規劃管理;
          模塊間的依賴可以歸納為:
          頁面間跳轉
          API調用
          解決“跨平臺”問題思路
          Cordova(PhoneGap)
          業界最主流的開源移動跨端框架
          HTML+CSS+JS+原生插件
          開放式的原生插件框架
          強大的社區力量
          解決“動態升級”問題思路
          App發布到應用市場后,往往需要一個比較長的審核周期,特別是蘋果商店;當App的重要功能出現Bug時,需要有快速的應對方案,重新發版本到應用市場肯定是慢了。為了快速的應對業務需求的變化和緊急Bug的處理,App對動態升級的需求越來越頻繁。所以實現一套動態升級方案,主要以模塊為單位展開。
          從動態模塊的角度,將模塊分為三種:NA模塊、H5-offline模塊、H5-online模塊。
          NA模塊的頁面都需要預置在App中,H5-offline模塊的頁面可以預置在應用中、也可以在應用安裝后再下載,H5-online模塊的頁面部署在服務器端。
          模塊的動態性主要體現有以下幾方面:
          1、模塊的icon、名字可以動態修改;
          2、模塊的三種類型之間可以互相切換,比如:某個模塊本來是NA實現,上線后發現有重大Bug,可以切換到H5-offine或者H5-online的實現,如果沒有這兩種實現,可以切換到一個“敬請期待”的在線頁面;
          3、H5-offline模塊支持版本升級。
          對于模塊動態升級,主要指的是H5-offline模塊,對H5-offline模塊的安全性要做充分的考慮:對模塊的離線包有進行加密處理,也要對離線包里的文件進行哈希校驗,防止被篡改。
          技術架構
          App開發框架應以模塊化設計為基礎,同時打通NA與H5兩種不同技術實現的業務。模塊主要分為兩種形態:
          NA模塊
          主要由NA頁面組成,也可以是NA容器加載的H5頁面,NA模塊可以對外提供api;
          H5模塊
          由H5頁面組成,可以是離線頁面也可以是在線頁面,H5模塊無法對外提供api,但是可以調用其他NA模塊提供的api;
          實現模塊間的完全解耦,推薦模塊代碼不僅要邏輯上獨立,最好是采用子工程的方式實現物理上的分離。通過三條總線機制來實現模塊間的解耦:
          API總線
          主要提供模塊api注冊和調用兩個能力;
          頁面導航總線
          不區分NA和H5的融合頁面設計,頁面的打開和返回由頁面導航總線統一調度;
          模塊總線
          模塊總線從邏輯上確定了模塊的概念,同時支持模塊的遠程變更和動態升級;
          采用業界最流行的Cordova框架來充當JSBridge,Cordova擁有大量的社區插件可以使用,同時也提供了完整的插件開發規范,非常容易自定義開發插件。
          開發框架應對API總線、頁面導航總線、模塊總線這些核心能力提供了cordova插件的實現,使H5頁面也能夠輕松的調用這些api,并且做到NA與H5調用無差異化。
          開發框架發布件
          App開發框架庫:
          framework(android&ios)
          plugins(js)
          App工程Demo(android&ios)
          server:
          發布管理平臺的部署包、接口文檔、部署手冊等文件
          產品白皮書:
          對開發框架的使用進行詳細的講解
          開發框架集成
          使用Cordova命令行創建項目工程;
          向工程中導入開發框架庫framework(android&ios);
          為主工程和子工程創建開發框架統一約定的配置文件;
          在App啟動的時候調用開發框架的初始化方法,進行初始化;
          集成完畢,可以在項目中正常使用開發框架的API
          開發框架配置文件
          在使用開發框架前,需要將api、page、module注冊到開發框架對應的總線中,除了調用對應的注冊外,開發框架推薦采用配置文件的注冊方式,只需要將數據配在配置文件中,開發框架會自動完成注冊。
          開發框架的配置文件的命名約定為:開發框架名稱-子工程名.xml,其中主工程為開發框架名稱-main.xml,配置文件的約定放置的位置為:
          Android放在主工程和子工程的assets的根目錄下;
          iOS放在主工程和子工程的bundle文件中。
          模塊總線主要有兩方面的功能:
          在邏輯上,以模塊為基礎在開發框架配置文件中組織頁面和API,使得邏輯更清晰;
          在功能上,模塊總線主要實現動態模塊的功能,對外提供兩個核心的API類:
          ModuleBus提供模塊的原子化操作方法;
          ModuleHelper封裝了ModuleBus提供的原子方法,實現了業務的串聯,是一個快捷使用API的輔助類
          注:模塊總線將模塊的狀態分為:正常、未安裝、有新版本(分強制升級和非強制升級)、已下載、模塊數據被篡改。
          開發框架頁面導航總線
          主要功能:
          對NA頁面和H5頁面的跳轉進行統一的調度,通過維護一個頁面的棧來實現。
          核心API:
          開發框架頁面API總線
          API總線主要的作用是解耦模塊間的方法調用,提供的核心API只有兩個:
          register
          模塊實現API后,向總線注冊(一般由框架在解析配置文件時自動調用);
          call
          調用API,調用方通過API總線調用需要調用的API
          使用舉例
          登錄成功后,賬戶模塊保存登錄token,其他的模塊需要獲取token時,要調用賬戶模塊提供的API獲取。實現步驟如下:
          1、賬戶模塊實現GetTokenAPI,調用APIBus.register(“m_account”,“getToken”,GetTokenAPI.class)注冊到API總線;
          2、A模塊需要獲取token時,調用APIBus.call(“m_account”,“getToken”,“入參”)獲取token,返回值是APIResult對象(
          對象主要包含狀態碼和業務字符串)。
          開發框架擴展
          提供模塊級別的開發框架:
          NA模塊提供MVC、MVP、MVVM等開發框架;
          H5模塊提供MVVM、SPA等開發框架;
          H5模塊提供微信的兼容支持

          跨平臺App開發框架比較;
          每個框架幾乎都包含以下特性:
          使用HTML5+CSS+JavaScript開發
          跨平臺重用代碼
          豐富的UI庫
          提供訪問設備原生API的JavaScriptAPI包裝器
          解決原生開發中機型適配的難題
          提供打包、部署的工具或服務
          都需要學習自身封裝的JavaScriptAPI
          篩選框架的要求:
          性能:運行速度快
          UI:提供接近原生的UI體驗
          插件多,文檔豐富,開發效率高,容易擴展和維護
          滿足業務需求
          1,Cordova
          Cordova和PhoneGap的區別?
          PhoneGap是ApacheCordova的一個分發版,就像Ubuntu是基于Linux的一個發行版,其代碼庫也基于Cordova,只是PhoneGap關聯了Adobe的一些額外的商業工具或服務,例如PhoneGapBuild和AdobeShadow,來幫助開發者簡化開發。
          此外,兩者提供的CLI工具、項目結構有差異,如:
          Cordova把config.html放在項目目錄下,而PhoneGap把它放在www目錄下。
          優點:
          開源免費,社區生態成熟,插件豐富
          支持離線場景應用
          開發工具選擇空間大
          缺點:
          只提供基礎訪問設備的接口,需要自己搭配其他UI框架和JavaScript框架來搭配
          UI框架
          Framework7
          MSUI|Github
          Famous
          為任意屏幕創建流暢、復雜的UI。
          免費和開源的JavaScript渲染引擎。著名引擎的獨特之處在于其JavaScript渲染引擎和3D物理引擎。
          官網|Github|HelloWorld
          使用Famo.us創建高性能移動UI
          2,Ionic
          官網地址:http://www.ionic.wang/(有案例)
          Ionic=Cordova+AngularJS+一套樣式庫。
          技術要求
          HTML+CSS+AngularJS
          優點:
          基于Cordova
          漂亮的界面,追求性能,專注原生,免費開源
          AngularJSMVVM開發理念,數據雙向綁定
          繼承自Cordova,可以使用Cordova的插件
          缺點:
          AngularJS學習路線陡峭
          Ionic框架相比于原生的Cordova有所差異,Cordova某些官方插件可能不適用于Ionic
          3,AppCan
          通過AppCanIDE集成開發系統、云端打包器等,快速開發出Android、iOS、WP平臺上的移動應用。
          有兩種方式創建項目:IDE和云端,并且IDE可以同步到云端。
          免費用戶有100M空間、50個應用的限制。
          優點
          提供一體化解決方案,方便環境搭建、開發、調試、發布
          框架自帶UI包,包含常用控件樣式
          框架對UI、動畫渲染進行過優化,反應速度快
          支持本地打包、云端打包
          基于密鑰的代碼加密
          缺點
          不開源,無法修改、優化底層代碼
          分大眾版和企業版,大眾版免費,但功能有缺失,詳細見附錄
          暫不支持自行開發控件/,無法調取android原生功能
          框架自帶功能過多,導致應用安裝包偏大。
          文檔偏少
          部分系統無法使用IDE進行調試
          只能在服務器端發布,無法在本地發布
          IOS發布,需要將證書上傳至服務器
          4,APICloud
          優點:
          不懂原生開發,不懂后臺語言就可完成APP
          缺點:
          更新速度快,版本不夠穩定
          面向不懂App開發人群,不適合程序員和科技公司,過度依賴會降低技術水平
          涉嫌抄襲DCloud大量代碼
          5,ReactNative
          能夠在Javascript和React的基礎上獲得完全一致的開發體驗,構建世界一流的原生APP。
          僅需學習一次,編寫任何平臺。(Learnonce,writeanywhere)
          缺點:
          初次學習成本高
          必須在不同平臺下寫兩套代碼,依賴暴露的接口

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          20萬的越野車哪款更值得購買?威蘭達官方指導價:17.18-24.18萬?;靹油m達是一款緊湊型SUV,它以外觀、實用寬敞的車內空間、齊全的功能吸引消費者。同時百公里不到5L的油耗表現對于一款緊湊型SUV來說是錦上添花?;谒袛祿?,威蘭達雙引擎具有熱銷車型的DNA。20萬左右的越野車排行榜前十名?1.蒂關湖官方指導價:21.58-35.08萬。級別:中型SUV途觀L是一款中型SUV。說它中等大小...

          excel 編輯欄隱藏怎么辦?方法/步驟1、也可以很明白的注意到表格癥狀,外菜單欄和表格,其他功能早看達將近了。2、再點擊菜單欄輸入按扭會再次出現工具欄,在最右側有一個“固定不動功能區”的按鈕點擊即可固定設置。3、功能區工具欄已經復原,接下來的再點Excel左上角“文件/圓形按鈕”,在彈出菜單中,然后點擊“選項”,在自動彈出的窗口中,點擊左側“中級”,將滾動條向外滾動,找不到“沒顯示”,將“顯示編...

          怎么在手機注冊淘寶帳號,支付寶帳號?四種方法:能夠先注冊成功支付寶賬戶,然后再用支付寶賬號直接登錄淘寶即可順利完成淘寶網的注冊。具體操作步驟以下:1、進入智能手機整個市場,在搜索頁面中鍵入“支付寶錢包淘寶天貓”,然后在搜索的最終中分別點擊首頁可下載支付寶錢包以及淘寶。2、下載的軟件不成功后,打開后智能手機支付寶手機app,在登陸頁面找到并點擊菜單界面低部的“申請賬號”。3、在新號碼注冊新頁面,輸號...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>