web-dev-qa-db-ja.com

NativeScript Vs Flutter

Angularを使用したネイティブスクリプト の作業を開始しました。最良の部分は、Webアプリとモバイルアプリの両方に使用できるコード共有技術です。

しかし、ここで尋ねたいことの1つは、AngularはGoogleによって開発されたフレームワークであり、Googleはネイティブモバイルアプリ開発のための別のフレームワークも提供していることです Flutter

GoogleがTelerikがネイティブスクリプトで実装したものと同じAngularフレームワークを使用していない理由。何らかの理由があるはずです。その理由を理解したい。

一般的なスキル、つまりAngularでWeb&モバイルアプリを開発できるなら、なぜFlutterのような新しいフレームワークを学び/選択する必要がありますか?.

この質問をするのが適切な場所かどうかはわかりません。そうでない場合は、適切な場所を見つけるのを手伝ってください。

29
Devesh M

フラッターはここでの主な取引ではありません、本当のことはスキアです。

skiaは、ユーザーがhtml(chrome web engine)またはネイティブのLook&Feel(nativescript)skiaを使用する代わりに、アプリを高性能で実行できる2Dレンダリングエンジンです。これにより、ゲームをひらひらさせることができます。

Googleのフラッターライブ2018でvilされた真の意図は、すべてのプラットフォーム間で一貫したUIを作成することです。

  • デスクトップ
  • ウェブ(ハチドリ)
  • モバイル(フラッター)

これらのフレームワークはすべて、UIにskiaを使用し、OS(ブラウザ、デスクトップ、モバイル)と対話するためにそれぞれのフレームワークを使用します。skiaはレンダリングエンジンであり、あらゆる種類のウィジェットが同じように見えるようにすべてのピクセルを制御できるためskiaフレームワーク。

一方、nativescriptはプラットフォームにロードするノードエンジンを使用し、コンポーネントを使用しようとするたびにシステムエンジンを呼び出して、ネイティブのルックアンドフィールでコンポーネントを画面に配置し、機能を使用できるようにしますJava/Swiftを実行する仮想マシンから直接、これがnativescriptでAndroid .[Android_Java_CLASS]またはios.[Swift_CLASS]を使用できる理由です。

ネイティブスクリプトの主な発明は、特定のプラットフォームコードを実行するために実行時にロードするnodejsエンジン内からネイティブクラスを使用することです。 nativescriptモバイルコードをPWAに変換する場合、ブラウザーが独自のエンジンを持っているため、PWAから不要なコードを削除できるため、このノードエンジンは必要ありません。

注:nativescriptは、モバイル開発用のangularフレームワークではなく、モバイル開発用のnodejsフレームワークであり、Angular/vuejsは、nativescriptコアロジック上で実行される単なるフレームワークです。そのため、nativescriptの反応プラグインを作成することもできます。

19
lolporer

Nativescriptでは、コードはnotネイティブコードにコンパイルされ、コードをネイティブコンポーネントと通信する個別のスレッド。ランタイムを使用すると、JavaScriptコードを使用してAndroidおよびiOSフレームワークでAPIを呼び出すことができます。そのためには、JavaScript Virtual Machines-Android向けのGoogleのV8およびiOS 7.0以降で配布されるWebKitのJavaScriptCore実装を使用します。 Flutterは、ネイティブコンポーネントによって消費されるARM C/C++ライブラリにコードをコンパイルするため、パフォーマンスが向上する可能性があります。

NativeScriptについては、TypeScript/Javascriptでコードを記述するため、2つのパフォーマンスを比較する機会がありませんでしたが、DartはFlutterに使用され、私はDartに非常に新しいです。

NativeScript はAngularが resources にもリストしているオープンソースであり、NativeScriptには非常に優れたコミュニティがあります。さまざまなフレームワークの長所と短所を一覧表示することに興味がある場合は、 here が非常に優れた記事の1つです。

:NativeScriptアプリのテスト オンライン コードエディターでデバイスで実行します。 AngularまたはPure JavaScriptまたはTypeScriptまたはVue.jsフレーバーを使用してアプリをビルドできます。

サイドノート:Googleは2015 Dart開発者サミットでFlutterを発表し、NativeScriptは2014年からProgressに支援されました。おそらく、開発者に他のフレームワークでネイティブアプリケーションを探索するオプションを提供したかったのかもしれません。

Flutterで使用可能なコマンドを探す場合、 Fuchsia_reload という新しいコマンドを使用して、オペレーティングシステムの新しいオペレーティングシステムをリロードします Fuchsia そのための早期サポートを提供します。

UPDATE:Webと電話で同じコードベースを共有したい場合、NativeScriptが当然の選択です。 AngularチームとNativeScriptチームは、1つのプロジェクトからWebアプリとモバイルアプリの両方を構築できる回路図コレクションであるnativescript-schematicsを作成するためにチームを組みました。

を使用してインストールできます

npm i -g @nativescript/schematics

here で説明されているように、既存のプロジェクトからコード共有プロジェクトに移行することもできます。

11
Narendra