Flutter Anfängerleitfaden

Außerhalb von Mitte 2019 ist die plattformübergreifende Plattform fest in das Leben von Startups auf der ganzen Welt eingetreten, aber häufiger werden sowohl Outsourcing-Entwicklungsteams als auch Kunden, die auf Kostensenkung setzen, dies prüfen. Jemand setzt auf React Native, jemand erkundet die Möglichkeiten von Kotlin Multiplatform und der neue AppsCast-Podcast-Gast Evgeny Saturov Saturovv hat in den letzten sechs Monaten aktiv am Flutter gearbeitet, die Framework-Updates überwacht und die Technologie der Masse bekannt gemacht. Viele nützliche Links und Tipps für den beginnenden Flutter-Entwickler: von Richtlinien bis zum Repository mit Beispielen für die Implementierung der Architektur - im Gespräch mit Eugene.



AppsCast ist ein Podcast zur mobilen Entwicklung, der mit Unterstützung der AppsConf- Konferenz veröffentlicht wurde . Alle zwei Wochen ein neuer Gast, mit dem wir Daniil Popov ( int02h ) über Technologien, Best Practices, das Leben von Entwicklern sowie Holivar diskutieren und Erfahrungen austauschen.

Alexei Kudryavtsev : Hallo allerseits, heute besuchen wir Zhenya Saturov, einen Entwickler bei Surf und eine Vielzahl von Flutter Dev Podcasts . Zhenya, erzähl uns etwas mehr über dich.

Evgeny Saturov : Mein ganzes bewusstes Leben lang war ich ein Android-Entwickler, aber ich bin mir meiner wolkenlosen Zukunft nicht mehr so ​​sicher wie zuvor. In den letzten sechs Monaten haben wir uns im Unternehmen aktiv für Flutter interessiert und versucht, es in den Produktionsentwicklungsprozess zu integrieren.

Alexei Kudryavtsev : Wie sind Sie plötzlich von einer Android-Entwicklung zu Flutter gewechselt?

Evgeny Saturov : Eine schwierige Frage. Ich selbst frage mich manchmal. Ich habe versehentlich von seinem wichtigsten Propagandisten des Landes, Zviad Kardava, auf einem Devfest in Nowosibirsk von Flutter gehört. Wir haben studiert und beschlossen, es zu versuchen. Seit sechs Monaten schreiben wir über Flutter und haben uns mit einer deklarativen Benutzeroberfläche angefreundet.

Flattern fängt


Daniil Popov : Was hat dich zu Flutter hingezogen?

Evgeny Saturov : Flutter hat eine niedrige Eintrittsschwelle, es fehlen die Konzepte von Aktivität und Fragment, und der Lebenszyklus ist elementar und besteht aus drei Phasen. Alles in Flutter ist ein Widget: Die Anwendung selbst, die wir als Anwendungsklasse dargestellt haben, jeder Block ist ein Widget, in das ein anderes Widget eingebettet ist. Alle Bildschirme werden ausschließlich nach Komposition erstellt. Die Struktur einer Flutter-Anwendung erfordert eine optimierte Architektur und einen kohärenteren Datenfluss.

Ihr Kopf bricht ein wenig, wenn Sie versuchen, nach der Android-Entwicklung eine benutzerdefinierte Ansicht in Flutter zu schreiben. Dort funktioniert es nicht. Sie müssen Ansichten ineinander einbetten und komplexere, kombinierte Elemente erhalten.

Bei Google I / O wurde Jetpack Compose für Android eingeführt, mit dem Sie die Benutzeroberfläche deklarativ schreiben können. Die Idee ist vollständig von Flutter entlehnt, sogar die Namen werden wiederverwendet.

Alexei Kudryavtsev : Es gibt eine solche Verschwörungstheorie, dass Google Android-Entwickler auf Flutter vorbereitet.

Evgeny Saturov : Ich kann Ihnen noch eine Verschwörungstheorie vorwerfen : Apple bereitet seine Entwickler auf Flutter vor.

