Wie programmiert man eigentlich eine App? Genau das habe ich mich gefragt, als ich eine Anfrage eines Unternehmers aus meinem Heimatdorf bekommen habe. Ob ich ihm “ein kleines Progrämmchen” schreiben könne, hat er gefragt.
Ich spiele schon länger mit dem Gedanken, mal eine App zu programmieren. Hatte aber keine Lust nur eine “Test”-App aufzusetzen. Die Gegelegenheit wollte ich deshalb nutzen und habe zugesagt, ohne zu wissen wie das überhaupt geht, eine App programmieren.
Aber so viel kann ich verraten: Die App befindet sich bereits in der ersten Testphase im Realeinsatz.
Was brauch ich?
Das erste Wochenende ging also drauf um herauszufinden, was neben Programmieraffinität noch alles benötigt wird.
Welche Entwicklungsumgebungen gibt es? Benötige ich eine Entwickler-Lizenz? Reicht die Leistung meines MacBooks aus?
Das waren die Fragen, die es zu beantworten galt.
Das Gute: Google kennt die Antwort schon bevor ich mir überhaupt die Frage stelle!
Ich habe gelernt dass es mehrere Möglichkeiten gibt eine App zu entwickeln, wobei man zwischen den beiden meistbenutzten Betriebssystemen iOS und Android unterscheiden muss.
Flutter und Dart
Allerdings gibt es eine relativ neue Entwicklungsumgebung von Google namens Flutter – quasi der neuste Shit.
Flutter ist ein Open-Source UI-Entwicklungs-Kit und hat den Vorteil, dass man nur einen Quellcode schreiben muss, welcher dann sowohl für Andriod als auch for iOS kompiliert werden kann. Programmiert wird mit der ebenfalls von Google stammenden Programmiersprache Dart.
Trotzdem kann die jeweils bevorzugte IDE zur eigentlichen Programmierung verwendet werden. In meinem Fall Visual Studio Code.
Das iPhone für 0 Euro
Das wirklich spannende an der ganzen Sache ist, dass der programmierte Pfusch direkt ausgeführt und auf einem simulierten Device ausprobiert und getestet werden kann. Beispielsweiße ein Smartphone oder ein Tablet. Sowohl die funktionales Aspekte als auch die Darstellung der Oberfläche auf unterschiedlich großen Geräten werden somit perfekt abgetestet.
Allerdings ist für das simulieren eines Android-Devices auch Android Studio (die klassische Entwicklungsumgebung für Android-Apps) nötig. Welches dann parallel im Hintergrund läuft.
Selbes gilt für iOS Geräte. Hier wird das simulierte Geräte von der Software Xcode bereitgestellt, welche dann entsprechend im Hintergrund läuft.
Alternativ kann natürlich auch direkt auf einem realen Gerät, welches über USB verbunden wird getestet werden.
Ohne Google geht nichts!
Wie weiter oben schon erwähnt, ist die Google-Suche bei Programmierthemen und speziell für einen App-Newbie wie mich, sehr sehr wertvoll. Fast jedes Problem auf das man stößt, hatte zuvor schon jemand anderes und die fleißigen Helferlein in den Foren haben ihm schon mehrere Lösungsansätze vorgeschlagen, an denen man sich bedienen kann.
Des Weiteren findet man auch sehr viele und oftmals nützliche Beispiele oder auch ganze Vorlagen an Pragramm-Schnipseln.
Androids Entwicklereinstellungen
Um die fertige App dann zu Testzwecken auf ein reales Gerät zu installieren, müssen auf dem Device zunächst die Entwickleroptionen freigeschaltet werden. Dazu 5 bis 10 mal in den Einstellungen auf die Buildnummer tippen. Klinkt komisch ist aber so. Dann werden die Entwickleroptionen freigeschalten.
Ist dies geschehen, kann USB-Debugging aktiviert und das Gerät mit dem PC verbunden werden. Bei der Installation wird das Gerät dann von Flutter automatisch erkannt.
Installation
Ist das Device verbunden, muss ein Terminal geöffnet und in den Projektordner navigiert werden.
Mit dem Befehl
flutter build apk
wird die Installationsdatei erstellt. Diese ist relativ groß, da die App unabhängig von der Android-Version auch auf älteren Geräten funktionieren soll. Kenn mann die Android-Version des Ziel-Devices, kann die APK-Datei auch in abgespeckter Version erstellt werden.
Mit dem Befehl
flutter install
wird die App dann in wenigen Sekunden installiert.
Das heißt, die Installation läuft komplett ohne den Google Play Store. Der kommt erst ins Spiel, sobald man die App anderen Leuten zur Verfügung stellen möchte.
In meine Fall wird die App nur auf einer Handvoll Geräte laufen, weshalb ich sie jeweils manuell installieren werde.
Zusammenfassung
Es ist in der Tat etwas Aufwand nötig, bis man sich die Entwicklungsumgebung eingerichtet und sich ein wenig eingelesen hat. Aber wenn man dann endlich loslegen kann, ist es gar nicht so schwer, eine App zu Programmieren.
Besonders die Simulationsmöglichkeit finde ich sehr praktisch und alles in allem kann praktisch jedes Problem auf Google nachgeschlagen werden. Mit etwas Ehrgeiz und Geduld kommt man auch als Anfänger sehr weit.
Weitere interessante Beiträge findest du hier.