webentwicklung-frage-antwort-db.com.de

Flatter - Importieren Sie aus einem vorhandenen Android-Projekt

Ich arbeite derzeit an einem Android-Projekt, das zu ca. 75% abgeschlossen ist. Ich brauche eine ähnliche Anwendung für iOS.

Kann ich dieses Projekt zum Flattern importieren? Wie?

Wird das Flattern auch die Bibliotheken unterstützen, die ich in diesem Projekt verwendet habe?

9
Rashiq

Flutter verwendet eine völlig andere Rendering-Architektur. Das gesamte Rendering wird mit Dart-Code berechnet, ohne jemals native Elemente zu verwenden.

Sie können also nicht nur keinen nativen Code verwenden, sondern auch keinen "Import native to flattern".

Für Bibliotheken ist das ein kompliziertes Thema. Sie können sie verwenden. Aber nur innerhalb dessen, was Flutter nennt Plattformkanal . Welches ist eine API, um Systemaufrufe in Code zu machen, der nativ im Betriebssystem ausgeführt wird.

Bibliotheken wie Firebase sind also in Ordnung. Aber Komponentenbibliotheken oder Dinge wie rxjava sind raus. Sie benötigen eine ähnliche Dart-Bibliothek.

1
Rémi Rousselet

Kann ich dieses Projekt zum Flattern importieren? Wie?

Soweit ich bisher recherchiert habe, gibt es keine Importoption für Projekte aus einem anderen Rahmen. Flatterarchitektur ist völlig anders und neu im Vergleich zu anderen. Wir können unseren vorhandenen Android-Code in unser Projekt aufnehmen, er wird jedoch für iOS nicht verwendet, da alle plattformübergreifenden Arbeiten in Dart unter Verwendung des Flutter-SDK ausgeführt werden.

Wird das Flattern die Bibliotheken unterstützen, die ich in diesem Projekt verwendet habe?

Nein, weil das Flattern eigene, in Dart geschriebene Bibliotheken bereitstellt. Tag für Tag fügen sie neue Bibliotheken hinzu, und das müssen wir verwenden.

Wir müssen also das komplette Projekt in Dart-Sprache schreiben, vorhandene Bibliotheken benutzen und ein neues Projekt erstellen.

0
Rashiq

Nach allem, was ich gesehen habe, müssen Sie es wahrscheinlich zu Dart portieren. Da Ihre 75% jedoch wahrscheinlich mehr als nur Kodierungen enthalten (z. B. das Design, die Interaktion, der Ablauf), wird der einfache Teil den in Dart zu Ende kodieren.

0
Randal Schwartz

Ich würde nein sagen, gibt es nicht. Und der Grund ist durch @creativecreatorormaybenot gut erklärt. Ich würde hinzufügen, dass es nicht nur der Sprachunterschied ist, der es schwierig macht, sondern die gesamte Android native Ansicht, Ansichtshierarchie unterscheidet sich von Flutters Ansichtshierarchie. Wenn Sie mit dem Cocos-Framework vertraut sind, für das eine eigene Ansichtshierarchie erstellt wurde, ähnelt das Flattern dem, das nur von Google besser, umfangreicher und attestierter ist (ich denke,;)). Der Startpunkt ist immer noch regelmäßig Android Aktivität im Flattern, aber das war es auch schon. Anschließend geht die Steuerung zum Messen und Zeichnen der UI-Widgets zum Flattern über. Möglicherweise müssen Sie noch einige Funktionen implementieren, für die Systemdienste erforderlich sind. Der Hardwarezugriff muss im nativen Java/Kotlin Android Stil/IOS nativen Stil geschrieben sein.

Empfehlung: An dieser Stelle würde ich Ihnen nicht empfehlen, Dart in Java/Kotlin und Android UI in Flutter UI auf eine hackige Weise zu konvertieren, selbst wenn Sie etwas online sehen, das dies tut. Der Grund ist, Flutter selbst ist ein Experiment von Google und ist noch nicht so ausgereift wie Android. Sie sollten damit rechnen, dass einige Nuancen häufig geändert werden. Da du schon zu 75 Prozent fertig bist, würde ich sagen, geh alle nativen (Android und IOS) oder alle flattern.

Um Ihre Frage genau zu beantworten: Kann ich dieses Projekt zum Flattern importieren? Zur Zeit nicht.

Wird flattern auch die Bibliotheken unterstützen, die ich in diesem Projekt verwendet habe? Art. Da du keine erwähnt hast Von den Bibliotheken, die Sie verwendet haben, möchte ich einige Beispiele nennen, um dies zu verdeutlichen: - Die Bibliothek zum Herunterladen von Bildern (Glide, Picasso) wird möglicherweise durch das native Image -Widget von Flutter ersetzt. - Wenn Sie verwenden Für alle Core Java Bibliotheken, die Sie nach Flutter portieren möchten, können Sie die Dokumentation von Flutter zu Entwickeln von Paketen und Plugins befolgen, die im Wesentlichen die Deklaration von contract/apis in Dart und imlementation vorsieht Java Pakete im Ordner 'Android'. Der Vertrag bleibt für IOS und Android gleich. - Wenn Sie Komponenten auf Systemebene verwenden möchten, wie ich bereits erwähnt habe, sind Pakete und Plug-ins der richtige Weg. Here ist die Liste der vom Dart-Team entwickelten Plugins aus erster Hand.

0
Aleon Q