我和许多其他人一样,希望进军移动应用程序开发。我熟悉HTML5,CSS3,JavaScript,PHP,Ruby,.NET,但不熟悉Java或Objective-C。老实说,我不太可能成为一名移动开发人员大师,我将开发的应用程序不太可能将Hybrid的极限推到极限,以至于无论如何我都应该去本土。所以我面临的挑战是获得足够的知识,让自己与主流混合开发平台保持一致 - 知道我根据自己的要求做出了正确的决定。
我一直在阅读关于SO的类似帖子,并研究当前流行的混合移动应用程序开发解决方案'包括:
Xamarin 钛 Rhomobile的 PhoneGap的 Telerik平台
我得出的结论是,与之相关的决定并非如此简单。事实上,我开始时并没有比做出决定更接近决定。因此,我转向社区,根据我的具体标准推荐哪些选项(我认为这反映了大多数自雇的开发人员在逐个项目的基础上工作,而不是大型企业开发团队能够基金许可证费用等)
我将构建的应用程序将需要Android和iPhone的版本,并且应该能够访问基本的核心电话功能,包括:相机,加速度计,地理位置,警报,本地存储,G传感器等,但不多。
所以,这篇文章不是主观的,哪一个最好?'而是我根据以下要求寻找建议:
免费(优先),但至少对小男人负担得起: 1A。实惠的每月订阅(如果必须的话) 1B。在分发我的应用程序时没有隐藏的许可证费用 - 这是一个很大的问题。
开发平台应该安装在Windows和Mac上(所以我可以自己为平台构建) 2A。或者,任何集成的在线构建服务都应该是可以承受的
环境应该很容易安装和配置(是否有这样的解决方案?几乎所有我尝试过的方法在查找参考文件,版本,启动模拟器等时都会遇到某种问题。)
< / LI> 醇>作为一名.NET MVC开发人员,Xamarin似乎是显而易见的选择,但是首发不能调用第三方库 - 我想我会需要这个 - 而且几乎不能负担得起的&#39; Indie&#39;每个平台每年299美元,我不确定它是否会提供所需的所有功能。每个平台每年1899美元的企业版远远超出预算。
Rhomobile Suite及其MVC Ruby方法似乎非常适合我,但文档需要注意(过时)并且似乎在许可方面存在大量的怀疑。我无法找到明确的答案,他们也没有回应直截了当的要求。我发现了这一点:&#34;使用RhoElements确实需要许可证密钥,只使用非企业功能(即Rhodes应用程序)只需从build.yml中删除app_type:rhoelements。&#34; - 当然很可能我需要RhoElements!看看应用程序许可(在docs.rhomobile.com网站上),您似乎可以从摩托罗拉解决方案(或其他一些经销商)获得它们,但通常我找不到价格。这让我很担心 - 当我分发到应用程序商店时,我可以预见我会收到10,000美元的费用。
Titanium在许可方面也存在模糊之处。有些人声称他们被英国经销商追讨5000美元的许可证,其他人认为这是完全错误的,并且没有许可证费用。再一次,不知道......
相比之下,PhoneGap似乎确实勾选了方框,但我并没有看到对许可的担忧,但与其他解决方案相比,它需要更多的手动流程而且结果不成熟 - 尽管这可能更多使用我在示例中看到的应用程序,而不是平台的功能。
Telerik平台表面看起来不错,但我对这位开发人员的怀疑感到满意。目前以每月39美元的价格提供(以#34出售;对于修补匠和业余爱好者来说是理想的#34;)足以让我看到每月79美元的承诺,一年前支付 - ouch !我也不确定这笔费用是否涵盖了完整申请的所有许可(我希望如此)。
由于我的关键标准之一是易于安装,配置和构建,我倾向于Rhomobile或Telerik,这取决于我作为构建和提交这些应用程序的开发人员的最终成本。
我认为所有事情都在正确的轨道上还是仍然非常不知情?
非常感谢。
答案 0 :(得分:2)
免责声明:我为摩托罗拉解决方案公司工作,该公司发布了RhoMobile套件。
RhoMobile套件包含不同的产品:
您要构建的应用程序只需要Rhodes API。您可以在this table找到哪个API需要RhoElements许可证。 因此,您可以使用Rhodes构建应用程序,将其部署在AppStore和PlayStore上,而无需购买任何许可证。
您可以使用Launchpad上的免费用户社区找到一些支持。
关于付费支持和RhoElements / RhoConnect / RhoHub / RhoGalley许可证,这将在夏季更改,以与市场上其他跨平台框架使用的订阅模型保持一致。
答案 1 :(得分:2)
我在2009年使用phonegap构建了一堆跨平台应用程序,然后切换到2010年免费的Titanium SDK,这是我从那时起在许多其他项目中使用的。
我粗略地看了一下Xamarin(它看起来相当不错)和其他平台,如React等,但实际上只能提供关于phonegap / titanium的正确反馈。
为iOS / Android提供单一代码库的能力确实为我节省了大量时间。考虑到这一点,我发现跨平台解决方案的好处非常有效,可用于构建应用程序。
我做了很多手机,我发现维护这些项目非常困难,因为没有常见的做事方式,而且外观和感觉需要大量的定制管道。 HTML与原生界面也非常笨重。
Titanium,尤其是Titanium的Alloy框架为我解决了很多这些问题。 Alloy感觉有点像Ruby on Rails的早期版本。它使得结构化应用程序GUI在各个项目中更加一致,并显着提高了我的工作效率。
我可以在iOS / Android上使用phonegap或者大约80-90%的代码重复使用,然后每个平台必须编写大约10-20%的自定义代码(例如,集成第三方计费库和推送通知等。 )。
也就是说,我经常发现更复杂的功能,如推送通知或自定义拉动刷新小部件等,在跨平台技术上通常都很棘手,因为还没有很多好的教程和文档。我把它归结为这种技术仍然相当新。
我的经验是Titanium平台非常好,他们的团队不断发布更新和改进。可以免费使用他们的SDK,这是我选择它的原因,而不是像Telerik或Xamarin这样的付费订阅。
他们有一个付费的SAAS模式(通过他们的appcelerator父实体),他们正在推动企业客户,但这是我作为一个独立开发者并不担心的事情。即。而不是使用他们的推送通知服务,我只是自己动手。
有趣的是,看看哪种跨平台技术能够获得最佳的升级。
如果我今天从头开始构建一个新的应用程序,我可能会好好看看Titanium和Xamarin以及可能还有React / Rubymotion / Telerik等。
如果有一个独立的比较网站或博客文章显示如何在每个平台上构建一个具有稍微复杂界面的真正跨平台应用程序的代码,那将是非常酷的。
答案 2 :(得分:1)
很高兴听到你看过Telerik平台。我在我们的产品管理团队工作Telerik,我很乐意回答您有关订阅的任何详细问题,无论是在这里还是通过电子邮件发送到satrom AT Telerik.com。随时随地给我打电话。
也就是说,您所查看的开发者订阅确实会检查所有方框(我根据您的上述清单了解),包括许可。使用Telerik平台开发的应用程序是您的应用程序,除了订阅本身之外,即使在开发人员级别,也不会产生任何额外费用或成本。尽管有网站副本的建议,这个订阅只适用于&#34;唯一的,&#34;听起来对我来说这对你有用,并且没有必要每月多花40美元购买Pro订阅。
我希望更多地了解您的具体需求,看看我是否可以帮助您确定100%平台是否合适,所以请随时给我发一条,或者通过评论跟进
答案 3 :(得分:1)
免责声明:我为Snapshot of Adding Reference工作。
Codename One允许您嵌入Codename One,但它不同于任何其他平台。例如。在Xamarin的情况下,您可以在PhoneGap/Cordova application中阅读我的一些想法。
Codename One支持本机操作系统版本,允许您使用Java编写代码并使其在任何地方都可用。它的开源(与Xamarin,Telerik等不同)并且具有有用/可用的免费套餐,允许您正确评估它以及用于高级功能的逐月付款选项。
与列出的其他选项不同,您可以使用您选择的通用Java IDE,我们支持NetBeans,IntelliJ&amp;蚀。
Codename One可以使用本机代码进行扩展,并且有许多Xamarin forum。
Codename One是一个成熟的解决方案,基于自2006年以来在Sun Microsystems开发的开源软件。它在全球范围内被各个级别的开发人员使用,从个人/业余爱好者到财富500强企业。
您可以阅读更多有关其独特架构的信息 3rd party libraries built specifically for it