web-dev-qa-db-ja.com

Appcelerator vs Android SDK

私は加速器を見てきました、それはかなり良いようです!間違いなく、appceleratorの利点の1つは、マルチプラットフォームのサポートです。 Androidアプリと、後でiphoneアプリを作成することに興味があります。したがって、現時点で複数のプラットフォームをサポートすることは重要ではありません。

複数のプラットフォームのサポートを無視して、Android開発に集中する場合。appceleratorはまだ有利ですか?「AndroidSDK」の機能が不足していますか?

(「Andoridsdk」と言うときは、ネイティブのEclipseを使用した開発を意味しますAndroid sdk、意味がある場合)

24
pars

Androidプロジェクトを開始するときに、Appceleratorを確認しました。次にiOSクライアントを実行する必要があることがわかっていたため、Appceleratorは魅力的でした。

各デバイスのすべてのネイティブ機能をサポートしているわけではないため、このルートを使用しないことにしました。

たとえば、Androidのユーザーインターフェースにはウィジェットが必要であると早い段階で決定しました。Androidに固有であるため、Appceleratorではウィジェットはサポートされていません。[これは数か月前のことです。もう一度確認したい]。

ユーザーインターフェイスの妥協は私たちにとってあまりにも大きかった。アプリロジックにはC/C++を使用し、ユーザーインターフェイスにはAndroid SDKを使用することにしました。

私たちのアプリには2つの要素があります。「頭脳」への可能な限りのC/C++と、UIエクスペリエンスを活用するためのUI用のネイティブ(Android/Cocoa Touch)です。

もちろん、C/C++を統合できるプラットフォームでも機能します。

別れのアドバイス:最初にユーザーインターフェイスを設計し、次にそれを実装できるツールを見つけます。ユーザーは、ポータブルデバイスのUIに大きな期待を寄せています。早い段階で妥協することが、プロジェクトのKODになる可能性があります。

[編集]この質問に対する賛成票をよく目にします。過去2年間に学んだことを更新したいと思います。

  • アプリケーションの一般的な部分にC/C++を使用することで、成果が得られました。少し複雑なビルドプロセスが必要ですが、共有されているコードの一部が複雑な場合(この場合のように)、大幅な節約になります。
  • ユーザーインターフェイスの部分については、ハイブリッドアプリ(HTMLの一部のUI要素)の調査を開始しています。 HTMLインターフェースについてはまだ議論がありますが(FacebookとLinkedInはUIのネイティブコードに移行する2つです)、慎重に選択すると機能するという報告もあります。 Flipoard から素晴らしい話があります。スライド付き ここ

2014年10月更新

2014年3月、Smashing Magazineは、ネイティブiOS、ネイティブAndroid、PhongeGap(Cordova)、AppceleratorTitaniumを比較した優れた記事を公開しました。それぞれの環境でのシンプルなアプリの開発を示しています。

これは シリーズの最後の部分 です。このパートの上部にはシリーズの前のパートへのリンクがあり、下部にはアプローチの比較があります。最後に読者からの興味深いコメントもあります。


2015年5月更新

それでも、この質問に対する賛成票が頻繁に寄せられるので、回答の最初の部分を書いたときから私たちが行ったことを共有したいと思います。

現在、Webクライアントもあるプロジェクトに取り組んでいます。これで、iOSクライアント、Androidクライアント、およびWebクライアント)ができました。

JavaScriptはWebクライアントにとって自然な選択です。

これらのクライアント間で(ビジネスロジック層で)できるだけ多くのコードを共有したいので、iOSとAndroidでJavaScriptコードを実行する方法を見つける必要があることを意味します。

そして、それが私たちがやったことです。

これは私たちがそれをどのように扱うかの要約です:

  • すべてのクライアントの場合:すべてのデータ構造は Googleのprotobuf で定義されます。これにより、iOSおよびAndroidのシリアル化/逆シリアル化コードを自動的に生成できます。
  • iOS:JavaScriptCoreを使用してJavaScriptコードを実行します(概要 ここ )。
  • Android:GoogleのV8エンジンを使用してJavaScriptコードを実行します。

JavaScriptとiOS/Androidレイヤーの間の橋渡しは、特にオブジェクトのシリアル化がボトルネックになる可能性があります。トラブルを避けるために、いくつかのことを最適化し、いくつかの教訓を学ぶ必要がありました。

一般的に、経験は前向きです。すべてのクライアント間でコードを共有することにより、時間を大幅に節約しました。

このような別のプロジェクトを開始する必要がある場合(Webおよびモバイルクライアントとコードを共有する必要があります)、 Googleが受信トレイに対して行ったこと も確認します。私たちが始めたとき、それは利用できませんでした。有望に見えます。


2015年8月の更新

そして世界は変わり続けています...

