Entwicklung & Code
Claude Code entwickelt Mac-App: Entwickler berichtet über Erfahrungen
Über den Einsatz von Künstlicher Intelligenz in der Entwicklung scheiden sich bekanntlich die Geister: Für viele ist die KI im Alltag bei der Programmierung als Helfer längst unverzichtbar. Aber einer KI die komplette Entwicklung einer App überlassen? Das ist für eine größere Zahl von Programmierern weiterhin ein rotes Tuch. Der Entwickler Indragie Karunaratne will eine Lanze für die KI brechen und hat mit der Mac-App Context ein Beispiel veröffentlicht, was inzwischen möglich ist.
Context ist eine App zum Debuggen von MCP-Servern. Das Model Context Protocol (MCP) ist ein Standard von Anthropic für die Verbindung zwischen KI-Anwendungen und externen Datenquellen. Entwickelt wurde die App in Apples Programmiersprache Swift. Die Benutzeroberflächen wurden in SwiftUI geschrieben. Der Quelltext der App kann im Github-Account des Entwicklers öffentlich eingesehen werden. Karunaratne arbeitet hauptberuflich als Technikdirektor bei Sentry, einer Plattform, um Fehler in Anwendungen festzustellen und zu beheben.
Ein Traum für Freizeitprojekte
In einem ausführlichen Blogpost legt der erfahrene macOS-Entwickler dar, dass die App nahezu vollständig mit Anthropics Claude Code erstellt wurde. Von den 20.000 Codezeilen habe er weniger als 1.000 selbst geschrieben – der Rest stammt aus der KI-gestützten Entwicklungsumgebung.
Der Entwickler, der seit dem Jahr 2008 Software für den Mac programmiert, beschreibt seine Erfahrung als grundlegend anders als bei bisherigen Projekten. Während er früher jahrelang keine Nebenprojekte in seiner Freizeit fertigstellen konnte, habe es ihm die KI ermöglicht, binnen weniger Monate eine vollständige macOS-Anwendung zu entwickeln und zu veröffentlichen.
Stärken und Schwächen der KI
Claude Code unterscheidet sich deutlich von anderen KI-Coding-Tools wie GitHub Copilot, Cursor oder Windsurf. Statt bestehende IDEs mit KI-Funktionen zu erweitern, ersetzt es die traditionelle Entwicklungsumgebung komplett durch eine Terminal-basierte Oberfläche. Im Zentrum steht ein „agentischer“ Ansatz.
Durch die Entwicklung von Context seien ihm auch die Stärken und Schwächen der KI bewusst geworden. Claude Code beherrsche Swift-Features bis Version 5.5 gut, habe aber Schwierigkeiten mit Swift Concurrency, das ab Swift 5.5 eingeführt wurde. Häufig greife das System auf veraltete Objective-C-APIs zurück, statt moderne Swift-Alternativen zu nutzen.
Bei SwiftUI habe sich Claude Code jedoch von seiner besseren Seite gezeigt: Die generierten Benutzeroberflächen funktionierten zuverlässig, auch wenn sie anfangs wenig ansprechend aussehen. Bemerkenswert ist, dass sich das Design mit simplen Anweisungen wie „Make it more beautiful“ deutlich verbessern ließ, wie Karunaratne schreibt.
Vorbereitung ist alles
Eine weitere Erkenntnis aus dem Projekt war, dass “Prompt Engineering” heute keine große Herausforderung mehr darstelle, da moderne Modelle auch unvollständige und schlecht formulierte Anfragen recht gut verstehen. Schlüssel zum Erfolg sei hingegen das “Context Engineering“ gewesen. Die Begrenzung auf 200.000 Token bei den neuesten Anthropic-Modellen sei dabei eine Herausforderung gewesen.
Entscheidend ist das „Priming“ des Agenten: Bevor Claude Code eine Aufgabe übernimmt, sollte es relevante Dokumentation und Quellcode lesen. Der Entwickler lässt das System zunächst bestehenden Code analysieren und Spezifikationen studieren, bevor es mit der Implementierung beginnt.
Trotz aller KI-Unterstützung seien präzise Spezifikationen unerlässlich. Der Entwickler warnt vor Marketing-Demos, die behaupten, mit einem einzigen Satz komplette Apps erstellen zu können. Für produktionsreife Software seien detaillierte Beschreibungen der gewünschten Funktionalität weiterhin notwendig. Ein weiterer Tipp: Claude Code sollte zunächst mit „Ultrathink“ einen Plan erstellen, bevor es mit der Implementierung beginnt. Diese Anweisung aktiviert einen erweiterten Denkprozess, der qualitativ bessere Ergebnisse liefert.
Feedback-Schleifen einrichten
Besonders effektiv werde Claude Code durch gut eingerichtete Feedback-Schleifen. Das System sollte eigenständig kompilieren, testen und Fehler beheben können. Der Entwickler nutzte zusätzliche Tools wie XcodeBuildMCP, um Claude Code das Erstellen von macOS-Apps zu erleichtern. Für die Fehlerbehebung können Screenshots direkt in Claude Code eingefügt werden. Das System analysiert dann visuelle Probleme und schlägt Korrekturen vor.
Abschließend habe Claude Code ein 2.000 Zeilen langes Python-Skript erstellt, das den Release-Prozess automatisierte, Es signierte automatisch den Code, notarisierte diesen, erstellte DMG-Dateien und verteilte Updates.
Große Veränderungen voraus?
Der Entwickler prognostiziert einen großen Wandel in der Entwicklungsumgebung. Traditionelle Features wie Dateibäume oder Quellcode-Editoren in Entwicklungs-Tools könnten an Bedeutung verlieren. Stattdessen werden sich IDEs darauf konzentrieren, Entwicklern beim Priming von KI-Agenten und beim Einrichten von Feedback-Schleifen zu helfen. Die klassische Programmierung könnte zur Nebentätigkeit werden.
(mki)
Entwicklung & Code
programmier.bar: Spieleentwicklung auf Discord mit Lisa Mertins
Spiele entwickeln auf Discord? Ja, das geht. In dieser Folge programmier.bar sprechen Dennis Becker und David Koschitzki mit Lisa Mertins, Spieleentwicklerin bei Lotum, über die Entwicklung von Discord-Aktivitäten. So nennt Discord die Apps, die direkt in Sprachkanälen gespielt oder genutzt werden können.
Lisa Mertins war maßgeblich daran beteiligt, das Lotum-Spiel „Quiz Planet“ im November 2024 als Aktivität auf Discord zu bringen – ein spannender technischer und konzeptioneller Prozess mit vielen Learnings. Sie berichtet, was bei der Entwicklung innerhalb der Plattform zu beachten ist, welche technischen Hürden und Limitierungen es gab, und wie sich die Plattform seitdem verändert hat.
Wer schon mal überlegt hat, eine App oder ein Spiel auf Discord zu bringen, bekommt hier echte Einblicke in den Prozess. Alle anderen erfahren, wie viel Potenzial in der Plattform steckt. Lisa Mertins teilt ihre Erfahrungen aus erster Hand und nimmt uns mit hinter die Kulissen der Entwicklung.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externer Inhalt geladen.
Die aktuelle Ausgabe des Podcasts steht auch im Blog der programmier.bar bereit: „Spieleentwicklung auf Discord mit Lisa Mertins„. Fragen und Anregungen gerne per Mail oder via Mastodon, Bluesky, LinkedIn oder Instagram.
(mdo)
Entwicklung & Code
Software Testing: Qualitätsprobleme in bestehender Software mit KI beheben
In dieser Folge spricht Richard Seidl in seinem Podcast Software Testing mit Benjamin Hummel über den Einsatz von künstlicher Intelligenz bei der Behebung von Qualitätsproblemen in bestehender Software. Die beiden schauen dabei in die Welt der statischen Codeanalyse und diskutieren, wie KI helfen kann, Fehler schneller zu erkennen und gezielt zu beheben.
Benjamin Hummel teilt aus erster Hand Erfahrungen über Chancen und Grenzen aktueller KI-Modelle beim Refactoring. Es geht um typische Herausforderungen in gewachsenen Softwaresystemen, um die Balance zwischen Effizienz und Sicherheit, und um die Frage, wo KI echtes Potenzial hat – und wo der Mensch weiterhin gebraucht wird.
Bei diesem Podcast dreht sich alles um Softwarequalität: Ob Testautomatisierung, Qualität in agilen Projekten, Testdaten oder Testteams – Richard Seidl und seine Gäste schauen sich Dinge an, die mehr Qualität in die Softwareentwicklung bringen.
Die aktuelle Ausgabe ist auch auf Richard Seidls Blog verfügbar: „Qualitätsprobleme in bestehender Software mit KI beheben – Benjamin Hummel“ und steht auf YouTube bereit.
(mdo)
Entwicklung & Code
Teamkultur und Fortbildung: Wie kompetent ist dein Team?
Moin.
(Bild: Stefan Mintert )
Stefan Mintert arbeitet mit seinen Kunden daran, die Unternehmenskultur in der Softwareentwicklung zu verbessern. Das derzeit größte Potenzial sieht er in der Leadership; unabhängig von einer Hierarchieebene.
Die Aufgabe, dieses Potenzial zu heben, hat er sich nach einem beruflichen Weg mit einigen Kurswechseln gegeben. Ursprünglich aus der Informatik kommend, mit mehreren Jahren Consulting-Erfahrung, hatte er zunächst eine eigene Softwareentwicklungsfirma gegründet. Dabei stellte er fest, dass Führung gelernt sein will und gute Vorbilder selten sind.
Es zeichnete sich ab, dass der größte Unterstützungsbedarf bei seinen Kunden in der Softwareentwicklung nicht im Produzieren von Code liegt, sondern in der Führung. So war es für ihn klar, wohin die Reise mit seiner Firma Kutura geht: Führung verbessern, damit die Menschen, die die Produkte entwickeln, sich selbst entwickeln und wachsen können.
Für Heise schreibt Stefan als langjähriger, freier Mitarbeiter der iX seit 1994.
Ich vermute, dass es in der Softwareentwicklung unvermeidlich ist, sich kontinuierlich weiterzuentwickeln. Als Developer arbeitet man in komplexen Aufgabenstellungen. Das erfordert neue Ansätze und Vorgehensweisen. Gleichzeitig besteht bei jedem Menschen die Gefahr, dass er eine Aufgabe auf die altbekannte Weise löst, die für neue Probleme vielleicht nicht die richtige ist. Das Gegenmittel ist klar: Fortbildung. In vielen Unternehmen, mit denen ich mit meinen Kolleginnen und Kollegen arbeite, gibt es interne Fortbildungsmöglichkeiten und gelegentlich eine externe Schulung. Das ist für den oder die Einzelne eine gute Sache. Eine Frage fehlt mir dabei ziemlich oft: Wie ist es um die Kompetenz des Teams bestellt?
Die Frage gehört für mich zur Teamführung, aber Vorgesetzte braucht das Team für den wesentlichen Schritt nicht: Wie stellen wir fest, ob das Team die richtigen Kompetenzen besitzt und an welchen Stellen eine Verbesserung erforderlich ist?
Im ersten Schritt erstellt das Team eine Liste derjenigen Kompetenzen, die erforderlich sind, um die Aufgaben des Teams zu erfüllen oder die Ziele des Teams zu erreichen. Meist ist die Liste so lang, dass eine Betrachtung aller Kompetenzen den zeitlichen Rahmen eines Meetings sprengen kann. Deshalb stimmt das Team im zweiten Schritt ab, welche Kompetenzen es näher betrachten möchte.
Für den weiteren Verlauf kann man gut mit einer Tabelle arbeiten. Die kurze Kompetenzliste steht in der ersten Spalte – in jeder Zeile eine Kompetenz. Als Beispiel für eine Liste: Java-Programmierung, git-Bedienung, Kommunikation mit Stakeholdern.
Im dritten Schritt spricht das Team darüber, wie viele Teammitglieder die jeweilige Kompetenz auf welchem Niveau (Grundkenntnisse, fortgeschrittene Kenntnisse, Expertenkenntnisse) beherrschen sollen. Auf einem Flipchart oder Whiteboard bietet es sich an, das Niveau durch Farben zu kennzeichnen (etwa Rot, Gelb, Grün). Bei einem Team, das in Java entwickelt, dürften Grundkenntnisse in der Sprache auf Dauer nicht ausreichen. Bei einem Fünfpersonenteam darf man hier das Votum „fünfmal Expertenkenntnisse“ als Zielvorstellung erwarten. Bei der git-Bedienung sind möglicherweise zweimal Experten- und dreimal fortgeschrittene Kenntnisse ausreichend. Und die Kommunikation mit Stakeholdern übernimmt vielleicht regelmäßig eine Person im Team, sodass für die vier anderen die Grundkenntnisse ausreichend sind. Diese Aufstellung der erforderlichen Kompetenzen gehört in die zweite Spalte der Tabelle.
Die restlichen Spalten sind jeweils einem Teammitglied vorbehalten. Hier trägt jede Person in einer Selbsteinschätzung ihr Kompetenzniveau ein. Die fertige Tabelle zeigt dann unmittelbar, wo das Team Defizite besitzt. Im Beispiel: Haben nur drei Personen Expertenkenntnisse in Java und nur ein Teammitglied sieht sich als git-Experte, gibt es Nachholbedarf.
Wie die Kompetenzsteigerung zu erreichen ist, kann das Team in vielen Fällen autonom besprechen und umsetzen. Für eine Weiterbildung in Java braucht es keine externe Schulung, wenn drei Experten im Team vorhanden sind. Hier können teaminterne Schulungen, aber auch Pair Programming weiterhelfen. Erst wenn ein Bedarf auftritt, den niemand im Team abdecken kann, braucht es Unterstützung von außen.
Diese strukturierte Erfassung vorhandener und erforderlicher Kompetenz führe ich mit Teams in größeren Abständen von beispielsweise einem Jahr durch. Die Tabelle ist auch als Teamkompetenzmatrix bekannt. Wenn ein Team eine solche Matrix erstellt hat, lasse ich das Team in Retrospektiven im Laufe des Jahres immer wieder mal prüfen, ob es sich in die (selbst-)gewünschte Richtung entwickelt.
Für mich ist ein wesentlicher Aspekt, dass es sich hier um Teamführung handelt und keine Vorgesetzten beteiligt sind. Das Beispiel zeigt, dass Führung nicht an eine bestimmte Position oder Funktion gekoppelt ist.
Erst Lesen, dann Hören
Im Podcast Escape the Feature Factory greife ich ausgewählte Themen des Blogs auf und diskutiere sie mit einem Gast. Durch den Austausch lerne ich eine zweite Perspektive kennen. Wenn du auch daran interessiert bist, findest du den Podcast bei Spotify, Deezer, Amazon Music, und Apple Podcasts. Wenn du die Themen, die ich im Blog anspreche, in deiner Firma verbessern möchtest, komm’ in unsere Leadership-Community für Softwareentwicklung.
(rme)
-
Online Marketing & SEOvor 4 Wochen
TikTok trackt CO₂ von Ads – und Mitarbeitende intern mit Ratings
-
Apps & Mobile Entwicklungvor 4 Wochen
Metal Gear Solid Δ: Snake Eater: Ein Multiplayer-Modus für Fans von Versteckenspielen
-
UX/UI & Webdesignvor 4 Wochen
Philip Bürli › PAGE online
-
Social Mediavor 4 Wochen
Aktuelle Trends, Studien und Statistiken
-
Social Mediavor 3 Wochen
LinkedIn Feature-Update 2025: Aktuelle Neuigkeiten
-
Online Marketing & SEOvor 4 Wochen
#WantaFanta: Warum Fanta und Nico Santos der Gen Z Wünsche erfüllen
-
Social Mediavor 4 Wochen
“Wir haben doch nichts zu erzählen…” – 3 Tricks für neue Social Media Content Ideen
-
UX/UI & Webdesignvor 4 Wochen
Wie gelingt eine einwandfreie Zusammenarbeit?