首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appcelerator与Android

Appcelerator与Android
EN

Stack Overflow用户
提问于 2011-02-19 07:36:08
回答 8查看 15.6K关注 0票数 24

我一直在看appcelerator,它看起来很好!毫无疑问,appcelerator的优点之一是它支持多平台。我感兴趣的是构建一个android应用程序,或者稍后构建一个iphone应用程序。因此,目前支持多个平台并不重要。

如果你忽视了支持多种平台,只关注android的开发。appcelerator还有利吗?它缺少"Android“的任何功能吗?

(当我说“安道尔sdk”时,我指的是用原生Android sdk用Eclipse进行开发,如果有任何意义的话)

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-02-21 00:19:59

当我们开始我们的Android项目时,我们看到了Appcelerator。我们知道接下来我们必须做一个iOS客户端,所以Appcelerator很吸引人。

我们决定不走这条路,因为它不支持每个设备的所有本机特性。

例如,我们很早就决定我们在Android中的用户界面需要一个小部件。Appcelerator不支持这一点,因为它是针对Android的。这是几个月前-you可能还想再查一遍。

在用户界面上妥协对我们来说太过分了。我们决定使用C/C++作为应用逻辑,并使用Android作为用户界面。

我们的应用程序现在有两个部分: C/C++尽可能多的“大脑”和本机(Android/Cocoa ),让UI利用UI的体验。

当然,工作的平台,可以集成C/C++。

临别建议:先设计你的用户界面,然后找一个工具来实现它。用户对便携式设备的UI有很高的期望。在早期妥协可能是你的项目的KOD。

我经常看到这个问题的投票结果。我想更新一下我们在过去两年中了解到的情况:

  • 我们的应用程序的公共部分使用C/C++已经收到了效果。它确实需要一个稍微复杂一些的构建过程,但是如果共享的代码是复杂的(就像我们的例子中的那样),那么节省的费用是巨大的。
  • 对于用户界面部分,我们开始研究混合应用程序(HTML中的一些UI元素)。关于HTML (Facebook和LinkedIn是两个迁移到UI的本机代码)的争论仍然存在,但也有一些报告说,如果选择仔细,它就能工作。福萨巴德对此进行了很好的讨论,包括幻灯片这里

更新10月/2014

2014年3月,“粉碎”杂志发表了一篇优秀的文章,比较了原生iOS、本土安卓、PhongeGap (Cordova)和Appcelerator钛公司。它们显示了在每个环境中开发一个简单的应用程序。

我是本系列的最后一部分。在本部分的顶部,有指向本系列前几部分的链接,而在底部,则是方法的比较。最后,读者也发表了一些有趣的评论。

最新5月/2015年

尽管如此,我还是会经常对这个问题投赞成票,所以我想和大家分享一下,自从我写出答案的第一部分以来,我们已经做了些什么。

我们现在正在进行一个项目,其中也有一个网络客户端。我们现在有了iOS客户端,安卓客户端,再加上网络客户端。

JavaScript是web客户端的自然选择。

由于我们希望在这些客户端之间共享尽可能多的代码(在业务逻辑层),这意味着我们需要找到一种在iOS和Android中运行iOS代码的方法。

这就是我们最后要做的。

这是对我们如何处理它的总结:

  • 对于所有客户端:所有数据结构都是用谷歌原版定义的。这允许为iOS和Android自动生成序列化/反序列化代码。
  • iOS:在JavaScriptCore的帮助下运行JavaScript代码(很好的概述这里)。
  • 安卓:在谷歌的JavaScript引擎的帮助下运行JavaScript代码。

JavaScript和iOS/Android层之间的桥梁可能是一个瓶颈,尤其是对象的序列化。为了避免麻烦,我们必须优化一些事情并吸取一些教训。

总的来说,这种经验是积极的。通过在所有客户端之间共享代码,我们节省了大量时间。

如果我必须启动另一个像这样的项目(需要与web和移动客户端共享代码),我也会查看谷歌为收件箱做了些什么。我们刚开始的时候就没有了。看上去很有希望。

最新情况:8月/2015年

世界在不停地转动..。

如果我现在必须启动一个新的移动应用程序,我也会好好看看React Native

它基于JavaScript,更容易连接web和移动开发。

有一个Ray Wenderlich网站上的伟大教程

2016年2月更新

我的跨平台开发的候选名单是两个:

我一直更关注离子型,因为我们的网络应用程序使用AngularJS,离子型应用也是如此(Cordova + AngularJS)。React Native将迫使团队学习另一个框架(当然,如果您的web应用程序使用了React,则这个论点正好相反)。

然而,我会认真考虑React Native,甚至必须学习另一个框架,因为报告的性能和外观的应用。来自React原住民的网站:

通过使用,您可以在iOS上使用标准平台组件,比如在iOS上使用iOS,在Android上使用抽屉

如果您现在就要开始,我建议您至少花些时间完成他们的教程,这样您就可以更好地了解每个框架。每个教程可以在一到两个小时内完成:

为了获得更简单的方法:“粉碎杂志”刚刚发布了(在我编写此更新时) 一篇好文章,展示了如何使用本机导航元素来使应用程序有感觉(嗯.)本机,同时使用web视图呈现内容。本文将详细介绍如何使HTML/CSS在移动设备中可用(这不仅仅是推动您已经拥有的HTML/CSS )。

票数 30
EN

Stack Overflow用户

发布于 2011-02-20 23:31:50

如果您只专注于为Android平台开发应用程序,我建议您应该使用原生Android (Eclipse + Android,正如您所说的那样)而不是钛。

原因:钛是合适的

  1. 你想要开发出简单的应用程序,或者
  2. 你的应用程序很简单,或者
  3. 您可以看到Java是如此困难(可能:p ),所以您选择了更容易的方法(钛的Javascript)。

下面是为什么您应该使用本地Android而不是the的原因:

  1. 你想开发一个复杂的应用程序,或者
  2. 您想要自定义应用程序外观。这是非常重要的。想象你为客户做了一个应用程序,他们需要他们的应用程序被定制,以更吸引眼球。选择钛意味着你必须使用他们的控制,这缺乏自定义能力。如果使用本机Android,您可以定制您想要的任何东西,这会更好。
票数 7
EN

Stack Overflow用户

发布于 2011-02-19 15:28:15

这是一个很难回答的问题,没有关于应用程序要求的任何细节。

我建议您快速查看Appcelerator的API文档,看看框架提供了什么,并花点时间列出应用程序的基本需求,然后确定哪个工具最适合您的项目。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5049541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档