如何推进混合移动应用想法?

18
我们拥有可盈利的移动应用想法,并将构建我们的第一个混合移动应用程序。
我研究了一些东西,并发现为了实现我的端到端目标,我需要:
1. 前端UI框架:可能的选项为Ionic / AngularGap [但文档似乎很难解析]。 2. 然后我认为我们需要使用PhoneGap打包它以适用于各种平台。 3. 有一个后端框架-Loopback / Parse 我还没有看具体文档,但如果有经验丰富的人提供建议,那将非常有帮助,以确定是否正确。
我现在不知道的事情:
A. 我的想法是否正确,我该如何继续?
B. Ionic是一个UI框架,我如何将其与Phonegap连接起来,例如如何访问本机功能。我想我必须使用angular来调用Phonegap API?
C. 如果我设置了前端部分,如何调用类似Loopback的后端API?通过REST调用?还是有其他更有效的方法?
是否有更简单的方法实现这一目标?

PhoneGap是最好的选择,而且还可以免费使用,同时还有许多可能在您的项目中需要的插件。您可以在此处找到所有API信息和用法:http://docs.phonegap.com/en/3.3.0/index.html。前端方面,您可以使用最兼容的框架之一,如jQuery Mobile,配合jQuery使用,并且您可以使用AJAX处理所有服务调用,这对我来说是最简单的方式。 - Rahul
2
看一下这个:http://thejackalofjavascript.com/an-end-to-end-hybrid-app/ - Arvind
我在选择如何构建应用程序时的一般经验法则是:
  1. 它必须为用户增加价值和互动
  2. 我是否可以使用我的Web开发技能,或者这个应用程序需要我学习新技能。
- TexasT
4个回答

13

我最近几个月一直在开发移动应用。尝试了许多UI框架来进行混合应用程序开发,尝试了许多服务器端和NOSQL数据库技术,以下是我从经验中学到的有关UI框架的内容。

  • Sencha Touch - 早期进入混合应用领域的先驱,至今为止最知名,具有最好的跨设备支持,但学习曲线陡峭,因为他们有自己的框架规则。此外,应用程序庞大,运行所有JS以在运行时构建HTML,这在一定程度上影响了性能。与HTML5相比,如果整个应用程序都是用JS构建的,那肯定不是一个好主意。

  • jQueryMobile - 在移动设备上性能较差

  • BootStrap - UI很好,但在移动设备上性能较差。它一开始并没有考虑移动设备。

  • PhoneJS - 整洁/干净的UI,但对于非开源应用程序不免费。

  • Chocolate-chip UI - 轻量级,本地外观和感觉,但在跨设备情况下支持不太好,是新玩家,没有太多采用。当然,所做的工作很好,希望未来会改善,因为它得到company的支持。

  • Ionic Framework - 开发中的优秀UI框架。目前处于alpha版本,我不建议或推荐应用程序。进行了一些快速测试,在Android上发现了一些问题,例如滑块无法正常工作,需要进行一些调整。我认为它正在快速发展(最近获得了投资者的资金支持),因此希望它很快就会成为成熟的UI框架,并且是最好的选择,但在那之前,它只适用于原型设计,而不是产品应用。

  • LungoJS - 轻量级UI框架。良好的过渡效果,本地外观和感觉,良好的跨手机支持(Android + iPhone),标签支持较差(在标签上有UI问题),开发人员因创建一些新框架而没有积极维护。

我选择了LungoJS作为我的应用程序,并最终将转移到Ionic,一旦它成熟并具有良好的采纳率。所有这些都可以与PhoneGap / Cordova一起使用,以访问本机设备API并将其打包为移动应用程序。关于jQuery vs Angular的建议-当然,Angular比jQuery更好,它使得在移动应用程序中性能(UI过渡)更快,与jQuery实现相比。希望它有所帮助。Gaurav

http://www.linkedin.com/in/gauravdhiman


