web-dev-qa-db-ja.com

ハイブリッドJavaScriptモバイル開発-Ionic vs NativeScriptを使用したApache Cordovaとコンデンサvs Reactネイティブ

まず第一に、この質問は広すぎないように願っています。フロントエンドのバックグラウンドから来て、私はモバイル開発用のJavaScript関連のフレームワークの1つを学び始めることを考えています。 そして、最初の質問が来ます、Apache CordovaまたはCapacitorを使いますか?私は、趣味のプロジェクトとしてPhaser(HTML5)ゲーム開発に最初に使用しましたが、正直に言うと最高の経験ではありません。 Stack Overflowの年次報告によると、Apache Cordovaが最も嫌われているテクノロジーの1つである理由を私は感じることができました。

次に2番目の質問が来ます。Ionic、NativeScript、またはReact Native?)を使用しますか? Reactが唯一のフロントエンドです「big 3」のフレームワークで、今のところ快適ではありません。AngularおよびVue.jsでの私の経験はかなりポジティブで、モバイルアプリプロジェクトでこれらのいずれかを使用したいと考えています同様に、私はIonicまたはNativeScriptに少し偏っています。反対に、React NativeはGitHubスターを最も多く持っています。その理由である。

最後の1つは、Apache Cordova/Capacitorのいずれかと組み合わせることはできますか:Ionic/NativeScript/React Nativeか、コンデンサとIonicの組み合わせなど、作業を容易にするいくつかの方法がありますか? =同じ会社がこれを行うため、比較的シームレスな組み合わせである必要があると思います。

編集:

最後の1つ-モバイルアプリと同じコードベースからPWAを作成するために、Ionicのみ?

3

ある程度、答えはあなた自身の個人的な経験/知識、個人的な好み(あなたがどのように考え、どのように働くか)に依存し、最後に、プロジェクトに必要なパフォーマンス要件に依存します。あなたのように、私はこれらのフレームワークのすべてを調査し、それらのほとんどを使用しました。それらのいずれかが最終的に仕事を成し遂げるでしょう。しかし、私が見つけた1つのことは、ネイティブアプリにラップされたWebビューを実行するCordovaなどのフレームワークは、プッシュしようとすると、いくつかの顕著なパフォーマンスの問題を引き起こす可能性があるということです。実際のネイティブコンポーネントを使用し、ネイティブコードにコンパイルするフレームワークは、最終的に応答性が向上します。ただし、それでも、ネイティブに作成されたコードと一致しない場合があります。たとえば、私は1年ほど前にReact Nativeで始めたプロジェクトに取り組みました。地理位置情報とユーザーインタラクションを使用してリアルタイムのマップアニメーションを実行し始めるまで、すべてが順調でした。その時点で、まったく新しいデバイスでもラグとスタッターが発生し始めました。このプロジェクトでは、最終的に弾丸を噛み、純粋なネイティブでやり直しました。

現在、VueでNativeScriptを使用するプロジェクトに取り組んでいます。そして、これまでのところ、私はそれでかなりめまいです。あなたと同じように、私はVueJSのファンです。主に、Vuexと全体的なデータバインディングの処理方法が好きだからです。頭を動かすための学習曲線とパラダイムは確かにありましたが、1週間ほどでストライドを始めました。そうは言っても、複雑なアニメーションのようなものでフレームワークを実際にプッシュする必要はまだありません。しかし、それは成熟したフレームワークであり、十分に文書化されており、活発なコミュニティがあります(私はすぐにSlackワークスペースに参加しました)。また、使用するフレームワークについてif/whatの意見がないことは、とても気に入っています。バニラJavaScript、React、Angular、Vue ...気にしません。

プロジェクトで他の開発者を増やすことについて心配しているのであれば、将来的にはReactネイティブに精通している人々が間違いなく増えるでしょう。その上で、その価値がある開発者は難なく新しいフレームワークを立ち上げることができます。NativeScriptを検討している場合は、プレイグラウンドの例をいくつか見て、ドキュメントをめくることをお勧めします。とは言っても、他のフレームワークについては特に不満はありませんが、特定の種類のアプリには他のアプリよりも適切なものもあります。

幸運を!

1
Brandon Gohsman

そのとおりです。NativeScriptには、iOS/Android用の独自のネイティブコンポーネントがあります。他のいくつかのフレームワークのラッパーではありません。 Telerikはゼロから構築しました。これは、現在バージョン6.xの自己完結型のエコシステムです。したがって、それはしばらくの間存在し、活発に開発および保守されています(これは、いつかなくなることを保証するものではありません)。

PWAのようなものについては、IonicまたはFlutterがオプションです。そして、今朝、StackShare経由で新しいものに出会いました。Quasarと呼ばれ、面白そうです( https:// quasar。 dev / )ですが、モバイルアプリのビルドに使用するのと同じNativeScriptコードベースから実際にPWAをビルドできます( https://www.nativescript.org/blog/how-to-build-a -pwa-an-ios-app-and-an-Android-app-from-one-codebase )したがって、ツールが不足することはないようです。これは、どのように働きたいか。

1
Brandon Gohsman