14

我和许多其他人一样,正在寻求涉足移动应用程序开发。我熟悉 HTML5、CSS3、JavaScript、PHP、Ruby、.NET,但不熟悉 Java 或 Objective-C。老实说,我不太可能成为移动开发大师,而且我将开发的应用程序也不太可能将 Hybrid 的极限推到我无论如何都应该使用原生的程度。因此,我面临的挑战是获得足够的知识,以自信地将自己与主流混合开发平台之一保持一致——知道我根据自己的要求做出了正确的决定。

我一直在阅读关于 SO 的类似帖子并研究当前流行的混合移动应用程序开发“解决方案”,包括:

Xamarin Titanium Rhomobile PhoneGap Telerik 平台

我得出的结论是,选择哪一个并不那么简单。事实上,我并没有比刚开始时更接近于做出决定。因此,我转向社区根据我的具体标准推荐哪些选项(我认为这反映了大多数个体开发人员在逐个项目的基础上工作,而不是有能力为许可证提供资金的大型企业开发团队费用等)

我将构建的应用程序将需要 Android 和 iPhone 版本,并且应该能够访问基本的核心手机功能,包括:相机、加速度计、地理定位、警报、本地存储、G-Sensor 等,但仅此而已。

所以,这篇文章不是主观的“哪个最好?”,而是根据以下要求寻找建议:

  1. 免费(最好),但至少对小个子来说是负担得起的:1a。负担得起的每月订阅(如果我必须) 1b。在分发我的应用程序时没有隐藏的许可费用 - 这是一个很大的问题。

  2. 开发平台应该安装在 Windows 和 Mac 上(所以我可以自己为平台构建) 2a。或者,任何集成的在线构建服务都应该是负担得起的

  3. 环境应该易于安装和配置(有这样的解决方案吗?我尝试过的几乎所有东西在查找参考文件、版本、启动模拟器等时似乎都有某种问题。)

作为 .NET MVC 开发人员,Xamarin 似乎是显而易见的选择,但入门者无法调用 3rd 方库——我想我会需要这个——而且每个平台每年 299 美元的勉强负担得起的“独立”,我不确定它会提供所需的所有功能。每个平台每年 1899 美元的企业版远远超出预算。

带有 MVC Ruby 方法的 Rhomobile Suite 似乎很适合我,但文档需要注意(已过时),而且它的许可似乎确实存在很大的不确定性。我找不到明确的答案,他们也没有回应直接的请求。我发现:“使用 RhoElements 确实需要许可证密钥,要使用非企业功能(即 Rhodes 应用程序),只需从 build.yml 中删除 app_type:rhoelements。” - 当然,我很可能需要 RhoElements!查看应用程序许可(在 docs.rhomobile.com 网站上),您似乎可以从摩托罗拉解决方案(或一堆其他经销商)获得它们,但通常我找不到价格。这让我很担心——我可以预见,当我分发到应用商店时,我会被收取 10,000 美元的费用。

Titanium 在许可方面也存在歧义。一些人声称他们被英国经销商追逐 5000 美元的许可证,其他人则认为这是完全错误的,并且没有许可证费用。再次,不知道...

相比之下,PhoneGap 似乎确实符合要求,我并不担心许可问题,但与其他解决方案相比,它需要更多的手动过程且结果未完善——尽管这可能更多与我的应用程序有关'已经在示例中看到,而不是平台的功能。

Telerik 平台表面上看起来不错,但我怀疑以每月 39 美元的当前价格提供的“开发人员”产品(标榜为“修补匠和爱好者的理想选择”)是否足够,所以我会考虑 79 美元的承诺一个月预付一年 - 哎哟!我也不确定这笔费用是否涵盖了完整应用程序的所有许可(我希望如此)。

由于我的关键标准之一是易于安装、配置和构建,我倾向于 Rhomobile 或 Telerik,这取决于我作为开发人员构建和提交这些应用程序的最终成本。

所有的事情都考虑到我是在正确的轨道上还是仍然非常不知情?

非常感谢。

4

4 回答 4

2

免责声明:我为发布 RhoMobile 套件的摩托罗拉解决方案工作。

RhoMobile Suite 包括不同的产品:

  • RhoStudio:基于 Eclipse 的 IDE
  • Rhodes Framework:免费,MIT 许可,用于构建 B2C 应用程序
  • RhoElements 框架:B2B 许可框架,建立在 rhodes 之上,提供对数据加密、条形码扫描、Windows Mobile 和 Windows CE 支持的支持
  • RhoConnect:同步和集成框架(需要许可证)
  • RhoHub:托管 RhoConnect 并为 Rhodes/RhoElements 构建服务器(需要商业许可)
  • RhoGallery:企业应用商店。(需要商业许可)

