我将制作一个本机(在浏览器中为not)移动应用程序.由于我是一名web开发人员,我正在努力决定是应该try Phonegap,还是只用java或Objective-c构建一个本地应用程序.

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

我是一名web开发人员,目前既不懂java也不懂Objective-c.我以前从未用过Phonegap,所以我不知道它是否能满足我的要求.

所以我的问题如下:;

推荐答案

Related:

这篇文章的较大版本也可以找到100,为了透明,这是我的个人博客.

Hybrid vs Native apps

混合应用程序:

Pro:个个

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

Cons:

  • 你会在一段时间后尿血,无论是字面上还是比喻意义上的.
  • 手机(即使是今天的平板电脑)速度不足以流畅地运行混合应用程序,移动JavaScript功能充其量也就是床上的功能.Android平台是一场噩梦,页面转换并不顺利,更不用说缺少CSS/CSS3实现了.如果你认为原生的android2.x和4.x有区别,看看android2.x糟糕的JavaScript/CSS实现.iOS运行得更好,但仍然缺少CSS3实现,因此页面转换效果要好得多.长话短说,本地应用程序总是会有更好的用户体验和一般感觉.
  • 你将花费更多的时间来修复应用程序,然后再构建它.为每一个平台创建一个应用程序是一件令人头疼的事.不同平台上的浏览器并不统一支持所有最新的HTML功能和API,这可能会使开发和测试成为一项挑战.
  • 如果你没有一个好的设计师,甚至不要try 构建一个应用程序;外表就是一切.
  • 如果你不知道自己在做什么,你的应用很可能无法获得Apple app store的许可.如果谷歌Playstore 发现第三方Phonegap PayPal插件,他们也会禁止你的apply.

本机应用程序:

Pro:个个

  • 原生移动应用可以产生最佳的用户体验-快速流畅,可以为您提供对设备功能的最佳访问,并且可以在应用store 中找到.
  • 毫无疑问,本地应用程序可以完全访问底层移动平台.原生应用程序通常非常快速和精致,这使得它们非常适合高性能的应用程序或游戏.这已经足够了.

Cons:

  • 更大的预算,你至少需要一个具备Java和Objective C知识的人,即使是C#,如果你想要一个Windows移动应用程序的话.是的,你可以自己学,但是不要幻想你在短时间内就能学会.If you have never done any development, choose Objective C (iOS is still a better platform).在其他情况下 Select Java.Java的语法与其他可用语言相似,因此很容易从C#跳到Java,反之亦然.目标C是它自己的世界.它有一个相当不寻常的语法.
  • 你可能需要更长的时间才能把它们全部开发出来,而时间就是金钱.这取决于应用程序的复杂性.

在你的情况下,如果你有很好的网页开发/设计技能和/或很好的设计师,你应该 Select 混合apply.只有当这个应用程序很复杂时,才使用本机.你想要的一切都可以通过混合应用程序完成.你会发现一个伟大的支持社区.

Hybrid apps

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

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

还有最后一件事,在创建混合应用时,应用开发将花费你大约30%-50%的时间,睡觉会go 特定的平台进行调试和学习.相信我,即使经过几年的移动开发,有时我也会面临一些问题,我不能单独解决,也不能足够快地解决.

所以,在 Select 移动框架时要小心, Select 2-3,花几天时间阅读它们.

Links

这里有几个链接可以帮助您做出决定:

100-这是针对PhoneGap和jQuery Mobile的最新版本的分步教程

100-这是MacOS上PhoneGap部署的分步教程.前一篇文章介绍了jQuery移动部件,没有必要重复这些内容.

100-jQuery Mobile Sencha Touch比较

100-jQuery Mobile Kendo UI比较

100-名字说明一切

7 less known HTML5 mobile frameworks个名字说明了一切

Ios相关问答推荐

在SWIFT中将圆角+透明背景从导入视频(.mp4)添加到导出视频(.mov)

与iPadOS中带有扣件的模式相似的组件是什么?

无法在所有窗口上方显示图像

XcodeCloud生成失败,返回";ci_pre_xcodeBuild.sh是可执行文件,但退出时返回2个退出代码.";

SwiftUI-工作表不显示导航标题

为什么下面的代码没有在主线程上运行?

核心媒体基础知识,了解 CMSampleBuffer、CMBlockBuffer 和 CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer

React Native IOS base64 编码图像不显示

如何在 SwiftUI 中对表格行使用 Transferable

SwiftUI withAnimation 在视图出现之前不会启动

用溢出的长文本对齐 Flutter 中的行和列

从视图模型中更新 EnvironmentObject

我可以使用同一个 Firebase 应用将多个 Flutter 应用添加到一个 Firebase 数据库吗?

try 在 iOS 中分发 Flutter 应用程序时出现Invalid Provisioning Profile Signature错误

警告:iPad:Icon-72.png:图标尺寸(0 x 0)

如何在 UIActivityViewController 中设置邮件主题?

构建失败:ld:重复符号 _OBJC_CLASS_$_Algebra5FirstViewController

UITableView 背景 colored颜色 在 iPad 上总是白色

Swift:如何在设备旋转后刷新 UICollectionView 布局

找不到开发者磁盘映像