Der Unterschied zwischen Flutter und anderen plattformübergreifenden Lösungen


Alexei Kudryavtsev : Alles, was Sie gesagt haben, ähnelt den Merkmalen von React Native- oder Xamarin-Produkten. Was ist der Unterschied?

Evgeny Saturov : Das Schreiben einer guten produktiven Anwendung auf React Native ist aufgrund der zugrunde liegenden technischen Lösungen schwierig. Die Interaktion mit der Plattform ist nur über JavaScript Bridge möglich. Dabei verringert diese Operation die Leistung erheblich, was beim Rendern der Benutzeroberfläche von entscheidender Bedeutung ist.

Flutter hat sich jedoch zu einem hohen Preis mit dem Leistungsproblem befasst - die Entwickler des Frameworks mussten ihre Widget-Packs auf Dart schreiben (Flutter ist auch darauf geschrieben). Beim Rendern verschwand nicht nur das Problem der Senkung um fps, sondern das Flutter-Team stellt auch sicher, dass theoretisch nicht nur 60 fps, sondern auch 120 fps auf Geräten erreicht werden können, die dies unterstützen.

Viele diskutieren das Thema, warum das Framework Kotlin nicht unterstützt und ob es angezeigt wird, aber Flutter-Entwickler sagen, dass sie keine solche Aufgabe haben, aber vielleicht wird es jemand anderes tun, wie JetBrains.

Daniil Popov : Es ist offensichtlich, dass es Kotlin Multiplatform gibt. Sie müssen Teil des Compilers sein, der Kotlin in Dart kompiliert, und es wird Gewinn geben.

Alexei Kudryavtsev : Sie sagen es, als ob Sie mit den Fingern klicken würden.

Evgeny Saturov : Der Großteil der Arbeit wurde bereits erledigt. In Google I / O wurde über die Optimierung des Garbage Collector in Kotlin gesprochen, mit der Sie Tonnen von Objekten in einer Millisekunde verwenden können. Dies ist wichtig, da beim Rendern der Benutzeroberfläche alle 16 Millisekunden Tausende von Widget-Diagrammen neu generiert werden und dringend entsorgt werden müssen, um ein Verstopfen des Speichers zu verhindern. Früher wusste Kotlin im Gegensatz zu Dart nicht wie, aber jetzt hindert nichts mehr daran, ihn in Flutter zu ziehen.

Alexei Kudryavtsev : Der erste Teil des Recyclingprozesses ist die Zuordnung vieler Objekte. Nein, sinkt die Leistung zu diesem Zeitpunkt?

Evgeny Saturov : Die Objekte selbst sind leicht. Die Flutter-Anwendung ist eine riesige Recycling-Ansicht, eine Liste mit wiederverwendbaren Elementen, die nur gerendert werden, wenn sich die dahinter stehenden Daten ändern. Gleichzeitig haben Widgets, die alle 16 Millisekunden neu erstellt werden, nichts mit Widgets zu tun, die sich in Android befinden und für das Zeichnen auf der Leinwand verantwortlich sind.

Hier ist das Widget eine Datenklasse, in der sich Daten befinden, die dieses Widget beschreiben. Das Widget, das auf der Leinwand gezeichnet wird, ist während des gesamten Lebenszyklus in einer einzigen Kopie vorhanden. Nur der Daten-Wrapper wird vollständig neu erstellt. So können Sie schnell arbeiten, ohne Ihr Gedächtnis zu verstopfen.

Flutter ist ein vollständig Open Source-Projekt.

Dies ist nicht die Art von Open Source, die vierteljährlich von einem geschlossenen Repository zu einem öffentlichen Github gespiegelt wird. Dies ist eine echte Open Source, bei der die Entwicklung direkt im Open Repository auf dem Github erfolgt. Sie können Änderungen an Widgets vornehmen, Ihr Widget-Paket schreiben und es in Ihrem Unternehmen verwenden.