您要构建的应用程序只需要 Rhodes API。您可以在此表中找到需要 RhoElements 许可证的 API。因此,您可以使用 Rhodes 构建您的应用程序,将其部署到 AppStore 和 PlayStore,而无需购买任何许可证。

您可以使用Launchpad上的免费用户社区获得一些支持。

关于付费支持和 RhoElements/RhoConnect/RhoHub/RhoGalley 许可证,这将在夏季发生变化,以与市场上其他跨平台框架使用的订阅模式保持一致。

于 2014-05-19T09:12:55.157 回答
2

我在 2009 年使用 phonegap 构建了一堆跨平台应用程序,然后在 2010 年切换到免费的 Titanium SDK,从那时起我在许多其他项目中一直在使用它。

我粗略地看了一下 Xamarin(它看起来不错)和其他平台,如 React 等,但实际上只能提供关于 phonegap/titanium 的适当反馈。

为 iOS/Android 提供单一代码库的能力确实为我节省了大量时间。考虑到这一点,我发现跨平台解决方案对于构建应用程序非常有效。

做了很多 phonegap 之后,我发现维护这些项目非常困难,因为没有通用的做事方式,而且外观和感觉需要大量定制管道。HTML 与原生界面的对比也非常笨拙。

钛,尤其是钛合金框架为我解决了很多这些问题。Alloy 感觉有点像 Ruby on Rails 的早期版本。它使构建应用程序 GUI 的项目更加一致,并显着提高了我的工作效率。

我在 iOS/Android 上通过 phonegap 或 Titan 获得了大约 80-90% 的代码重用,然后必须为每个平台编写大约 10-20% 的自定义代码(例如,集成第 3 方计费库和推送通知等)。

也就是说,我经常发现更复杂的功能,例如推送通知或自定义拉取刷新小部件等,在跨平台技术上通常非常棘手,因为目前还没有很多好的教程和文档。我把它归结为这种技术仍然相当新。

我的经验是 Titanium 平台非常好,他们的团队不断发布更新和改进。使用他们的 SDK 是免费的,这是我选择它而不是像 Telerik 或 Xamarin 这样的付费订阅的一个因素。

他们有一个付费的 SAAS 模型(通过他们的 appcelerator 父实体),他们正在向企业客户推销该模型,但作为独立开发者,我并不担心这一点。IE。我没有使用他们的推送通知服务,而是自己动手。

看看哪些跨平台技术在未来得到最好的应用将会很有趣。

如果我今天从头开始构建一个新的应用程序,我可能会好好看看 Titanium 和 Xamarin 以及 React/Rubymotion/Telerik 等。

如果有一个独立的比较网站或博客文章展示了如何在每个平台上构建一个具有稍微复杂界面的真正跨平台应用程序的代码,那将是非常酷的。

于 2015-03-03T01:42:28.133 回答
1

很高兴听到您看过 Telerik 平台。我在 Telerik 的产品管理团队工作,我很高兴回答您对订阅的任何详细问题,无论是在此处还是通过电子邮件发送至 satrom AT Telerik.com。随时给我留言。

也就是说,您查看的开发人员订阅确实为您检查了所有框(据我了解,基于您上面的列表),包括许可。您使用 Telerik 平台开发的应用程序就是您的应用程序,除了订阅本身,即使在开发人员级别,也没有额外的费用或成本。尽管网站副本建议此订阅仅适用于“修补匠”,但在我看来它对您有用,并且无需每月多花 40 美元购买 Pro 订阅。

我很想更多地讨论您的具体需求,看看我是否可以帮助您确定该平台是否适合 100%,所以请随时给我留言,或在此处发表评论。

于 2014-05-19T19:17:54.400 回答
1

免责声明:我为Codename One工作。

Codename One 允许您嵌入PhoneGap/Cordova 应用程序,但它不同于任何其他平台。例如,对于 Xamarin,您可以在Xamarin 论坛中阅读我的一些想法。

Codename One 支持本地操作系统构建,允许您使用 Java 编写代码并使其在任何地方都能运行。它是开源的(与 Xamarin、Telerik 等不同),并且有一个有用/可用的免费层,允许您正确评估它,以及高级功能的按月付款选项。

与列出的其他一些选项不同,您可以使用您选择的通用 Java IDE,我们支持 NetBeans、IntelliJ 和 Eclipse。

Codename One 可以使用本机代码进行扩展,并且有许多专门为它构建的第 3 方库

Codename One 是基于 Sun Microsystems 自 2006 年以来开发的开源软件的成熟解决方案。它在全球范围内被从个人/业余爱好者到财富 500 强公司的各级开发人员使用。

您可以在 Codename One 的工作原理中了解更多关于其独特架构的 信息?

于 2015-12-02T05:15:22.253 回答