Appcelerator的VS Android SDK中 [英] Appcelerator vs Android SDK

查看:146
本文介绍了Appcelerator的VS Android SDK中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在看的Appcelerator似乎pretty的罚款!毫无疑问,对Appcelerator的优势之一是其对多平台的支持。我很感兴趣,后来就建立一个Android应用程序,也许iphone应用程序。因此,这不是关键,以支持多个平台的时刻。

I have been looking at appcelerator it seems pretty fine! Without a doubt, one of the advantages of appcelerator is its support for multi-platform. I am interested in building an android app and maybe a iphone app later on. So it is not crucial to support multiple platforms at the moment.

如果你不理会支持多个平台,并只专注于Android开发。是Appcelerator的还是有利?它是否缺少Android SDK中的特性?

If you disregard supporting multiple platforms and just focus on android development. Is appcelerator still advantageous? Does it lack any features of "Android sdk"?

(当我说的Andorid SDK我的意思的发展与Eclipse与原生的Andr​​oid SDK,如果它使任何意义)

推荐答案

在开始我们的Andr​​oid项目时,我们看的Appcelerator。我们知道我们必须做的下一个在iOS客户端,因此Appcelerator的是诱人的。

We looked at Appcelerator when starting our Android project. We knew we would have to do an iOS client next, so Appcelerator was enticing.

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

We decided not to go that route because it doesn't support all the native features of each device.

