Eine plattformübergreifende Radio-App

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!

Flutter

Plattformübergreifend. Nativ. Kompiliert.

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!

Das Projekt

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.

Unsere Aufgaben

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:

  • Wir beschlossen, eine App zu entwickeln, die …
    • den Live-Stream des Radiosenders zur Verfügung stellt,
    • ein Sendungsarchiv bietet,
    • das Programm anzeigt,
    • gut aussieht, intuitiv und angenehm zu bedienen ist und im Hintergrund laufen kann.
  • Wir baten LCR um die Erlaubnis, auf ihre Webserver zugreifen zu dürfen, um uns mit den Gegebenheiten vertraut zu machen. Auf der Website gab es bereits eine Live-Stream-Funktion und in der Datenbank fanden sich Informationen zu Programm und Archiv.
  • In der Infrastruktur von LCR fanden wir alle nötigen Informationen.
  • Um die erforderlichen Daten aus der Datenbank abzurufen, erstellten wir ein API-Skript.
  • Schlussendlich entwickelten wir die mobile App.

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

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.

Zusammenfassung

In diesem Projekt konnten wir wertvolle Erfahrungen sammeln:

  • Wir entdeckten Flutter für uns, eine Plattform, die sich hervorragend bewährt hat.
  • Wir gewannen neues Know-how in der mobilen Entwicklung und auch an Erfahrung.
  • Wir haben eine großartige mobile Radio-App entwickelt, die von vielen geschätzt und positiv bewertet wird.

War es das wert? Absolut!

Sind auch Sie an der Entwicklung mobiler Apps interessiert? Melden Sie sich bei uns!

Technologien

Flutter, Dart, Android Studio, Xcode, JSON, PHP

Screenshots

 

Sprechen Sie uns an!
Vorname
Nachname
Telefon
Die eingegebene Telefonnummer ist ungültig.
Botschaft*
Dieses Feld ist erforderlich.
preloader