如何创建具有原生外观的混合应用程序

Posted

技术标签:

【中文标题】如何创建具有原生外观的混合应用程序【英文标题】:How to create hybrid apps with native look and feel 【发布时间】:2014-02-24 17:29:06 【问题描述】:

短版:

基本上我有两个问题在下面突出显示。然而,我最初的问题是基于一些研究,这就是为什么下面的文字有点长。以下是我想知道的:

    您是否有任何建议,我可以使用哪些框架来构建具有原生外观和感觉的混合应用程序,而无需使用云服务进行编译? 您可以推荐哪些库来获得原生外观?

请只发布开源解决方案。

原问题:

我喜欢使用混合应用程序(或至少是网络应用程序)的理念为多个移动平台构建应用程序,例如 androidios、Blackberry 和 Windows Phone 8 )。由于我已经对现有框架进行了一些研究,我想知道是否有任何框架不能在云中编译我的应用程序? 我工作的公司无法将源代码发送到构建应用程序的云服务,例如云编译平台,如 Google App Engine、Phonegab 或 Intel App Framework(以前的 jQmobi)[如果我错了,请纠正我]

此外,应用在所有设备上的外观和感觉都应该是原生的(至少是默认元素,例如导航按钮、列表视图、按钮、编辑文本字段等)。几个月前,我发现了 GWT + Phonegap + gwt-Phonegap + m-gwt 的组合来构建具有原生外观的混合应用程序(可通过 phonegap 插件扩展以允许原生功能)。首先,它对我来说看起来很棒。但是,据我所知,Phonegap 将始终在云中远程编译应用程序,因为 Adob​​e 提供了所有构建基础设施,对吧?

您有什么建议可以让我在不使用云服务进行编译的情况下使用哪些框架来构建具有原生外观和感觉的混合应用程序?

只是一个想法:由于 Phonegap 基于Apache Cordova,它在我自己的构建基础架构上本地编译,我想知道你们中是否有人有经验使用 Cordova + 一些库创建应用程序来创建本地外观和感觉(m- gwt 似乎不再更新)。 您可以推荐哪些库来获得原生外观?

我将不胜感激!

【问题讨论】:

PhoneGap 和 Cordova 可以互换,您可以使用它们的客户端在您的机器上本地构建它们。您可以使用 npm、npm install -g cordova 和/或 npm install -g phonegap 安装它们。无论使用哪一种,用户界面都完全由您决定,因此您可以让它看起来像您想要的那样原生。 @DawsonLoudon 感谢您的回复。我还没有体验过Phonegap。你对原生外观和感觉的库有什么建议吗?我发现了 jQuerymobile,它似乎已更新。但是,它看起来更像是“普通”网络应用的外观和感觉,而不是原生的。 看看离子。 http://ionicframework.com/他们现在似乎是最好的,或者如果你只是想要 UI,试试 topcoat http://topcoat.io/ 你可以看看 DevExtreme (devexpress.com/Products/html-JS)。它使用 PhoneJS 原生外观和感觉应用程序 javascript 框架 (phonejs.devexpress.com)。最后,DevExpress DevExtreme 使用 MS Visual Studio 创建了一个原生包(在 PhoneGap 容器中)。 【参考方案1】:

我们一直在我们的应用程序中使用 mgwt 和 gwt phonegap,它们都是由 Daniel 发起的。而且我们对 mgwt 的性能还算满意。是的,最近没有关于 mgwt 和 gwt phonegap 的发布。但是 Daniel 正在开发新版本的 mgwt,虽然我不知道它什么时候发布。但最近更新已与 github 上的 master 合并,所以我期待很快发布。与 gwt phonegap 类似,现在已经有将近一年没有发布了,它至少落后 phonegap 10 个版本。我正在升级到最新版本,除了File API之外的所有API都已完成并提交给github上的master。

新版 mgwt 进行了重大改进,例如标准主题、适用于 iOS 7 的 L&F 以及对新平台的支持。 mgwt还没有出来:)

【讨论】:

这是个好消息。我得去看看师傅。你的意思是this one for MGWT 和that one for gwtPhonegap,对吧? 是的,链接正在进行中。但请注意,它们正在进行中,所以如果您发现有问题,请不要惊慌。请报告错误或您的观察结果。我可以修复 gwt Phonegap 上的错误。

以上是关于如何创建具有原生外观的混合应用程序的主要内容,如果未能解决你的问题,请参考以下文章

为 iOS 和 Android 构建具有原生性能的混合 React 应用程序

如何在颤动中管理开关小部件的原生外观

Worklight中如何实现原生应用和混合应用的交互?

如何在 Java GUI 编程中获得 Windows 原生外观?

使用 Window API,如何确保控件保持原生外观?

如何在 iOS 混合应用程序中集成 card.io sdk?