例如,我们在初期,我们在Android用户界面将需要一个小部件决定。否,在Appcelerator的支持,因为它是具体到Android。 [这是几个月前 - 你可能要再次检查。

For example, we decided early on that our user interface in Android would need a widget. No support for that in Appcelerator, as it's specific to Android. [This was a few months back -you may want to check again].

影响用户界面是太多了我们。我们决定去与C / C ++的应用程序逻辑和采用Android SDK的用户界面。

Compromising on the user interface was too much for us. We decided to go with C/C++ for the app logic and use Android SDK for the user interface.

我们的应用程序现在有两件:C / C ++,尽可能的大脑和本地(安卓/可可触摸)的UI采取的UI体验优势

Our apps now have two pieces: C/C++ as much as possible to the "brains" and the native (Android/Cocoa Touch) for the UI to take advantage of the UI experience.

当然,对于可以集成C / C ++。平台工程

Works of course for platforms that can integrate C/C++.

的临别赠言:设计用户界面,再找到可以实现它的工具。用户可以在移动设备上的用户界面很高的期望。牺牲它早期可能是KOD为您的项目。

The parting advice: design your user interface first, then find a tool that can implement it. Users have high expectations of the UI in portable devices. Compromising on it early on may be the KOD for your project.

几乎每隔一段时间,我看到一个upvote这个问题。我想与我们在过去的两年中学会了更新:

Every so often I see an upvote for this question. I would like to update with what we learned in the past two years:

  • 使用C / C ++为我们的应用程序的公用部分已见成效。它确实需要一个稍微复杂的构建过程,但节省巨大的,如果被共享的一块code是复杂的(如我们的情况下)。
  • 因为我们已经开始考虑混合应用程序(在HTML中的一些UI元素)的用户界面件。目前仍有争论在那里的HTML界面(Facebook和LinkedIn是两个移动到本地code为UI),但也有一些报道说,经过精心挑选,当它的工作原理。有一个从 Flipoard 一个伟大的谈话上;用幻灯片这里
  • Using C/C++ for the common parts of our application has paid off. It does require a slightly more complicated build process, but the savings are gigantic if the piece of code being shared is complex (as in our case).
  • For the user interface piece we are beginning to look into hybrid apps (some UI elements in HTML). There are still debates out there about HTML interfaces (Facebook and LinkedIn are two that move to native code for the UI), but also some reports that when chosen carefully it works. There is a great talk from Flipoard on that; with slides here.

消息:十月/ 2014年

UPDATE Oct/2014

在月/ 2014年碎杂志公布的比较原生的iOS,Android原生,PhongeGap(科尔多瓦)和Appcelerator的钛的优秀文章。它们显示在每个环境的一个简单的应用程序的开发。

In March/2014 Smashing Magazine published an excellent article comparing native iOS, native Android, PhongeGap (Cordova) and Appcelerator Titanium. They show the development of a simple app in each environment.

这是<一个href="http://www.smashingmagazine.com/2014/03/10/4-ways-build-mobile-application-part4-appcelerator-titanium/"相对=nofollow>系列的最后一部分。在这部分的上方有链接到该系列的previous部分和底部还有就是方法的比较。也有读者有趣的评论在最后。

This is the last part of the series. At the top of this part there are links to the previous parts of the series and at the bottom there is the comparison of the approaches. There are also interesting comments from readers at the end.

更新可能/ 2015年

UPDATE May/2015

还是会得到一个upvote这个问题,每隔一段时间,所以我想和大家分享我们所做的工作,因为我写答案的第一部分。

Still get an upvote for this question every so often, so I would like to share what we have done since I wrote the first part of the answer.

我们现在正在研究一个项目,也有一个Web客户端。我们现在的iOS客户端,Android客户端,以及Web客户端。

We are now working on a project that also has a web client. We have now the iOS client, the Android client, plus the web client.

JavaScript是为Web客户端的自然选择。

JavaScript is the natural choice for the web client.

由于我们要在这些客户端共享高达code(在业务逻辑层),这意味着我们需要找到一种方式来运行JavaScript的code在iOS和Android平台。

Since we want to share as much code (at the business logic layer) across these clients, it means we need to find a way to run the JavaScript code in iOS and Android.

而这正是我们终于实现了。

And that's what we ended up doing.

这是我们如何处理它摘要:

This is a summary of how we handle it:

  • 对于所有客户:所有的数据结构都与谷歌的protobuf的的定义。这使得自动生成序列化/反序列化code为iOS和Android。
  • 的iOS:运行JavaScript的code与JavaScriptCore的的帮助下(一个很好的概述的这里)。
  • Android的:运行JavaScript的code与谷歌的V8引擎的帮助
  • For all clients: all data structures are defined with Google's protobuf. This allows to automatically generate the serialization/deserialization code for iOS and Android.
  • iOS: run the JavaScript code with the help of JavaScriptCore (a good overview here).
  • Android: run the JavaScript code with the help of Google's V8 engine.

JavaScript和了iOS /机器人层之间的桥接器可以是一个瓶颈,对象的特别的序列化。我们必须优化了一些东西,并学到了一些经验教训,以避免麻烦。

The bridge between JavaScript and the iOS/Android layer can be a bottleneck, especially the serialization of the objects. We had to optimize a few things and learned a few lessons to stay out of trouble.

通常的经验是积极的。我们通过在所有客户端共享code保存显著的时间。

Generally the experience has been positive. We saved significant amount of time by sharing the code across all clients.

如果我不得不开始像这样的其他项目(需要与网络和移动客户端共享code),我也想看看<一href="http://arstechnica.com/information-technology/2014/11/how-google-inbox-shares-70-of-its-$c$c-across-android-ios-and-the-web/"相对=nofollow>是谷歌没有为收件箱。这是不可用的时候我们就开始。看起来很有希望。

If I had to start another project like this one (that requires sharing code with web and mobile clients), I would also take a look at what Google did for inbox. It wasn't available when we started. Looks promising.

UPDATE月/ 2015年

UPDATE August/2015

和世界不停转动...

And the world keeps turning...

我还要好好看看阵营本地如果我不得不开始新现在的移动应用程序。

I would also take a good look at React Native if I had to start a new mobile app now.

它是基于JavaScript的,更容易弥合网络和移动开发。

It's based on JavaScript, bridging web and mobile development more easily.

有href="http://www.raywenderlich.com/99473/introducing-react-native-building-apps-javascript"在雷Wenderlich的网站伟大的教程

There is a great tutorial in Ray Wenderlich's site.

这篇关于Appcelerator的VS Android SDK中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