在本机和phonegap之间挣扎,简单的应用程序要求

Hen*_*gmo 75 android ios cordova hybrid-mobile-app phonegap

我打算制作一个原生的(意思是; 不在浏览器中)移动应用程序.由于我是网络开发人员,我很难决定是否应该尝试使用Phonegap或者只是在java或objective-c中构建本机应用程序.

应用程序要求很简单.GPS/wifi位置,Facebook集成,我想我需要一个数据库来处理一些特定于Facebook的朋友关系.就像游戏中的高分一样 - 比如那样的东西.

我是一名网络开发人员,不知道java或objective-c.我之前从未使用过Phonegap,所以我不知道它是否能够满足我的要求.

所以我的问题如下; 我可以将Phonegap用于我的应用程序,还是需要深入学习新语言?

Gaj*_*res 158

有关:

这篇文章的更大版本也可以在这里找到,要透明它是我的个人博客.

Hybrid与Native应用程序

混合应用:

优点:

  • 更快的开发,特别是如果你是一个长期的Web开发人员.
  • 每种可用平台都可以使用1种语言.当然,这需要一个Phonegap包装器.您不需要学习Objective C,Java或C#来进行任何开发.您只需要了解Phonegap实现的基础知识.您需要稍微使用上述语言,但不需要了解它们.
  • Phonegap可以提供一些本机功能,如iOS原生标签栏或Android原生标签栏等等.
  • 降低预算成本和庞大的支持者和开发者社区.
  • 混合应用程序提供了访问最常见设备API的两种方法的许多优点,以及广泛的设备覆盖范围,同时不需要专门技能,更大的预算和更长的上市时间,这是更完全原生的应用程序的典型.

缺点:

  • 一段时间后,你会在字面上和比喻中沾染血液.
  • 移动电话(即使是今天的平板电脑)还不够快,无法顺利运行混合应用程序,移动JavaScript功能充其量只是最好的.Android平台是一场噩梦,页面转换不顺畅,更不用说缺乏CSS/CSS3实现了.如果您认为原生Android 2.X和4.X有差异,请看看Android 2.X糟糕的JavaScript/CSS实现.iOS票价更好,但仍然缺乏CSS3实现更好的页面转换.要使这个简短的原生应用程序始终具有更好的用户体验和一般感觉.
  • 您将花费更多时间修复应用程序然后构建它.为每个平台创建一个应用程序是一个痛苦的问题.不同平台上的浏览器不统一支持所有最新的HTML功能和API,这可以使开发和测试成为一项挑战.
  • 如果你没有一个好的设计师,甚至不要试图建立一个应用程序; 看起来就是一切.
  • 如果您不知道自己在做什么,那么您的应用很可能无法获得Apple应用商店的许可.即使谷歌Play商店发现第三方Phonegap PayPal插件,也会禁止你的应用.

原生应用:

优点:

  • 原生移动应用程序可以产生最佳用户体验 - 快速流畅,可以为您提供最佳的设备功能访问,并且可以在应用程序商店中发现.
  • 毫无疑问,原生应用程序可以完全访问底层移动平台.原生应用程序通常非常快速和优雅,非常适合高性能应用程序或游戏.这已经足够了.

缺点:

  • 更大的预算,如果你想要一个Windows移动应用程序,你至少需要一个具有Java和Objective C知识的人,甚至是C#.是的,你可以自己学习,但不要生活在你将在短时间内这样做的错觉.如果您从未进行过任何开发,请选择Objective C(iOS仍然是一个更好的平台).在其他情况下选择Java.Java的语法与其他可用语言类似,因此很容易从C#跳转到Java,反之亦然.目标C是它自己的世界.它有一种相当罕见的语法.
  • 开发所有这些可能需要更长的时间,而时间就是金钱.这取决于应用程序的复杂性.

在您的情况下,如果您具有良好的Web开发/设计技能和/或拥有优秀的设计师,您应该选择混合应用程序.只有当这个应用程序是一个复杂的应用程序时才会原生.您想要的一切都可以通过混合应用程序完成.你会找到一个伟大的支持社区.

混合应用

我之前没有提到的,你需要特别小心.即使你是经验丰富的开发人员,你也会发现许多无法解决的问题.混合开发不应该被误认为是基本的Web开发.

每个移动平台都有自己的一系列问题,更不用说移动电话的行为因设备而异.如果可能,始终创建一个适用于较慢设备的应用程序,因为本机应用程序几乎可以在任何设备上成功运行

最后一件事是,在创建混合应用程序时,应用程序开发将占用您大约30%-50%的时间,其余部分将用于特定平台的调试和学习.相信我,即使经过几年的移动开发,有时我遇到的问题我无法单独或足够快地解决.

因此在选择移动框架时要小心,选择2-3并花几天时间阅读它们.

链接

以下是一些帮助您决定的链接:

PhoneGap + jQuery Mobile 1.4教程 - 这是PhoneGap和jQuery Mobile最新版本的分步教程

PhoneGap + jQuery Mobile 1.4教程 - MacOS版本 - 这是MacOS上PhoneGap部署的分步教程.jQuery Mobile部分在前一篇文章中有所介绍,没有重复的事情.

jQuery Mobile vs Sencha Touch - jQuery Mobile Sencha Touch比较

jQuery Mobile vs Kendo UI - jQuery Mobile Kendo UI比较

7个最着名的HTML5移动框架 - 名称告诉一切

7个不太知名的HTML5移动框架 - 名称告诉一切

  • 只能在AppStore/Market中找到本机应用程序吗? (2认同)

San*_*p P 16

如果您的应用程序没有动画效果,而且我更喜欢在Web(Phonegap)cz中创建更少的时间,我们可以在多种类型的移动操作系统中启动.如果你的应用程序包含更多的UI效果和动画,那么最好使用原生的..

即使你在webview(Phonegap)中开发,你也需要学习Android和iOS中的一些基本步骤

Phonegap如何在设备中执行

Ios ios webview中的动画和视图加载是搁浅和良好的,动画效果可以清晰地观察到

Android
我们在运行html代码时必须考虑android的设备版本和设备公司,android中的一些高配置设备提供更清晰高效的动画显示,但有些设备(大多是旧版本和一些公司设备)无法提供良好的动画效果,渲染效果因android中的设备而异,

  • 我想我很快意识到我想使用objective-c或java创建一个本机应用程序.如果"本机"Phonegap-app只是编译为与UIWebView一起使用的Webapp HTML/CSS/JS文件,那么我担心该应用程序将受限于常规的webapp限制.无法利用本机API.谢谢你的回答. (2认同)

Enr*_*cos 7

在我对Phonegap的拙见中,您可以开发简单的应用程序,仅此而已.文档是不够的,像其他人一样说你将花费更多的时间来修复bug和查找插件而不是构建你的应用程序.我会努力学习Android或iOS或其他任何东西,把它视为你的时间投资.(是的,我的评论有点偏颇).