Alexei Kudryavtsev : Wenn sie ihre eigenen Widgets vollständig erstellt haben, wie läuft es dann mit Animationen und Übergängen zwischen Bildschirmen, zum Beispiel unter iOS?

Evgeny Saturov : Die wichtigere Frage ist, wie die Anwendung den Benutzern dieser Plattform bekannt gemacht werden kann. Standardmäßig ist dies in fast keinem Fall der Fall. Wenn Sie eine Anwendung auf Dart schreiben und eine Art Widget-Paket verwenden, sieht die Anwendung auf Android und iOS beim Start gleich aus.

Um die native Erfahrung auf der Plattform zu erhalten, müssen Sie die Plattform in der laufenden Anwendung manuell testen. Wenn dies iOS ist, verwenden Sie Widgets aus dem Cupertino Pack, wenn es Android ist, Widgets aus dem Material Pack. Das Gleiche gilt für Übergänge: Sie können das Zurückwischen für iOS aktivieren, aber unter Android gibt es eine native Navigation.

Alexei Kudryavtsev : Wie läuft der Wechsel zwischen den Packs? Müssen Sie wirklich schreiben "wenn iOS, verwenden Sie dies", "wenn Android, dann dies"?

Evgeny Saturov : Ja, genau richtig, buchstäblich. Bei Google I / O habe ich Flutter-Entwickler gefragt, warum sie nicht von der Box wechseln, einen Scheck in die derzeit funktionierende Plattform nähen und automatisch Widgets festlegen sollen. Schließlich erwarten die Leute, dass ein plattformübergreifendes UI-Framework dies alles selbst erledigt. Sie antworteten, dass sie den Benutzern die Freiheit geben wollten, zu entscheiden, wie die Anwendung aussehen soll.

Angesichts der Tatsache, dass es möglich ist, Marken-Widget-Pakete für Ihr Design-System zu schreiben, können Sie auf beiden Plattformen eine Anwendung mit demselben Erscheinungsbild schreiben.

Über Flutter-Interna


Daniil Popov : Also hat Flutter eine eigene Rendering-Engine, die alle Widgets unabhängig voneinander zeichnet?

Evgeny Saturov : Ja, aber "dein" ist nicht ganz das richtige Wort. Dies ist Skia, eine bekannte Engine, die seit langer Zeit in Chrome, Firefox und einer Reihe anderer Browser funktioniert.

Tatsächlich ist das Flutter-Team ein Spin-off-Chromium-Team.

Die Entwickler wurden beauftragt, die Chromium-Engine maximal zu übertakten. Gleichzeitig war es nicht erforderlich, die Fähigkeit zum Rendern der HTML-Seite beizubehalten. Mit dieser Bedingung konnten sie es fast zwanzigmal beschleunigen und begannen zu überlegen, was sie mit einem solchen Ergebnis anfangen sollten.

Es wurde klar, dass das Web nicht die einzige Anwendung für diese Engine ist, und sie versuchten, etwas für die mobile Entwicklung zu tun. Skia verschärft, ihre Widgets geschrieben, und wir haben ziemlich leistungsfähige Anwendungen. Dann haben sie es iterativ bis zum aktuellen Status fertiggestellt, wenn wir Anwendungen mit vollem Funktionsumfang schreiben können, wobei eine sorgfältige Implementierung nicht von nativen zu unterscheiden ist.

Alexei Kudryavtsev : Was ist noch unter der Haube von Flutter? Können Sie mir sagen, woraus es sonst noch besteht, wo sich die Optimierung befindet, die es ermöglicht, eine solche Leistung zu erzielen?

Evgeny Saturov : Wenn wir über die Architektur der Plattform selbst sprechen, müssen zwei Hauptschichten unterschieden werden. Die Basis ist "auf die Profis" geschrieben. Es enthält Skia - eine Grafik-Engine, die all diese Schönheit zeichnet, eine Text-Engine, die vollständig von Android ausgeliehen wurde, und Dart VM. Die zweite Ebene ist vollständig in Dart geschrieben. Es enthält alle Widget-Packs: Animationen, Gestenverarbeitung, Foundation Pack mit allen möglichen Dingen. Aufgrund der Tatsache, dass alles in Dart geschrieben ist, wird eine gute Leistung erbracht.

