一区二区三区高清aⅴ专区,台湾中文娱乐网,亚洲第一网站

以下哪個是混合app開發(fā)框架(以下哪個是混合app開發(fā)框架結(jié)構(gòu))

網(wǎng)站建設(shè) 3857
本篇文章給大家談?wù)勔韵履膫€是混合app開發(fā)框架,以及以下哪個是混合app開發(fā)框架結(jié)構(gòu)對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 Hybrid App 用哪個框架好 國內(nèi)外Hybrid App的開發(fā)框架眾多。如何選擇又成為一個難題。下面對開發(fā)者比較關(guān)心的集中知名跨平臺開發(fā)移動應(yīng)用中間件進行列表和對比,以便選擇最適合您的移動應(yīng)用中間件。PhoneGap是相對比較早進入公眾視線的一種選擇。但是,開發(fā)者簡單的基于PhoneGap來開發(fā)移動應(yīng)用肯定會發(fā)現(xiàn)結(jié)果和Web App比較差的用戶體驗類似。這也是為什么基于PhoneGap有實用性的移動應(yīng)用主要集中在iOS上。可是PhoneGap這種現(xiàn)狀弱化了HTML5的跨平臺價值。

本篇文章給大家談?wù)勔韵履膫€是混合app開發(fā)框架,以及以下哪個是混合app開發(fā)框架結(jié)構(gòu)對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。

Hybrid App 用哪個框架好

國內(nèi)外Hybrid App的開發(fā)框架眾多。如何選擇又成為一個難題。下面對開發(fā)者比較關(guān)心的集中知名跨平臺開發(fā)移動應(yīng)用中間件進行列表和對比,以便選擇最適合您的移動應(yīng)用中間件。

PhoneGap是相對比較早進入公眾視線的一種選擇。但是,開發(fā)者簡單的基于PhoneGap來開發(fā)移動應(yīng)用肯定會發(fā)現(xiàn)結(jié)果和Web App比較差的用戶體驗類似。這也是為什么基于PhoneGap有實用性的移動應(yīng)用主要集中在iOS上??墒荘honeGap這種現(xiàn)狀弱化了HTML5的跨平臺價值。

Titanium是一種基于翻譯機制的跨平臺中間件,能夠開發(fā)出具有Native體驗的移動應(yīng)用,但是因為翻譯機制的限制導(dǎo)致移動應(yīng)用開發(fā)不能像真正的HTML5開發(fā)一樣靈活。哪怕一個按鈕也不能像普通HTML一樣來編寫,而必須按照Titanium約定的特定格式。

Salama是全新研發(fā)的一套Hybrid APP和云端服務(wù)整合的開發(fā)套件。在終端,一共有三種開發(fā)模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,需要追求終端速度和顯示效果的開發(fā)者,可以在不改變原有的構(gòu)架思路的前提下進行開發(fā)。在JS模式下,所有的畫面顯示及業(yè)務(wù)邏輯均由JS程序?qū)崿F(xiàn),對于原來的基于WEB的開發(fā)者,只要熟悉JS、CSS、HTML的前端工程師就可以輕松構(gòu)建自己的應(yīng)用。在高度混合模式下,原生和HTML5可以隨意組合,可以為開發(fā)者在進行大型商業(yè)軟件開發(fā)的過程中提供最高的性價比。不僅如此,在云端Salama還提供了一整套云服務(wù),涵蓋了業(yè)務(wù)處理、數(shù)據(jù)庫操作、文件等資源的存儲分發(fā)等服務(wù)。Salama已經(jīng)為多家公司提供了方案,知名客戶有TOSHIBA-AIRCON、GEDORE等品牌商,同時也在Salama平臺上構(gòu)造了Ishow企業(yè)電子目錄產(chǎn)品服務(wù)。

