Einsatzfeld Bestehende Apps

Bestehende App weiterentwickeln. Neue Features in gewachsenem Code.

Deine App ist im Store, und jedes neue Feature dauert länger als das letzte? Ich baue mit Deinem Team im vorhandenen Code weiter und bringe die App dabei auf den aktuellen Stand.

Aus Dinslaken · remote oder vor Ort

Vertrauen von Kunden wie

  • RK Vision Homes
  • kunveno
  • The COI
  • Diatro
  • OYC
  • Meine Heimat by Skowo
Der Anlass

Deine App soll mehr können.

Dein Team hat die App über Jahre gebaut: frühe Entscheidungen, schnelle Lösungen vor Terminen, Pakete, die inzwischen älter sind. Das gilt für Branchensoftware genauso wie für Apps für Endkunden. Neu anfangen musst Du deshalb selten: Das nächste Feature passt meist in den Code, der da ist.

  • Neue Features für bestehende Nutzer.

    Deine Nutzer arbeiten jeden Tag mit der App. Ein Update mit neuen Features darf nichts kaputt machen, was heute funktioniert.

  • Code, der mitgewachsen ist.

    Mit jedem Release kam etwas dazu, manches davon von Entwicklern, die heute nicht mehr im Team sind. An manchen Stellen braucht das nächste Feature deshalb einen Umbau.

  • Neue Versionen und Vorgaben.

    Frameworks und Betriebssysteme erscheinen in neuen Versionen, und Apple und Google ändern ihre Vorgaben. Ziehst Du nicht nach, kannst Du irgendwann keine Updates mehr veröffentlichen.

Einarbeitung

Einarbeitung vor der ersten Änderung.

Bevor ich etwas ändere, lese ich mich ein: Aufbau der App, Herkunft der Daten, der heutige Release-Weg. Dein Team hilft mir dabei am meisten. Danach übernehme ich das erste Feature und ordne die ArchitekturArchitekturWie die Software geschnitten ist. Sie entscheidet, ob das nächste Feature leicht oder teuer wird.Mehr im Glossar → nur so weit, wie das Feature es verlangt.

  • Tests vor dem Umbau.

    Bevor ich Code anfasse, halte ich mit Tests fest, was heute funktioniert.

  • Kleine Schritte.

    Jede Änderung geht durch Dein ReviewCode ReviewVier-Augen-Prinzip, bevor Code zusammengeführt wird. Fehler fallen früh auf, und das Wissen verteilt sich im Team.Mehr im Glossar → und Deine PipelineCI/CD und PipelineEin automatischer Ablauf, der die App baut, testet und in die Stores lädt. Jeder im Team kann ihn starten.Mehr im Glossar →.

  • Festgehaltene Entscheidungen.

    Warum etwas so gebaut ist, schreibe ich in die Dokumentation Deines Teams.

Aufgaben

Typische Aufgaben bei bestehenden Apps.

Seit 2020 arbeite ich in Kundenteams an bestehenden Apps. FlutterFlutterEin Framework von Google, mit dem aus einer Codebasis Apps für iOS und Android und auch Weboberflächen entstehen. Das spart ein zweites Team und hält beide Plattformen auf demselben Stand.Mehr im Glossar → steht im Mittelpunkt, native Apps in SwiftSwiftApples Programmiersprache für Apps auf iPhone, iPad und Apple Watch. Sie kommt zum Einsatz, wenn eine App nativ entsteht oder eine Flutter-App Funktionen braucht, die nur iOS bietet.Mehr im Glossar → und KotlinKotlinDie Programmiersprache für native Android-Apps, auch auf dem Server einsetzbar. Sie kommt für Android-Funktionen und für Backend-Dienste zum Einsatz.Mehr im Glossar → übernehme ich genauso.

  • Flutter
  • Dart
  • Swift
  • Kotlin
  • Android
  • iOS
  • Firebase
  • Supabase
  • React
  • Node.js
  • Docker
  • Git
  • Codemagic
  • GitHub Actions
  • Neue Features

    Ich baue neue Screens und Abläufe, die sich in das einfügen, was schon da ist.

  • Versionswechsel

    Framework, Sprache und Pakete bringe ich Schritt für Schritt auf den aktuellen Stand, zum Beispiel Flutter und Dart.

    Mehr zum Thema
  • Features auslagern

    Ich lagere große Bereiche in eigene Packages aus, bis hin zum MonorepoMonorepoMehrere Apps in einem gemeinsamen Projekt, damit gemeinsamer Code nur einmal existiert. Sinnvoll, sobald aus einer App mehrere werden.Mehr im Glossar →. Dein Team ändert einen Bereich, ohne den Rest anzufassen.

    Mehr zum Thema
  • Tests nachziehen

    Die Abläufe, die beim Release funktionieren müssen, sichere ich mit Unit-TestsUnit-TestEin automatischer Test für ein kleines Stück Logik, etwa eine Berechnung. Er läuft in Sekunden und schlägt an, sobald eine Änderung etwas kaputt macht.Mehr im Glossar → und Widget-TestsWidget-TestEin automatischer Test für einen Teil der Oberfläche in Flutter. Er prüft, ob ein Bildschirm das Richtige anzeigt und auf Eingaben richtig reagiert.Mehr im Glossar → ab.

  • Release-Pipeline

    Ich richte Build, Tests und Upload so ein, dass Dein Team selbst ausliefert.

  • Updates über die Stores

    Ich setze neue Vorgaben von Apple und Google um und begleite SignierungSignierungDer digitale Nachweis, dass eine App wirklich vom Herausgeber stammt und unverändert ist. Ohne gültige Zertifikate und Schlüssel nimmt kein Store ein Update an.Mehr im Glossar → und Freigabe.