Ich werde sofort fünf Cent einfügen: Wenn Sie nach dieser Version versuchen, etwas auf Flutter zu tun, das Plug-In auf Android Studio installieren, Ihre erste Anwendung sammeln und sagen, dass Sie grausam getäuscht wurden, da alles langsam ist, haben Sie Recht. Dies geschieht während des Debug-Builds, der sich wirklich verlangsamt, Animationen verzögert, die Listen kaum scrollen und die Anwendung etwa 60 MB wiegt. Tatsache ist, dass Sie in der Debütversion ein riesiges Stück Dart VM ziehen. Dies ist eine Gebühr für die Möglichkeit, im laufenden Betrieb neu zu kompilieren. Wenn Sie den Release-Build zusammenstellen, werden alle diese Megabyte vom Wind weggeblasen, die Anwendung arbeitet viel schneller, ohne dass die FPS nachlassen. Diese Bemerkung ist sehr wichtig, um die beginnenden Flutter-Entwickler nicht zu erschrecken.

Dart VM ist ein separates Thema. Es ist bemerkenswert, dass der Hauptverantwortliche unser russischer Entwickler Slava Egorov ist, mit dem sie die Veröffentlichung für Flutter Dev Podcast aufgenommen haben . Mit Dart VM können Sie Code schnell aktualisieren, wenn Änderungen vorgenommen werden. Dies wird als Hot Reload bezeichnet. Sie nehmen Änderungen am Code vor, klicken auf die Schaltfläche und nach einer Sekunde sind die Änderungen bereits auf dem Gerät sichtbar. Dies beschleunigt die Entwicklung erheblich und schafft eine günstige Atmosphäre im Team.

Alexei Kudryavtsev : Es scheint mir wichtig zu sein, dass Sie während des Hot-Reloads im Fluss bleiben. Es macht Spaß bei kleinen Projekten. Wenn das Projekt jedoch groß ist, haben Sie eine Ansicht verschoben und zehn Minuten gewartet.

Evgeny Saturov : Ja, ich habe Beschwerden von Ayosnikov gehört, dass die Montage bis zu 10-15 Minuten dauern kann.

Eine der Stärken von Flutter ist das Maut.

Ich weiß nicht, wie in iOS, aber in Android ist das Maut ein Schmerz. Jedes Update von Android Studio bricht etwas und es funktioniert langsam, es erfordert unrealistische Ressourcen, den neuesten Prozessor und einen Berg RAM. Flutter bietet sofort eine leichte Maut. Es ist nicht erforderlich, in Android Studio zu arbeiten. Sie können VS Code herunterladen, ein Plug-In darauf installieren und dies reicht für die Entwicklung aus. Ich muss sofort sagen, dass Sie für eine vollwertige Arbeit mit Flutter immer noch Apple-Geräte benötigen, da Sie sonst Ihre Baugruppe nicht auf dem iPhone überprüfen können.

Daniil Popov : Sie sagten, dass sich Flutter sprunghaft entwickelt, aber wird es aus diesem Grund Probleme mit der Abwärtskompatibilität geben? Zum Beispiel habe ich das Unternehmen davon überzeugt, eine Anwendung auf Flutter zu erstellen. Wir haben geschrieben, debuggt und hier kommt eine neue Version von Flutter oder Dart heraus, und unser Code wird nicht kompiliert, alles fällt auseinander. Ich saß in einer Pfütze vor dem Kunden.

Evgeny Saturov : Das könnte sehr gut passieren. Es gibt so interessante Dinge wie UX-Umfragen, die vom Flutter-Team durchgeführt wurden.

