以下哪个是混合app开发框架(以下哪个是混合app开发框架结构)
本篇文章给大家谈谈以下哪个是混合app开发框架,以及以下哪个是混合app开发框架结构对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
Hybrid App 用哪个框架好
国内外Hybrid App的开发框架众多。如何选择又成为一个难题。下面对开发者比较关心的集中知名跨平台开发移动应用中间件进行列表和对比,以便选择最适合您的移动应用中间件。
PhoneGap是相对比较早进入公众视线的一种选择。但是,开发者简单的基于PhoneGap来开发移动应用肯定会发现结果和Web App比较差的用户体验类似。这也是为什么基于PhoneGap有实用性的移动应用主要集中在iOS上。可是PhoneGap这种现状弱化了HTML5的跨平台价值。
Titanium是一种基于翻译机制的跨平台中间件,能够开发出具有Native体验的移动应用,但是因为翻译机制的限制导致移动应用开发不能像真正的HTML5开发一样灵活。哪怕一个按钮也不能像普通HTML一样来编写,而必须按照Titanium约定的特定格式。
Salama是全新研发的一套Hybrid APP和云端服务整合的开发套件。在终端,一共有三种开发模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,需要追求终端速度和显示效果的开发者,可以在不改变原有的构架思路的前提下进行开发。在JS模式下,所有的画面显示及业务逻辑均由JS程序实现,对于原来的基于WEB的开发者,只要熟悉JS、CSS、HTML的前端工程师就可以轻松构建自己的应用。在高度混合模式下,原生和HTML5可以随意组合,可以为开发者在进行大型商业软件开发的过程中提供最高的性价比。不仅如此,在云端Salama还提供了一整套云服务,涵盖了业务处理、数据库操作、文件等资源的存储分发等服务。Salama已经为多家公司提供了方案,知名客户有TOSHIBA-AIRCON、GEDORE等品牌商,同时也在Salama平台上构造了Ishow企业电子目录产品服务。
AppCan在技术架构上和PhoneGap类似是Web主体型中间件,但是通过结合了一些原生交互效果能够达到iOS、Android平台都比较一致的用户体验。但是相比PhoneGap的开源,AppCan相对封闭的路线显得过于谨慎。
Hybrid App这个领域虽然还处于比较初期的阶段,但是已经有很多优秀的公司和技术团队在致力于跨平台开发移动应用中间件技术的研究,给了开发者众多选择。开发者可以根据实际的项目需求来选择中间件。Web App虽被浏览器厂商和搜索引擎公司所推崇,但存在用户体验差、盈利模式不明确等现阶段无法解决的问题,或最终夭折。Hybrid App正在被越来越多的公司和开发者所认同,势必会成为新世界的王。
android 混合开发 框架有哪些
Cordova是一个广泛使用的Hybrid开发框架,它提供了一套js和Native交互规范
在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");
}
因此当Android系统高于4.2时,Cordova还是使用 addJavascriptInterface 这种方式,因为这个方法在高版本上安全而且简单,低于4.2的时候,用什么方法呢?
答案是 WebChromeClient.onJsPrompt 方法
WebView可以设置一个 WebChromeClient 对象,它可以处理js的3个方法
onJsAlert
onJsConfirm
onJsPrompt
这3个方法分别对应js的 alert 、 confirm 、 prompt 方法,因为只有 prompt 接收返回值,所以js调用一个Native方法后可以等待Native返回一个参数。下面是 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调用
/**
* 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开发有哪些优秀的前端框架可用
jquery mobile , bootstrap 都是很优秀的前端框架,bootstrap 现在应用的比较多,jquery mobile 么如果你习惯使用jquery,用起来会比较方便
web app开发使用哪个框架最好
第一款:Sencha Touch
Sencha Touch 是世界上第一个支持 HTML5 和 CSS3 标准的移动应用框架,你可以使用 HTML5 来编写音频和视频组件,还可以使用 LocalStorage Proxy 来存储离线数据,同时,大量 CSS3 样式表为你提供了创建健壮样式层的可能。
优点
用户体验最接近Native App, 具有整体的UI组件、布局解决方案;
统一的编程代码结构和要求,良好组织的代码易于维护;
继承ExtJS 4的应用程序MVC架构;
完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点
兼容性差,仅支持webkit内核的浏览器;
框架比较重量级,学习成本比较高;
商业化使用有版权问题;
第二款:jQuery Mobile
jQuery Mobile 是创建移动 web 应用程序的框架。适用于所有流行的智能手机和平板电脑。使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局。
优点
跨浏览器兼容性最好,几乎兼容所有的平台和浏览器;
入门简单,语法简洁,编码灵活,一些简单的应用直接用HTML既可实现,无需Javascript;
开源插件与第三方扩展网上资源丰富;
完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点
jQuery Mobile对代码没有特定的要求,后期维护难度较大;
第三款:Zepto
Zepto 就是一个 jQuery 的轻量级替代品,几乎完全一样的 API,但是专门为 Mobile 或者 HTML5 浏览器设计和优化。
优点
学习成本低,Zepto保持了与jQuery几乎一样的功能,使用gzip压缩只有5-10k;
缺点
Zepto不支持Windows Phone下的IE ;
第四款:Wink Toolkit
优点
Wink的核心库是轻量级的,支持AMD规范的模块化加载,功能接口相比Zepto更丰富;
提供很酷的2D、3D效果UI组件;
缺点
组件对 Android的支持程度不好,3D组件无法使用 ;
第五款:Ionic:高级的 HTML5 移动APP(Web App)开发框架
Ionic 是一个用HTML, CSS 跟JS 开发的一个用于移动设备的混合APP 开发框架,采用 Sass与AngularJS 开发。目前,Ionic 仍然处于临测试状态( alpha )。相信未来会成为开发者开发 HTML5 应用的一个不错的选择。
第六款:Amaze UI 中国首个开源 HTML5 跨屏前端框架
Amaze UI 是一个移动优先的跨屏前端框架。易学易用。
以下哪个是混合app开发框架的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于以下哪个是混合app开发框架结构、以下哪个是混合app开发框架的信息别忘了在本站进行查找喔。