Rainis, einer der beliebtesten und einflussreichsten lettischen Schriftsteller, sagte einmal:
„Die, die sich verändern, sollen bestehen bleiben“.
Dieser Spruch trifft auf kaum eine Branche stärker zu als auf die IT. Die Technologie wandelt sich mit so rasanter Geschwindigkeit, dass jeder, der sich nicht erfolgreich mit ihr verändert und weiterentwickelt, zwangsläufig ins Hintertreffen gerät.
Entsprechend großen Wert legt unser Entwicklungsteam auf die ständige Weiterentwicklung und darauf, neue Herausforderungen anzunehmen. Genauso war es auch, als einer unserer Gründungspartner zu uns kam und sagte: „Hey, kennt ihr eigentlich Flutter? Ich hab gehört, dass soll cool sein!“ (Es ging um https://flutter.io). Wir waren sofort neugierig.
Als flexibles Webentwicklungsunternehmen, das mit unterschiedlichen Technologien arbeitet, sahen wir in der auf Googles Programmiersprache Dart beruhenden, vielversprechenden jungen Plattform einen großen Mehrwert: eine Code-Basis für iOS- und Android-Apps!
Uns wurde klar, dass Flutter ein neues Kapitel in der Geschichte der mobilen Entwicklung eröffnet!
Im Gegensatz zu Ionic, Cordova oder PhoneGap liefert hier kein Mocking oder Wrapping plattformübergreifende Funktionen hinter der Illusion einer nativen Anwendung.
Stattdessen gibt es nativen Code, eine native Geschwindigkeit und die Möglichkeit, nativen Code einzubetten, wo es nötig ist. Wir mussten es einfach ausprobieren!
Wir hatten bei alledem ein kleines Problem: Zu jenem Zeitpunkt war keiner unserer Kunden oder Partner an einer mobilen Entwicklung mit Flutter interessiert.
Da kam uns der Gedanke: Der lettische Radiosender LCR wird dieses Jahr 25. Warum entwickeln wir ihnen als Geschenk nicht einfach eine App?
Unser Gründungspartner und ehemaliger Sprecher des Radiosenders LCR hatte eine Idee: „Der Sender feiert dieses Jahr sein 25-jähriges Bestehen. Warum entwickeln wir ihnen als Geschenk nicht einfach eine App?“
Die ideale Gelegenheit, Flutter einmal ausführlich zu testen.
Wir nahmen unsere Smartphones, installierten Android Studio und Xcode, luden Flutter herunter und legten los. Wir sind nicht nur Full-Stack-Entwickler, sondern hatten schon mit den unterschiedlichsten Bereichen zu tun: PHP-Webanwendungen, .NET-Desktop- und Webanwendungen, IoT, Android-Apps, eine Front-End-Lösung auf AngularJS und React; wir haben sogar ein eigenes, per Raspberry PI ferngesteuertes Modellauto entwickelt, das mit einem Computer und einem Gaming-Lenkrad in Kombination mit einer Fatshark-Brille gelenkt wird. Flutter fühlte sich für uns gleich vertraut und intuitiv an.
Wie bei jedem neuen Framework gab es natürlich einiges zu lernen, schließlich wollten wir alles richtig machen und unnötige Schwierigkeiten vermeiden. Die beinahe an CSS erinnernde Formatierungssprache, das Widget und das uns von Angular JS und React bekannte zustandsorientierte Prinzip sorgten dafür, dass wir gleich wussten, wo wir nach etwas zu suchen hatten.
Die Idee stammte von uns, also lag es auch an uns, festzulegen, was wir auf welche Weise entwickeln wollten und herauszufinden, was dafür bereits verfügbar war. Es ergaben sich folgende Schritte:
Diese fünfte Aufgabe war natürlich der größte Teil.
Flutter ist zwar ein plattformübergreifendes Framework, doch kam es häufiger vor, dass plattformübergreifende Funktionen nicht sofort einsetzbar waren und erst nativer Code geschrieben werden musste.
Erwähnenswert ist auch, dass Flutter zum Startzeitpunkt unserer Entwicklung zwar schon ziemlich ausgereift war, aber erst in Version 0.x vorlag, was so viel bedeutet wie „Verwende es gerne, wenn du dich damit wohl fühlst, aber erwarte keine hundertprozentige Stabilität“ – genau wie bei anderen Beta-Versionen.
Das Ergebnis ist eine voll funktionsfähige mobile App, die im App Store von Apple und auf Google Play heruntergeladen werden kann.
Nach der Veröffentlichung der App sahen wir mit Freude, dass uns die Definition der Aufgabe, das Design der intern entwickelten App und die Lösung selbst so gut gelungen waren, dass wir 5-Sterne-Bewertungen erhielten. Gleichzeitig stellten wir ein paar kleine, einfach zu behebende Probleme mit älteren Android-Versionen fest: Wie jeder Android-Entwickler weiß, können einem die unterschiedlichen Android-Versionen ganz schönes Kopfzerbrechen bereiten.
In unserem Fall handelte es sich nur um kleine Probleme, die noch an dem Tag behoben werden konnten, an dem sie entdeckt wurden.
In diesem Projekt konnten wir wertvolle Erfahrungen sammeln:
War es das wert? Absolut!
Sind auch Sie an der Entwicklung mobiler Apps interessiert? Melden Sie sich bei uns!
Flutter, Dart, Android Studio, Xcode, JSON, PHP