In der letzten Umfrage wurde gefragt: "Sind Sie bereit für nicht unterstützte Änderungen ohne Abwärtskompatibilität im Namen der Einfachheit und Reinheit des Frameworks?" Mehr als 80% sagten, sie seien bereit.

Ich weiß nicht, ob sie vor der Beantwortung der Frage gut nachgedacht haben und wie legitim die Ergebnisse waren, aber das Vorhandensein einer solchen Veröffentlichung besagt, dass die Entwickler künftig nicht unterstützte Änderungen zulassen werden. Ayosniki gewöhnt sich jedoch nicht daran. Wie viel wurde Swift bereits radikal aktualisiert?

Wo soll ich anfangen?


Daniil Popov : Wo soll ich anfangen, wenn Sie sich entscheiden, Flutter selbst auszuprobieren? Aus Gründen des Interesses habe ich die Codelabs von Google geöffnet. Es gibt konkrete Beispiele für die Übertragung von Java nach Dart. Gibt es so etwas für iOS-Entwickler?

Evgeny Saturov : Das Flutter-Entwicklungsteam hat eine Reihe von Artikeln zur Migration zu Vertretern verschiedener Profile veröffentlicht. Es gibt Flutter für Android-Entwickler , Flutter für iOS-Entwickler . Ich öffne und sehe zum Beispiel: "Was entspricht der UI-Ansicht in Flutter?" oder "Wo ist mein Storyboard?". Alle diese Fragen werden beantwortet. Ich rate Ihnen, mit diesen Artikeln zu beginnen. Sie befinden sich alle in der Flutter-Dokumentation.

Ich muss noch auf das Thema eingehen, wie man sich mit Dart als Entwicklungssprache für Flutter anfreundet. Dafür gibt es eine Dart Language Tour . Es gibt alle Grundkonzepte von Dart. Aber ehrlich gesagt unterscheiden sich einige Dinge etwas stärker (besonders wenn Sie tiefer graben), einige Dinge fehlen, zum Beispiel Funktionsüberladung, Sie müssen immer noch ein Semikolon am Ende der Zeile einfügen ...

Alexey Kudryavtsev : Gibt es Unterlagen? Wem kann ich auf Twitter folgen? Blogs auf dem Medium?

Evgeny Saturov : Natürlich gibt es jetzt viele Informationen. Es gibt eine Flutter- Website mit detaillierten Anweisungen zum Einrichten einer Entwicklungsumgebung, zum Herunterladen, zu den zu installierenden SDKs und Plugins. Es gibt Codewörter, sie sind recht einfach und ziemlich informativ, da sie nicht den hundertsten Teil dessen geben, was Flutter ist. Aber zuerst, um das Konzept im Prinzip zu verstehen, werden die Codelabs ausreichen. Ich empfehle nicht, alles durchzugehen, es gibt ziemlich knifflige, die Google Maps in die Anwendung integrieren. Das ist auch interessant, aber es gibt mehr Aufhebens um Schlüssel als echte Entwicklung. Es reicht aus, die ersten drei durchzugehen. Es gibt weitere Funktionsbeispiele - Klone von echten WhatsApp- und Instagram-Apps mit Annahmen.

Alexei Kudryavtsev : Das ist cool, zusammen mit Migrationsanweisungen.

Evgeny Saturov : Ja, Sie können sehen, wie Menschen in Wirklichkeit die Dinge tun, die wir in Anwendungen gewohnt sind. Es hilft, loszulegen.
Darüber hinaus gibt es eine Reihe von bezahlten Kursen auf Udemy, aber ich bezweifle, dass dies sehr notwendig ist. Ich habe mir angesehen, woraus sie bestehen, und all diese Informationen (vielleicht nicht so strukturiert) sind absolut kostenlos.

