【问题标题】:Xamarin vs Titanium Appcelerator? [closed]Xamarin vs Titanium Appcelerator? [关闭]
【发布时间】:2015-06-12 22:43:21
【问题描述】:

我开发了一个Native Android App,现在要求开发的应用程序需要在Xamarin或Titanium Appcelerator这样的跨平台中,现在请一些专家软件工程师建议我应该选择哪个跨平台,为什么?如果我选择 Xamarin 那么 Xamarin 的优点和缺点是什么,如果我选择 Titanium Appcelerator 那么钛的优点和缺点是什么?任何帮助将不胜感激。

【问题讨论】:

  • Xamarin - nativa 应用程序。钛 - 混合应用。强类型 C# 与运行时解释的 JavaScript。这可能总结了它,但有关详细信息,您应该进行搜索,因为该问题已被多次询问和回答。

标签: android xamarin titanium appcelerator appcelerator-mobile


【解决方案1】:

几个月前,我们不得不在这两种解决方案之间做出选择。我们的决定是根据 Xamarin 的价格做出的,当钛完全免费时,它真的很贵。由于他的价格,还有更多关于 Titanium 的文档和一个更大的社区。​​p>

钛的主要缺点是您绝对需要互联网连接才能使用它。这真的很烦人,因为没有 wifi 就无法打开任何项目。

【讨论】:

  • @Tiekeo 我们目前正在计划如何提供更好的离线体验。问题是我们的 IDE 完全集成在我们的 MBaaS 解决方案中,这些解决方案本质上是在线的。
  • @FokkeZandbergen 我选择了 Titanium appcelrator,但是当我在 android 设备上运行我的第一个测试应用程序时出现错误。
  • @FokkeZandbergen 当我运行我的应用程序时,它给了我以下错误:events.js:72 throw er; // 未处理的“错误”事件 ^ 错误:在 ChildProcess._handle.onexit (child_process.js:792:34) 的 errnoException (child_process.js:1001:11) 处产生 ENOENT [错误] 应用程序安装程序异常进程终止。进程退出值为 8
  • @FarhanShah 你能给我一个包含代码的链接吗?您也可以通过 fzandbergen (at) appcelerator.com 给我发邮件
  • @FokkeZandbergen 我是 appcelerator 的初学者,我成功安装了 appcerator 设置等,当我运行我的应用程序时它给了我错误,我认为问题不在代码中,请提出任何建议。我有一些关于 appcelerator 的更详细的问题,我会通过电子邮件发送给你,谢谢..
【解决方案2】:

两者不同(或不同)的一些因素。

价格

到目前为止,两者都需要花钱。 Xamarin 有一个无用的(只有非常小的应用程序)免费版本,付费版本起价为 25 美元/月。 https://store.xamarin.com/

Titanium Studio 曾经是免费的,但不幸的是,他们在几周前更改了它。现有的免费用户被转移到终身免费独立许可证(这很好!),新用户必须付费,最低 39 美元/月。 http://www.appcelerator.com/pricing/ 此外,最新版本的 Titanium 仅限受邀者使用,虽然我收到了注册邀请的邀请,但我现在仍在等待数周才能被接受。

所以 Xamarin 在这里稍有优势 - 到现在为止 - 尽管您还需要看看您想要做什么。独立版可以让一切“正常”完成,尽管它缺少 Visual Studio 集成。

支持的平台

Xamarin 支持 Android 和 iOS,支持 WinPhone,因为 .net 在 WP 上运行。

Titanium 支持 Android、iOS、BlackBerry 和 Web,据说支持 WinPhone 但根本不工作。 https://developer.appcelerator.com/question/181588/how-to-update-to-preview-to-do-windows-development-the-requested-sdk-version-does-not-have-an-assigned-commands-handler

Titanium Studio with Windows Phone Plugin: Titanium SDK does not support the Windows platform这 - 应该 - 与新版本 4 一起使用,据传它可用,但我没有看到它(虽然我尝试过)。

因此,如果您想要 WinPhone,请使用 Xamarin,如果您想要 BlackBerry,请使用 Appcelerator。

IDE

Xamarin 具有 Visual Studio 集成(商业版或更高版本),非常棒。 Visual Studio 只是目前最好的,也许是最好的 IDE 之一。 Xamarin Studio 就是如此。

Titanium Studio 就是如此,类似于 Xamarin Studio。

安装和易用性

