web-dev-qa-db-ja.com

Flutter-既存のAndroidプロジェクトからインポート

私は現在、Android〜75%完了したプロジェクトに取り組んでいます。iOSにも同様のアプリケーションが必要です。

このプロジェクトをflutterにインポートできますか?どうやって?

また、flutterはこのプロジェクトで使用したライブラリをサポートしますか?

14
Rashiq

Flutterは根本的に異なるレンダリングアーキテクチャを使用します。すべてのレンダリングは、ネイティブ要素を使用せずにDartコードで計算されます。

したがって、ネイティブコードを使用できないだけでなく、「ネイティブからフラッターへのインポート」などの機能も使用できません。

ライブラリの場合、それは複雑なトピックです。あなたはcan使用できます。ただし、Flutterが呼び出すものの内部のみ Platformチャネル 。これは、OSでネイティブに実行されるコードで記述されたシステムコールを作成するためのAPIです。

そのため、Firebaseなどのライブラリは問題ありません。ただし、コンポーネントライブラリやrxjavaなどは公開されていません。同様のDartライブラリが必要になります。

1
Rémi Rousselet

このプロジェクトをflutterにインポートできますか?方法?

私がこれまでに研究したように、他のフレームワークからのプロジェクトに対してflutterで利用可能なインポートオプションはありません。フラッターアーキテクチャは、他のアーキテクチャとはまったく異なり、新しいものです。プロジェクトに既存のAndroidコードを含めることができますが、すべてのクロスプラットフォーム作業はFlutter SDKを使用してDartで行われるため、iOSには使用できません。

flutterはこのプロジェクトで使用したライブラリをサポートしますか?

いいえ、flutterはDartで記述された独自のライブラリを提供するためです。彼らは日々新しいライブラリを追加しており、それを使用する必要があります。

そのため、完全なプロジェクトをDart言語で記述し、既存のライブラリをフラッターして新しいプロジェクトを構築する必要があります。

0
Rashiq

私が見たものから、あなたはおそらくそれをほとんどの部分でDartに移植しなければならないでしょう。ただし、おそらく75%にはコーディング(設計、相互作用、フローなど)よりもはるかに多く含まれているため、簡単な部分はDartでコーディングし直すことです。

0
Randal Schwartz

いいえ、ありません。そして、その理由は@creativecreatorormaybenotによって十分に説明されています。追加するのは、言語の違いだけではなく、全体のAndroid=ネイティブビュー、ビュー階層はFlutterのビュー階層とは異なります。Cocosフレームワークに精通している場合は、描画された独自のビュー階層は、フラッターはGoogleがより良く、豊かで、証明しているものに似ています(推測します;;))。起動ポイントは通常どおりAndroid flutterでのアクティビティですが、これで終わりです。その後、UIウィジェットの測定と描画のためにflutterに制御が流れます。いくつかの機能を実装する必要があります。システムサービス、ハードウェアアクセスがネイティブJava/Kotlin Android style/IOS native style。

推奨事項:現時点では、オンラインで何かを見たとしても、DartをJava/kotlinおよびAndroid UIからFlutter UIに変換するためのハック的な方法を使用することはお勧めしません。 Flutter自体はGoogleによる実験であり、Androidとしてはまだ成熟していません。いくつかのニュアンスが頻繁に変更されることを期待してください。すでに75%完了しているので、ネイティブ(AndroidおよびIOS)またはFlutter 。

あなたの質問に正確に答えるために:このプロジェクトをflutterにインポートできますか?現時点ではありません。

また、flutterはこのプロジェクトで使用したライブラリをサポートしますか?種類。あなたが使用したライブラリ、私はそれを明確にするためにいくつかの例を取り上げるつもりです:-画像ダウンロードライブラリ(グライド、ピカソ)はflutterのネイティブの Image ウィジェットに置き換えられるかもしれませんFlutterに移植するコアJavaライブラリ)を使用している場合は、 開発パッケージとプラグインに関するフラッターのドキュメントに従うことができます Dartのコントラクト/ APIおよび実装Javaパッケージ。IOSおよびAndroidのコントラクトは同じままです。-システムレベルのコンポーネントを使用する場合、先ほど述べたように、パッケージとプラグインを使用する方法があります Here は、Dartチームによって開発された直接プラグインのリストです。

0
Aleon Q