web-dev-qa-db-ja.com

Sencha vs Ionic vs Jquery Mobile vs Appcelerator Titanium

HTML5、Javascript、jQuery、AngularJSで良い経験をしています。ハイブリッドモバイルアプリを開発しようとしています。

どれが一番いいのか知りたいだけです。

そして、私はIONICでウィンドウをサポートし始めたので、これを計画しています。これがどれだけ役立つかです。IONICよりも良いものはありますか?

15
eaglemac

あなたの質問を少し変えてもいいですか。適切なのは、どのモバイルアプリケーションフレームワークが最も負担が少ないかです。

誤解しないでください。私は嫌いではありません。この時点で、私はここで最も貢献しているjQuery Mobileサポーターであり、1300を超える回答があります https://stackoverflow.com/tags/jquery-mobile/topusers 。さらに、私は公式のIonicフレームワークフォーラム: https://forum.ionicframework.com/users/gajotres/activity のフォーラムモデレーターでもあります。このトピックに精通している以上。

まず、最高のモバイルアプリケーションフレームワークなどというものはありません。必要なのは、可能な限りネイティブのモバイルアプリに近いモバイルフレームワークです(パフォーマンスとルックアンドフィールについて話しています)。さらに、最も経験豊富なJavaScriptフレームワークを使用したいと考えています。

フレームワーク

Sencha(ExtJS)は過去のものです。ある時点で、それは利用可能な最良のフレームワークでした。残念ながら、今日は太ってゆっくりとしています。

jQuery Mobile(jQuery)は死んでいます。それは決して素晴らしいフレームワークではありませんでしたが、jQueryの上で動作したため、多くの人々がそれを使用しました。最後のメジャーバージョンは3年前に作成されました(1.4)。次のものは間もなくリリースされる予定ですが、すでに廃止されています。これを視点に入れましょう。 IonicはjQuery Mobile 1.4の後にリリースされ、開発者はすでに取り組んでいますIonic 2。

Ionic(AngularJS)は、現在最も使用されているハイブリッドモバイルフレームワークです。最高ですか?それから遠い。それはそれほど高速ではありません(ただし、現在利用可能なほとんどの競合よりも高速です)。ページ遷移/アニメーションはひどいものです。文字通り見栄えをよくするためだけに、特定のCordovaプラグインを使用する必要があります。そして、これはすべてではありませんが、私はもうあなたを邪魔するつもりはありません。

Ionic 2(AngularJS 2)は別の話です。この時点で、このアルファ製品は、製品版のIonicよりも優れています。ページの遷移はまだネイティブのようではありませんが、私の懸念のほとんどはなくなりました。

OnsenUI(AngularJS/jQuery)は私の知る限りではまともなIonic競合他社です。これは常にIonicよりも一歩進んでいます。 AngularJSルーティングがなく、操作が簡単で、パフォーマンスが向上します。残念ながら、ユーザーベースは小さくなります。最後に、Ionicよりも優れたデスクトップブラウザーサポートが提供されます。

OnsenUI 2(プラットフォームに依存しない)は、OnsenUIの次の主要なイテレーションです。さらに優れたパフォーマンス。プラットフォームに依存しないため、好きなJavaScriptフレームワークで使用できます。まだベータ版です。

Titanium/Xamarin-JavaScriptまたはC#コードを使用して、完全にネイティブなモバイルアプリケーションを作成します。一方では、実際のネイティブアプリを受け取ります。残念ながら、これらのアプリケーションは通常メモリリークが発生しやすく、HTML5とCSSのハイブリッドモバイルフレームワークと比較して同じレベルでスタイルを設定することはできません。

Native Script/React Native-これらのフレームワークは、別の特殊なケースです。私がそれらを本当のハイブリッドモバイルフレームワークと呼ぶのは、主に最終結果がJavaScriptのバックグラウンドを備えたネイティブアプリだからです。彼らは両方の長所を提供しますが、習得するには多くの時間も必要です。さらに、それらは通常、実際のネイティブアプリよりも10〜20%遅くなります。これは、主にJavaScript <->ネイティブコードの抽象化が原因です。

結論

私のアドバイス。 AngularJSに設定している場合は、IonicまたはIonic 2を使用して、リリース候補版を待つことを希望する場合)を使用してください。一方、 AngularJSよりもjQueryを使用する場合は、OnsenUIまたはOnsenUI 2を使用してください。

59
Gajotres

質問は、このサイトの範囲を超えており、調査の欠如を示しており、このフォーマットには広すぎます。

  • SenchaはCordovaを使用しています。
  • Jquery mobileはCordovaを使用しています。
  • IonicはCordovaを使用しています
  • CordovaにはGUIフレームワークがなく、単なるブラウザーコンテナーです。

だから実際には

(a)コルドバ対チタン

  • Cordovaは、ブラウザーウィンドウと、JavaScriptを拡張して特定のネイティブ関数を使用できるようにするいくつかのネイティブプラグインを提供しています。ただし、GUIはブラウザーではJavaScriptであるため、ブラウザーで実行できることは何でも可能です。
  • TitaniumはJSロジックをネイティブコードに変換し、ネイティブコントロールを使用しているため、処理速度は向上していますが、サードパーティのJavaScriptコントロールを再利用することはできません。

(b)Cordovaの場合、ExtJSとIONIC対JQuery Mobile

これまでExtJSしか使用していないため、他のフレームワークについてはコメントできません。いくつかのサンプルコード(ボタン、フィールド、リスト、グリッドなど、アプリに必要なものを実装)を見て、それを理解してみて、自分に合ったものを見つけてください。

13
Alexander

Codename One で働くので、私は偏見がありますionicネイティブのみで、Javaの代わりにJavaScript: PhoneGap/Cordova/ionicアプリをCodename Oneに埋め込んでネイティブアプリを取得

JavaScriptを使用する場合は、ionicを使用すると、デスクトップ内のすべてを簡単にシミュレートできるので、おそらくこの方法が適しています。

Appceleratorはコードをネイティブプロジェクトに変換します。そのプロセスは、他のJavaScriptからネイティブツールに比べると多少古くなっています。例えば。 React Nativeおよび Codename One は、より流暢な開発者エクスペリエンスを提供します。

2
Shai Almog