AppCan在技術(shù)架構(gòu)上和PhoneGap類似是Web主體型中間件,但是通過結(jié)合了一些原生交互效果能夠達到iOS、Android平臺都比較一致的用戶體驗。但是相比PhoneGap的開源,AppCan相對封閉的路線顯得過于謹(jǐn)慎。

Hybrid App這個領(lǐng)域雖然還處于比較初期的階段,但是已經(jīng)有很多優(yōu)秀的公司和技術(shù)團隊在致力于跨平臺開發(fā)移動應(yīng)用中間件技術(shù)的研究,給了開發(fā)者眾多選擇。開發(fā)者可以根據(jù)實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現(xiàn)階段無法解決的問題,或最終夭折。Hybrid App正在被越來越多的公司和開發(fā)者所認(rèn)同,勢必會成為新世界的王。

android 混合開發(fā) 框架有哪些

Cordova是一個廣泛使用的Hybrid開發(fā)框架,它提供了一套js和Native交互規(guī)范

在Cordova的 SystemWebViewEngine 類中可以看到

private static void exposeJsInterface(WebView webView, CordovaBridge bridge) {

if ((Build.VERSION.SDK_INT Build.VERSION_CODES.JELLY_BEAN_MR1)) {

Log.i(TAG, "Disabled addJavascriptInterface() bridge since Android version is old.");

// Bug being that Java Strings do not get converted to JS strings automatically.

// This isn't hard to work-around on the JS side, but it's easier to just

// use the prompt bridge instead.

return;

}

webView.addJavascriptInterface(new SystemExposedJsApi(bridge), "_cordovaNative");

}

因此當(dāng)Android系統(tǒng)高于4.2時,Cordova還是使用 addJavascriptInterface 這種方式,因為這個方法在高版本上安全而且簡單,低于4.2的時候,用什么方法呢?

答案是 WebChromeClient.onJsPrompt 方法

WebView可以設(shè)置一個 WebChromeClient 對象,它可以處理js的3個方法

onJsAlert

onJsConfirm

onJsPrompt

這3個方法分別對應(yīng)js的 alert 、 confirm 、 prompt 方法,因為只有 prompt 接收返回值,所以js調(diào)用一個Native方法后可以等待Native返回一個參數(shù)。下面是 cordova.js 中的一段代碼:

/**

* Implements the API of ExposedJsApi.java, but uses prompt() to communicate.

* This is used pre-JellyBean, where addJavascriptInterface() is disabled.

*/

module.exports = {

exec: function(bridgeSecret, service, action, callbackId, argsJson) {

return prompt(argsJson, 'gap:'+JSON.stringify([bridgeSecret, service, action, callbackId]));

},

setNativeToJsBridgeMode: function(bridgeSecret, value) {

prompt(value, 'gap_bridge_mode:' + bridgeSecret);

},

retrieveJsMessages: function(bridgeSecret, fromOnlineEvent) {

return prompt(+fromOnlineEvent, 'gap_poll:' + bridgeSecret);

}

};

然后只要在 onJsPrompt 方法中使用 CordovaBridge 來處理js的prompt調(diào)用

/**

* Tell the client to display a prompt dialog to the user. If the client returns true, WebView will assume that the client will handle the prompt dialog and call the appropriate JsPromptResult method.

* p/

* Since we are hacking prompts for our own purposes, we should not be using them for this purpose, perhaps we should hack console.log to do this instead!

*/

@Override

public boolean onJsPrompt(WebView view, String origin, String message, String defaultValue, final JsPromptResult result) {

// Unlike the @JavascriptInterface bridge, this method is always called on the UI thread.

String handledRet = parentEngine.bridge.promptOnJsPrompt(origin, message, defaultValue);

if (handledRet != null) {

result.confirm(handledRet);

} else {

dialogsHelper.showPrompt(message, defaultValue, new CordovaDialogsHelper.Result() {

@Override

public void gotResult(boolean success, String value) {

if (success) {

result.confirm(value);

} else {

result.cancel();

}

}

});

}

return true;

}