また、新しいモバイルアプリを今すぐ起動する必要がある場合は、 React Native もよく見ていきます。

これはJavaScriptに基づいており、Webとモバイルの開発をより簡単に橋渡しします。

Ray Wenderlichのサイトに素晴らしいチュートリアル があります。


2016年2月の更新

クロスプラットフォーム開発の私の候補リストは2つになります。

私たちのWebアプリはAngularJSを使用しているため、 ionic にもっと注意を払っています。ionic(Cordova + AngularJS). React Native チームに別のフレームワークの学習を強制します(もちろん、WebアプリがReactを使用している場合、議論は反対です)。

それでも、アプリのパフォーマンスとルックアンドフィールが報告されているため、別のフレームワークを学習する必要がある場合でも、 React Native を真剣に検討したいと思います。 From React Nativeのサイト:

React Nativeを使用すると、iOSのUITabBarやAndroidのDrawerなどの標準プラットフォームコンポーネントを使用できます

今から始める場合は、各フレームワークをよりよく理解できるように、少なくともチュートリアルを完了する時間をとることをお勧めします。各チュートリアルは、1〜2時間で完了することができます。

より簡単なアプローチの場合:Smashing Magazineが公開されました(この更新を書いた時点で) 良い記事 ネイティブナビゲーション要素を使用してアプリをネイティブに感じさせる方法を示しています(まあ...) Webビューを使用してコンテンツをレンダリングします。この記事では、モバイルデバイスでHTML/CSSを使用できるようにする方法の詳細について説明します(既存のHTML/CSSをプッシュするだけではありません)。

29

Androidプラットフォーム用のアプリの開発のみに焦点を当てている場合は、ネイティブAndroid(Eclipse + Android SDKを使用することをお勧めしますあなたが言ったように)代わりにチタン。

理由:チタンは次の場合に適しています

  1. アプリを迅速に開発したい、または

  2. アプリはシンプル、または

  3. Javaは非常に難しい(多分:p)ので、より簡単なもの(Javascript of Titanium)を選択します。

そして、チタンの代わりにネイティブAndroidを使用する必要がある理由は次のとおりです。

  1. 複雑なアプリを開発したい、または

  2. アプリの外観をカスタマイズしたい。それは非常に重要です。イメージングでは、クライアント向けのアプリを作成します。クライアントは、目を引くようにアプリをカスタマイズする必要があります。 Titaniumを選択すると、コントロールを使用する必要があり、カスタマイズする機能が不足します。ネイティブAndroidを使用すると、必要なものをすべてカスタマイズできる方がよいでしょう。

7
anticafe

これは、アプリケーションの要件に関する詳細なしで答えるのは非常に難しい質問です。

AppceleratorのAPIドキュメント をざっと見て、フレームワークが提供するものを確認し、アプリケーションの基本的な要件をリストして、どのツールが最適かを判断することをお勧めします。事業。

4
Aaron Saunders

AppceleratorはJavaScriptなどを使用しているので、良いスタートを切ったと思います。習得は簡単ですが、良い例です。また、同じコードを使用してiPhone、iPadアプリにアクセスできるようになります。 Android SDKだけの使い方を学ぶのはもっと複雑です。それでも、後でiPhoneなどのアプリを開発する必要があります。Webのバックグラウンドから来た場合、これは理にかなっています。すばやく学習するための優れたビデオがあります。 。 幸運を

1
Adriaan

Appceleratorでの私の経験は、彼らがiOSショップのようなものであることを示唆しているようです。 Androidのツールセットは、私見ですが、かなり不足しています。ADTは、デバイス上でのビジュアルUIの構築とデバッグをサポートしていますが、Titanium Studioはサポートしていません。これについては、数か月前からバグが報告されています。 Androidに焦点を当てている場合は、Android用のGoogleADTまたはMOTODEVStudioを使用してください。これらのIDEは非常に優れており、専門家によって使用されています。

上記の回答は、モバイルアプリを開発するための優れた方法を示しています。質の高いユーザーエクスペリエンスを妥協しないでください。

0
Nathan Moos

Appceleratorは多くのサポートがあり、本当に使いやすいです。現在、ネイティブAPI呼び出しを100%サポートしています。彼らは本当に良いドキュメントも持っています。

0

ブルートゥースサポートの欠如は、Appceleratorにとって大きな欠陥であり、ロードマップについての手がかりを与える人は誰もいません。

編集:appceleratorはTizen3.1でBTをサポートするようになりました

0
Mehmet AVŞAR

さて、新しいバージョンのappcelerator(APPCELERATORSTUDIO 4.0)では、合金プロジェクトや、UI(tss)用のcssファイルのようなものを使用できるため、実際にはそれらは本当にカスタマイズ可能です。

Greatings

0
RedArcCoder