24

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

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

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

4

8 に答える 8

30

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

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

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

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

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

もちろん、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)、および Appcelerator Titanium を比較した優れた記事を発表しました。これらは、各環境での単純なアプリの開発を示しています。

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


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 レイヤーの間のブリッジ、特にオブジェクトのシリアル化がボトルネックになる可能性があります。いくつかのことを最適化する必要があり、問題を回避するためにいくつかの教訓を学びました。

一般的に、経験はポジティブです。すべてのクライアントでコードを共有することで、大幅な時間を節約できました。

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


2015年8月更新

そして世界は回り続ける…

また、今すぐ新しいモバイル アプリを開始する必要がある場合は、 React Nativeもよく検討します。

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

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


2016 年 2 月の更新

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

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

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

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

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

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

于 2011-02-21T00:19:59.810 に答える
7

Android プラットフォーム用のアプリの開発のみに集中する場合は、Titanium の代わりにネイティブ Android (Eclipse + Android SDK) を使用することをお勧めします。

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

  1. アプリをすばやく開発したい、または

  2. アプリがシンプルである、または

  3. Java は非常に難しいことがわかります (たぶん :p )。簡単な方 (Titanium の Javascript) を選択します。

Titanium の代わりにネイティブ Android を使用する理由は次のとおりです。

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

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

于 2011-02-20T23:31:50.173 に答える
4

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

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

于 2011-02-19T15:28:15.947 に答える
1

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

于 2011-02-20T19:52:03.333 に答える
0

Bluetooth のサポートがないことは、Appcelerator にとって大きな欠点であり、誰もロードマップについての手がかりを与えてくれません。

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

于 2012-04-10T10:44:43.427 に答える
0

私が Appcelerator を使った経験から、彼らはどちらかというと iOS 専門店であることがうかがえる。彼らの Android 用ツールセットは、私見ですが、かなり不足しています。ADT はデバイスでの視覚的な UI の構築とデバッグをサポートしていますが、Titanium Studio はサポートしていません。これについて数か月前からバグが報告されており、遅れが続いています。Android に重点を置いている場合は、Android 用の Google ADT または MOTODEV Studio を使用してください。これらの IDE は非常に優れており、専門家によって使用されています。

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

于 2011-08-11T22:51:09.087 に答える
0

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

グレイティングス

于 2015-05-28T02:54:38.353 に答える