Ich empfehle auch die Website https://itsallwidgets.com/ , auf der Sie Präsentationsanwendungen sofort auf Ihrem Gerät installieren können (es spielt keine Rolle, ob Sie etwas auf Flutter entwickeln oder nicht) und sehen, wie sie funktionieren. Es gibt eine History of Everything- App, die in drei Monaten geschrieben wurde. Dies ist ein absoluter Fan, verrückte Animationen. Es gibt eine riesige Zeitleiste, die Sie vergrößern können, und verschiedene Episoden menschlichen Lebens erscheinen darauf. Jedes hat seine eigene Animation. Alles wird auf Dart ohne native Bibliotheken gemacht. Auf dieser Seite können Sie nachvollziehen, wo sich die Flutter-Funktionen befinden: Es gibt Spiele, die ausschließlich auf Dart geschrieben und auf Skia gerendert wurden, und es gibt auch reguläre Anwendungen.

Der Flutter Create- Wettbewerb wurde kürzlich abgehalten: Sie mussten Ihre eigene kleine Anwendung unter der Bedingung schreiben, dass die Quelle einschließlich aller Abhängigkeiten nicht mehr als 5 KB wiegt. Der Begleiter gewann, der einen interaktiven Erdschritt machte, den Sie drehen, überall herumstochern und eine echte Wettervorhersage sehen können. Es sieht völlig unrealistisch aus. Diese Dinge können als Inspiration verwendet werden.

Und Sie können immer noch mehrere Repositories auf GitHub verwenden, die von Enthusiasten erstellt wurden. Sie heißen alle gleich - Awesome Flutter. Dies sind Sammlungen mit allen Beispielen, Bibliotheken, Artikeln.

Informationen zu Informationsquellen. Ich empfehle, den offiziellen Youtube-Kanal Flutter zu abonnieren. Es gibt Shows, die regelmäßig ausgehen. Flatter-Widget der Woche - jede Woche eine detaillierte Geschichte über ein einzelnes Widget, die wichtigsten Anwendungsfälle und Funktionen. Die Boring Flutter Development Show ist ein interessantes Showformat, das eine Stunde dauert und ohne Bearbeitung herauskommt. Während dieser ganzen Zeit codieren die Teilnehmer. Es scheint, dass sie es ohne viel Vorbereitung tun, weil ständig Fehler auftauchen, sie versuchen etwas zu tun, sie sind dumm, sie verstehen nicht, was passiert. Das zu sehen ist erstaunlich interessant.

Wenn Sie all diese Shows sehen (es gab relativ wenige davon), können Sie eine völlig andere Person werden und glauben, dass Sie Ihr ganzes Leben lang Flutter geschrieben haben. Sie sprechen interessante Themen und Probleme an, mit denen Menschen konfrontiert sind, und suchen auf der Suche nach einer Lösung. Es spielt alle Hauptstars von Flutter: Emily Fortuna , Andrew Brogdon . Sie können sie auf Twitter abonnieren, sie veröffentlichen aktiv. Sie sollten Brian Egan auf jeden Fall abonnieren. Es verfügt über ein Repository mit 16 Beispielen mit unterschiedlichen Architekturmustern. Dies ist eine unverzichtbare Sache, wenn Sie bereits über Flutter schreiben und zu Beginn des Projekts die Architektur auswählen müssen, die Sie verwenden möchten. Du gehst einfach zu Brian und er hat schon alles für dich vorbereitet. Diese Leute treiben die Flutter-Entwicklungsbranche voran.

Flattern in der Produktion


Alexei Kudryavtsev : Nehmen wir an, ich bin der technische Direktor des Unternehmens. Wo kann ich nach Flutter-Entwicklern suchen?

Evgeny Saturov : Es ist wie bei Menschen: Es gibt offene Chatrooms in einem Telegramm mit genügend Menschen, die bereits über Flutter schreiben. Aber ich würde sagen, dass Sie keinen Dart-Entwickler suchen müssen. Sprache ist ein Werkzeug und ihre Unwissenheit ist kein Hindernis für die Einstellung. Eine andere Frage ist, dass Flutter nicht nur Dart-Code ist. Sie müssen weiterhin auf die Plattform zugreifen. Und hier ist die Frage: Wie schnell werden Android-Entwickler herausfinden, wie dies unter iOS zu tun ist, und umgekehrt, wie schnell wird Ihr Webentwickler es herausfinden, wie es sowohl dort als auch dort zu tun ist.