Kundenstimmen

Stimmen aus der Zusammenarbeit.

„Julian hat mit seiner außergewöhnlichen Expertise eine komplexe Coaching-App für COI entwickelt, die unsere Erwartungen bei weitem übertroffen hat. … Die Zusammenarbeit mit Julian war geprägt von seiner bemerkenswerten Schnelligkeit, Termintreue und der konsequenten Lieferung von höchster Qualität.“
Dirk Kröger Gründer, COI
„Julian arbeitet absolut zuverlässig und professionell! … Ich schätze besonders, dass er während des gesamten Entwicklungsprozesses mitdenkt. Julian ist uneingeschränkt zu empfehlen!“
Raffael Filusch Location-Based Game App, Applorer
Einstieg

Der Einstieg in Dein Projekt.

Ich arbeite in Deinem RepositoryRepositoryDer Ort, an dem der gesamte Quellcode eines Projekts mit seiner Geschichte liegt, meist bei GitHub oder GitLab. Wer Zugang hat, sieht jeden Stand und jede Änderung.Mehr im Glossar →, mit den Werkzeugen und Abläufen Deines Teams.

  1. 1

    Gespräch

    Dreißig Minuten per Video. Du erzählst, was Deine App heute kann und was als Nächstes dazukommen soll. Ich sage Dir, ob und wie ich helfen kann.

  2. 2

    Einstiegsphase

    Zum Festpreis, mit festem Ergebnis: das Feature, das als Nächstes ansteht. Dabei lerne ich, wie Releases in Deiner App heute laufen.

  3. 3

    Im Sprint

    Danach arbeite ich in Deinem SprintSprintEin fester Arbeitszeitraum von meist zwei Wochen. Das Team setzt sich ein Ziel und zeigt am Ende ein Ergebnis vor. Danach plant es, was als Nächstes kommt.Mehr im Glossar → weiter, Update für Update. Jede Version geht als Testversion an Dein Team, bevor sie in den Store kommt.

Mehr zur Zusammenarbeit im Team
Häufige Fragen

Fragen zur Weiterentwicklung Deiner App.

Für wen entwickelst Du bestehende Apps weiter?

Für Teams, deren App schon im Store ist, ob Branchensoftware oder App für Endkunden. Ich bin Julian Giesen, Senior Software Engineer aus Dinslaken, und entwickle sie mit Deinem Team weiter, meist mit Flutter.

Übernimmst Du auch Apps mit einer alten Flutter-Version?

Ja. Ich bringe Flutter, Dart und die Pakete Schritt für Schritt auf den aktuellen Stand. Vorher halte ich mit Tests fest, was funktioniert. Jede Zwischenstufe geht an Dein Team, bevor sie in den Store kommt.

Müssen wir die App vorher aufräumen oder neu schreiben?

Nein. Neue Features kommen in den Code, der schon da ist. Umbauten mache ich dort, wo das nächste Feature sie braucht, in kleinen Schritten durch Dein Review.

Was merken unsere Nutzer davon?

Deine Nutzer sollen nur die neuen Features merken. Ich sichere Änderungen mit Tests ab. Dein Team prüft sie als Testversion, bevor sie in den Store kommen.

Entwickelst Du auch native Apps in Swift oder Kotlin weiter?

Ja. Flutter ist mein Schwerpunkt, bestehende native Apps in Swift und Kotlin entwickle ich genauso weiter. Signierung, Freigabe und die aktuellen Vorgaben von Apple und Google gehören dazu.

Gespräch

Reden wir darüber, was Deine App als Nächstes können soll.

Erzähl mir in dreißig Minuten, welches Feature als Nächstes ansteht. Ich sage Dir, ob und wie ich mitarbeiten kann.

  • Per Video, ohne Vorbereitung
  • Antwort spätestens am nächsten Werktag

Anfrage schreiben

Ein paar Sätze reichen. Ich antworte spätestens am nächsten Werktag.

Zum Beispiel: Was soll entstehen, wo hakt es und bis wann brauchst Du es?

Deine Angaben nutze ich nur, um Deine Anfrage zu beantworten. Mehr dazu in der Datenschutzerklärung.