japanese少妇高潮潮喷 -精品国产AV一区二区三区-麻豆av一区二区三区久久-国产精品无码专区

手機APP開發框架的選擇

發布時間:2025-10-03 點擊:9
手機app的開發一般都需要滿足android和ios兩個系統環境,也就意味著一個app需要定制兩套實現方案,造成開發成本和維護成本都很高。為了解決這個問題,最好的辦法就是實現一套代碼跨端運行,所以hybrid app混合應用模式應運而生。在hybrid app整個開發框架上,有各種各樣的框架,各種各樣的技術選型,而現在主要的技術就是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框架來充當js bridge,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的 javascript api 包裝器
解決原生開發中機型適配的難題
提供打包、部署的工具或服務
都需要學習自身封裝的 javascript api
篩選框架的要求:
性能:運行速度快
ui:提供接近原生的ui體驗
插件多,文檔豐富,開發效率高,容易擴展和維護
滿足業務需求
1,cordova
cordova 和 phonegap 的區別?
phonegap 是 apache cordova 的一個分發版,就像 ubuntu 是 基于 linux 的一個發行版,其代碼庫也基于 cordova,只是 phonegap 關聯了 adobe 的一些額外的商業工具或服務,例如 phonegap build 和 adobe shadow,來幫助開發者簡化開發。
此外,兩者提供的cli工具、項目結構有差異,如:
cordova 把 config.html 放在項目目錄下,而 phonegap 把它放在www 目錄下。
優點:
開源免費,社區生態成熟,插件豐富
支持離線場景應用
開發工具選擇空間大
缺點:
只提供基礎訪問設備的接口,需要自己搭配其他ui框架和javascript框架來搭配
ui框架
framework7
msui | github
famous
為任意屏幕創建流暢、復雜的ui。
免費和開源的javascript渲染引擎。著名引擎的獨特之處在于其javascript渲染引擎和3d物理引擎。
官網 | github | hello world
使用 famo.us 創建高性能移動 ui
2,ionic
官網地址:http://www.ionic.wang/ (有案例)
ionic = cordova + angularjs + 一套樣式庫。
技術要求
html + css + angularjs
優點:
基于 cordova
漂亮的界面,追求性能,專注原生,免費開源
angular js mvvm 開發理念,數據雙向綁定
繼承自 cordova,可以使用 cordova 的插件
缺點:
angular js 學習路線陡峭
ionic 框架相比于原生的 cordova 有所差異,cordova 某些官方插件可能不適用于ionic
3,appcan
通過appcan ide集成開發系統、云端打包器等,快速開發出android、ios、wp平臺上的移動應用。
有兩種方式創建項目:ide 和云端,并且ide可以同步到云端。
免費用戶有100m空間、50個應用的限制。
優點
提供一體化解決方案,方便環境搭建、開發、調試、發布
框架自帶ui包,包含常用控件樣式
框架對ui、動畫渲染進行過優化,反應速度快
支持本地打包、云端打包
基于密鑰的代碼加密
缺點
不開源,無法修改、優化底層代碼
分大眾版和企業版,大眾版免費,但功能有缺失,詳細見附錄
暫不支持自行開發控件/,無法調取android原生功能
框架自帶功能過多,導致應用安裝包偏大。
文檔偏少
部分系統無法使用ide進行調試
只能在服務器端發布,無法在本地發布
ios發布,需要將證書上傳至服務器
4,apicloud
優點:
不懂原生開發,不懂后臺語言就可完成app
缺點:
更新速度快,版本不夠穩定
面向不懂app開發人群,不適合程序員和科技公司,過度依賴會降低技術水平
涉嫌抄襲dcloud大量代碼
5,react native
能夠在javascript和react的基礎上獲得完全一致的開發體驗,構建世界的原生app。
僅需學習一次,編寫任何平臺。(learn once, write anywhere)
缺點:
初次學習成本高
必須在不同平臺下寫兩套代碼,依賴暴露的接口

網站備案常見問題有哪些,房山SEO公司告訴你
上海網站制作的建站流程
seo優化排名的重點包括哪些方面?
搜索引擎的重要性
淺談購物網站的圖片設計
對網站熱點內容關鍵詞優化的一點建議
品牌網站開發需符合用戶習慣
網站備案的核驗內容