混合app開發(fā)有哪些優(yōu)秀的前端框架可用

jquery mobile , bootstrap 都是很優(yōu)秀的前端框架,bootstrap 現(xiàn)在應(yīng)用的比較多,jquery mobile 么如果你習(xí)慣使用jquery,用起來會比較方便

web app開發(fā)使用哪個框架最好

第一款:Sencha Touch

Sencha Touch 是世界上第一個支持 HTML5 和 CSS3 標(biāo)準(zhǔn)的移動應(yīng)用框架,你可以使用 HTML5 來編寫音頻和視頻組件,還可以使用 LocalStorage Proxy 來存儲離線數(shù)據(jù),同時,大量 CSS3 樣式表為你提供了創(chuàng)建健壯樣式層的可能。

優(yōu)點

用戶體驗最接近Native App, 具有整體的UI組件、布局解決方案;

統(tǒng)一的編程代碼結(jié)構(gòu)和要求,良好組織的代碼易于維護;

繼承ExtJS 4的應(yīng)用程序MVC架構(gòu);

完善的API文檔,示例;活躍的社區(qū),網(wǎng)上有大量的文檔書籍幫助學(xué)習(xí);

缺點

兼容性差,僅支持webkit內(nèi)核的瀏覽器;

框架比較重量級,學(xué)習(xí)成本比較高;

商業(yè)化使用有版權(quán)問題;

第二款:jQuery Mobile

jQuery Mobile 是創(chuàng)建移動 web 應(yīng)用程序的框架。適用于所有流行的智能手機和平板電腦。使用 HTML5 和 CSS3 通過盡可能少的腳本對頁面進行布局。

優(yōu)點

跨瀏覽器兼容性最好,幾乎兼容所有的平臺和瀏覽器;

入門簡單,語法簡潔,編碼靈活,一些簡單的應(yīng)用直接用HTML既可實現(xiàn),無需Javascript;

開源插件與第三方擴展網(wǎng)上資源豐富;

完善的API文檔,示例;活躍的社區(qū),網(wǎng)上有大量的文檔書籍幫助學(xué)習(xí);

缺點

jQuery Mobile對代碼沒有特定的要求,后期維護難度較大;

第三款:Zepto

Zepto 就是一個 jQuery 的輕量級替代品,幾乎完全一樣的 API,但是專門為 Mobile 或者 HTML5 瀏覽器設(shè)計和優(yōu)化。

優(yōu)點

學(xué)習(xí)成本低,Zepto保持了與jQuery幾乎一樣的功能,使用gzip壓縮只有5-10k;

缺點

Zepto不支持Windows Phone下的IE ;

第四款:Wink Toolkit

優(yōu)點

Wink的核心庫是輕量級的,支持AMD規(guī)范的模塊化加載,功能接口相比Zepto更豐富;

提供很酷的2D、3D效果UI組件;

缺點

組件對 Android的支持程度不好,3D組件無法使用 ;

第五款:Ionic:高級的 HTML5 移動APP(Web App)開發(fā)框架

Ionic 是一個用HTML, CSS 跟JS 開發(fā)的一個用于移動設(shè)備的混合APP 開發(fā)框架,采用 Sass與AngularJS 開發(fā)。目前,Ionic 仍然處于臨測試狀態(tài)( alpha )。相信未來會成為開發(fā)者開發(fā) HTML5 應(yīng)用的一個不錯的選擇。

第六款:Amaze UI 中國首個開源 HTML5 跨屏前端框架

Amaze UI 是一個移動優(yōu)先的跨屏前端框架。易學(xué)易用。

以下哪個是混合app開發(fā)框架的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于以下哪個是混合app開發(fā)框架結(jié)構(gòu)、以下哪個是混合app開發(fā)框架的信息別忘了在本站進行查找喔。

掃碼二維碼