现在你也可以考虑使用MeteorJS,因为它现在也支持混合移动应用程序开发。Meteor在移动应用程序开发方面最酷的功能是热代码推送。作为应用程序开发人员,您无需在应用市场上更新版本。您只需在服务器上更新应用程序,所有手机上的客户端应用程序都将更新到最新版本。Meteor很好,但我认为它还没有像Ionic那样构建干净的UI组件。Ionic和Meteor的组合将是最好的选择。 - Gaurav Dhiman
我曾经希望Meteor和Ionic能够结合,现在它们已经完美地融为一体了 :-) - http://meteoric.github.io/。虽然我还没有尝试过,但看起来很不错。如果你已经尝试过并且有相关经验,请在这里分享。 - Gaurav Dhiman

11

我也在尝试学习Ionic框架以在Android应用中使用。Ionic似乎是一个非常好的框架,但缺乏文档正在阻碍我的进展。

从我所看到的情况来看,Ionic+Angular已经集成了Cordova。因此,您不再需要创建Cordova应用程序,只需创建Ionic应用程序即可,它下面就有Cordova:

使用Ionic CLI完成了这项任务,它使用ionic-angular-cordova-seed

关于后端,Angular提供了$http和$resource用于AJAX请求,请查看Angular文档,我认为Ionic没有改变Angular进行这些调用的方式。

我的结论:我认为当Ionic成为更成熟的框架(这不会花费太长时间)并具有更好的文档时,它将是最好的UI框架。从我所看到的,它看起来非常本地化且性能非常好。虽然有一些我仍然无法理解的事情,但我仍计划继续使用它,因为没有更好的选择,尽管这需要花费一些时间。


谢谢,这很有帮助。我还想问一件事,因为你已经开始使用Ionic了——AngularJS在哪里?它是Ionic的一部分<就像Ionic使用AngularJS>还是它们两个是分开的?我需要对AngularJS有多深入的理解?看起来AngularJS有相当大的学习曲线。 - Rohit Kondekar
确切地说,Ionic使用Angular来生成其视图和其他内容。我认为你需要了解相当多的Angular知识,需要使用Angular为模板创建路由,处理视图中的变量,建立Ajax连接,几乎所有操作都是通过Angular完成的。Ionic更像是处理图形界面和动画过渡效果。但与Ionic不同的是,你会发现有很多关于Angular的好文档和YouTube视频... - Lucas Garcia
谢谢,卢卡斯,现在我完全明白了。 - Rohit Kondekar
当我在寻找用于混合应用程序开发的框架时,我开始使用带有Kindo框架的TelerikAppBuilder,但后来我发现Ionic是更好的框架,但Telerik App Builder具有更好的开发工具和插件,因此我将它们混合使用,使用Telerik AppBuilder作为工具与Ionic框架结合使用,到目前为止这是我见过的最好的。 - Ali

6
C. 如果我设置好前端部分,那么如何调用后端 API,例如 Loopback 的 API?通过 REST 调用吗?还是有其他更有效的方法?
现在大多数后端即服务的解决方案都提供 REST API。Parse 和 Loopback 都为 JavaScript 客户端提供 SDK,将 REST 调用封装在更友好的 API 中。
LoopBack
如果您决定使用 LoopBack 作为后端,AngularJS 作为前端,则可以使用 loopback-angular 项目自动生成用于模型的 $resource 服务。它还带有 Grunt 插件。
查看 loopback-example-access-control 应用程序,它基于 LoopBack + AngularJS + Ionic 构建。
Parse 我对 Parse 不是很熟悉,快速搜索发现了这些链接:
- Parse Javascript Guide - Parse x AngularJS Boilerplate

免责声明:我是LoopBack开发人员之一。


2
作为对Miroslav答案的跟进,这里有另一个你可能想要查看的示例repo。它是loopback/angular/ionic/phonegap示例应用程序 - user3259256

2
如果你正在寻找开发混合应用程序(phonegap + angularJS + 后端),我想推荐 Monaca。我最近才发现它,非常酷,因为它在其框架中内置了 phonegap 和自己的后端。此外,它还有一个名为 OnsenUI 的 UI 框架,基于 TopcoatAngularJS
它还提供原生组件供您在混合应用程序中使用。令人印象深刻的是,您甚至不需要在开发过程中每次构建和安装应用程序到设备上。这就是我最喜欢的地方。
希望这可以帮助你,因为我认为它就像你所要求的一样。我只是一个初学者开发者,但我觉得它非常容易使用。

1
值得一提的是,Monaca是一项付费云服务,免费账户在撰写本文时仅限于3个项目。 - demisx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接