Xamarin 有一个一体化安装程序,需要一些时间,但您可以开始。它只是工作。 Xamarin 有非常频繁的更新(每隔几周),它有时需要更新,因为某些功能被破坏是某些版本。

让 Titanium Studio 工作通常很麻烦。我不得不(这没有记录!)使用 Java 1.6 32Bit,这可能很困难,因为通常会更新他的 Java。官方支持 Java 1.8,但这对我不起作用。 Titanium Studio 设置起来更加困难。 Titanium 的更新频率很低,每月不到一次。

语言

Xamarin 是 C#。您将获得一种出色的类型化语言,可以从小型应用扩展到非常复杂的应用程序,并且具有适用于复杂数据类型和场景的出色语言结构

钛是JS。您将获得一种非常灵活的良好动态语言,主要用于小型、灵活的应用程序。

你可以用两种语言创建好的程序,在 Javascript 中要困难一些。

两者都编译为本机。

您可以同时使用许多 js (Titanium) 和 .net (Xamarin) 库和框架。

跨平台

Xamarin 去年推出了 Xamarin.Forms 以提供跨平台 GUI。它正在工作,但仍然缺少很多东西,比如需要手动实现方向。

使用跨平台硬件也不容易。有些插件你真的应该检查一下,比如 xlabs https://github.com/XLabs/Xamarin-Forms-Labs 虽然我发现没有一个功能可以工作(我尝试过的那些)。错误请求得到了快速处理,因此我认为该产品已经成熟并最终非常有助于为所有平台提供 1 个代码库,而平台相关代码非常少(仅 DI 部分)。

钛我并没有真正用过很多,所以我不能真正发表评论。

其余的

这两种产品的社区都很大。

Appcelerator 有一个免费的大学课程(供观看/下载的视频)。 Xamarin 有一个昂贵的大学课程,但其中包括辅导和小型网络课程。还有免费视频。

Appcelerator 现在似乎需要赚钱了。 Xamarin 一直需要赚钱,他们现在有微软的支持,这当然是有帮助的。

最重要的可能是你的语言背景。这不是最重要的,因为您仍然需要学习很多关于移动设备和每个平台的知识。

此外,请查看竞争对手:PhonGap/Cordova,以及一些新的、较小的玩家,一些 C# 和一些基于 C++。

Xamarin 2.0 vs Appcelerator Titanium vs PhoneGap

Comparison between Corona, Phonegap, Titanium

在您的具体情况下:Java 和 C# 非常相似,远远超过 Java 和 Javascript。

如果您直接联系客户支持并有充分的理由,您可以获得商业版的免费试用版,也可以将其延长几次 - 有人告诉我。

【讨论】:

  • 看起来 Xamarin 将免费,Build 2016 的公告,请参阅 thurrott.com/windows/windows-10/65815/… 。哪些版本是免费的,哪些 Visual Studio 订阅尚未发布,但免费社区版也将包含一个版本。价格是之前反对 Xamarin 的主要原因之一。
  • 对于那些感兴趣的 Xamarin 的更新确实随任何 Visual Studio 订阅免费提供。
  • 为什么免费版的 Xamarin “没用”?
  • 免费版在您可以创建的应用程序大小方面非常有限。即使是计算器也很困难。但自微软收购以来,这种情况早已不复存在。使用 Visual Studio 社区版,您可以免费获得所有功能(作为个人或小公司)。甚至适用于 iOS 和 Android。
  • 从昨天开始,Titanium 再次对独立开发者免费:appcelerator.com/pricing
【解决方案3】:

此决定取决于偏好和要求。关于开发复杂的移动应用程序,我个人觉得强类型语言框架(如 Xamarin)提供的调试和分析工具比弱类型语言框架(如如钛)。两者都为您提供了本机移动平台 API 的全部范围(我个人认为这是必不可少的特性),但 Xamarin 提供以下优势:

  • 强类型和高度表达的 C# 和 F# 语言
  • 出色的 IDE,例如 Visual Studio 和 Xamarin Studio
  • 一个充满活力和活跃的开发者社区
  • 出色的分析工具
  • Xamarin Insights 用于详细的部署后应用性能监控

我有点偏见,因为我真的很喜欢做 Xamarin 开发。但我觉得在移动开发行业工作了 4 年,让我对这些选项有了很多看法。

再次重申,只要每个框架都提供对移动平台 API 的每一个部分的完全访问权限,它确实归结为偏好。但我的投票非常支持 Xamarin。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 2014-06-28
    • 2011-04-06
    • 2011-11-20
    相关资源
    最近更新 更多