Derzeit besteht das ausgewogenste Flutter-Entwicklungsteam aus Android- und iOS-Entwicklern.

Eine andere Sache ist, dass dies nicht immer möglich ist, da Ayosniki immer noch vorsichtig mit Flutter sind.

Alexei Kudryavtsev : Wie wird Flutter in der Produktion eingesetzt? Wie viele Projekte haben Sie als Studio darauf geschrieben? Und wie viel geht es nur rein?

Daniil Popov : Und wer außer Ihnen schreibt noch darüber?

Evgeny Saturov : In unserem Fall des Outsourcings ist dies ein Knaller, da wir einen niedrigeren Preis als für zwei native Anwendungen anbieten können. In den zehn Jahren des Bestehens nativer Frameworks sind alle Kunden daran gewöhnt, standardmäßig zweimal für dieselbe Arbeit bezahlen zu müssen, was insbesondere für kleine Unternehmen, die Geld zählen, teuer ist.

Für sie ist Flutter ein Lebensretter, wie jede plattformübergreifende, nur Flutter liefert ein wirklich cooles Ergebnis.

Und es gibt bereits Kunden, die kommen und sagen: - Wir brauchen nur Flutter. In letzter Zeit ist dies immer mehr passiert.

Wir sammeln immer noch Analysen, weil wir ein kleines Projekt abgeschlossen haben, das wir als Pilot ausgewählt haben. Es stellte sich heraus, dass es ungefähr eineinhalb Mal schneller ging, als wenn wir zwei native Projekte parallel durchführen würden. Es sollte bedacht werden, dass dies unsere erste ernsthafte Erfahrung war und viele Probleme für eine lange Zeit gelöst wurden. Idealerweise können Sie mit den Kräften eines kleineren Teams eine doppelte Geschwindigkeitssteigerung erzielen. Und vergessen Sie nicht, dass dann halb so viel Debugging stattfindet und Sie keine Fehler auf zwei Plattformen beheben müssen.

Über wer sonst noch Flutter benutzt. Ich habe kürzlich herausgefunden, dass bestimmte Projekte (natürlich keine Flaggschiff-Projekte) in Odnoklassniki in Grab geschrieben sind, einem Taxi in Südostasien, das Uber kürzlich gekauft hat.

Der allgemeine Trend ist folgender: Es eignet sich gut für das Prototyping, zum Experimentieren, da es eine Interaktion mit dem Eingeborenen gibt.

Flutter iOS Android-, A\B , , , .

-, ( json, , ).

Flutter ? , , , , , . Flutter — UI, , , .


: ?

: , iOS - , Flutter , . ?

: iOS , , , -, GPU. , iOS- — CPU. , , Flutter, CPU, GPU. - . opengl . Flutter , .

: . , Flutter Engine, . , : APK , 64- . , -.

( ), , iOS- , X-Code ( ).

. Cupertino Widgets 70%. view controller — , . — , .

, , : , . , res, , . Flutter Dart-, . , .

Flutter


: Flutter, roadmap?

: , . Google I/O Flutter for Web , Flutter- web- . Flutter Engine. , . roadmap — . , , .

, , — .

Flutter, , , , , .

, Flutter- . showcase Flutter Live, . flutter-: . , , - developer preview, .

, Flutter . , , .

Release Notes , . , , , , , . , , - , issues Flutter.

Schlussfolgerungen


: . Flutter , , . Xamarin, . , Flutter .

, Dart . , . , Dart — , . UI , Flutter.

: Android-, Flutter: « 2019 , , - , Flutter».

, , .

Flutter , AppsConf .

Source: https://habr.com/ru/post/de460743/


All Articles