Entwicklung & Code
Swift Student Challenge: Frankfurter Student überzeugt Apple mit App
Die Geschichte der App von Anton Baranov ist eine von der Sorte: Wo ein Wille ist, ist auch ein Weg. Nein, nicht gleich die vom Tellerwäscher zum Millionär, aber immerhin vom Küchentisch nach Cupertino hat es der 22-Jährige gebracht. Seine erste Reise in die USA. All das gelang mithilfe der Apple-Programmiersprache Swift. Und mit großem Engagement und Zeiteinsatz, was er im Gespräch eher beiläufig erwähnt.
Weiterlesen nach der Anzeige
Für Anfang Juni hat Apple ihn nach Kalifornien, in den Apple Park, den futuristischen Stammsitz des iPhone-Herstellers, eingeladen. Dort beginnt am 8. Juni 2026 die Entwicklerkonferenz WWDC. Baranov ist einer von 50 geladenen Nachwuchsentwicklern aus aller Welt, die beim jährlichen Wettbewerb Swift Student Challenge die Jury begeistern konnten und dorthin eingeladen wurden.
Erste Teilnahme und gleich nach Cupertino
Aus dem Stand hat der Student es geschafft, gleich bei seiner ersten Teilnahme an der Challenge in die erste Reihe der Distinguished Winners aufzusteigen. Die Reise nach Cupertino ist die höchste Ehre. Manche brauchen dafür Jahre, viele schaffen es nie. Insgesamt hat Apple 350 junge Menschen aus 37 Ländern ausgezeichnet. 50 erhielten den Titel des „Distinguished Winner“ – für herausragende Einreichungen. Die frohe Botschaft erreichte ihn im Frankfurter Hauptbahnhof, erinnert er sich. „Ich habe die Mail aufgemacht und dachte erst: Okay, ich habe verloren. Weil die normalerweise direkt mit Glückwunsch anfangen.“ Er öffnet sie trotzdem. Liest. Liest noch einmal. Und war begeistert.
Die App, um die es geht, heißt „Pitch Coach: Sicher auftreten“ und sie ist seit März im App Store verfügbar. Pitch Coach analysiert Sprache in Echtzeit. Die App erkennt Füllwörter wie „ähm“, „halt“ oder „irgendwie“ und misst die Redegeschwindigkeit. Nach jeder Sitzung wird eine KI-generierte Auswertung angezeigt. Das Besondere: Die gesamte Verarbeitung läuft auf dem Gerät selbst. Kein Ton, keine Daten verlassen das iPhone. Möglich macht dies Apples Foundation-Models-Framework, das seit iOS 26 für Entwicklerinnen und Entwickler zugänglich ist.
Noch eine Funktion sticht heraus: Wer AirPods trägt, bekommt auch Feedback zur Körperhaltung. Die Bewegungssensoren in den Ohrhörern verraten, ob jemand den Kopf hängen lässt, ob die Haltung kippt. „Ich habe irgendwo gelesen, dass AirPods so einen Sensor haben. Einfach gegoogelt – und es hat funktioniert“, sagt Baranov. „Voll cool.“
Idee entstand am Küchentisch
Weiterlesen nach der Anzeige
Die Idee zur App entstand am heimischen Küchentisch. Seine Mutter, von Beruf Professorin, erzählte vom Uni-Alltag. Von talentierten Studenten, die hinter ihren Möglichkeiten bleiben, weil Sprache und Haltung nicht das ausstrahlen, was sie können. Baranov hörte zu – und erkannte sich selbst. Dass es darauf ankommt, wie man sich präsentiert, wie man spricht, wie man wirkt. Eine App, die dabei hilft, fand er im App Store nicht.
Die gute Idee ist das eine, die Umsetzung aber nochmal eine ganz andere Sache. Im August 2024 fing der 22-Jährige an, erste Projekte mit Swift umzusetzen, las Bücher und veröffentlichte Apps im App Store. Hier war es von Vorteil, dass Baranov Softwaretechnologie an der Technischen Hochschule Mittelhessen (THM) studiert – dual, in Kooperation mit der Deutschen Bank.
Seine App wurde inzwischen 9000 Mal heruntergeladen – das Neunfache dessen, was er sich als Ziel bis zum Sommer vorgenommen hatte. Und das Interesse dürfte durch die Medienberichterstattung über die Student Challenge noch zunehmen. Die Lokalisierung in 20 Sprachen ist bereits erledigt, weitere Updates sollen folgen. Und mit jedem User kommen neue Ideen. Manche Nutzungsszenarien überraschen ihn, sagt er. „Ich dachte, die Menschen bereiten Präsentationen vor, üben für Vorstellungsgespräche. Und dann schickt mir jemand eine Audio-Datei von einem Rap. Jemand anderes übt Stand-up-Comedy.“ Er zuckt mit den Schultern. „Users define the app. Wenn sie sie dafür benutzen, dann ist das eben so.“
Vibe-Coding und die Zukunft
Vibe-Coding – die Möglichkeit, dass jeder ohne Programmierkenntnisse heutzutage eine App per Zuruf erstellen kann – bereitet dem Challenge-Gewinner übrigens keine großen Sorgen. Man müsse wissen, welche Libraries gefragt sind, welche APIs genutzt werden, wie man ein Problem überhaupt präzise beschreibt. „Man steuert das trotzdem.“ Damit bestätigt er, was Forscher zuletzt in Studien herausgefunden haben: Entwickler mit solidem Hintergrundwissen sind die besseren Vibe-Coder – weil sie KI-Werkzeugen genau sagen können, was sie brauchen. Baranov sieht das pragmatisch: Die Tools erleichtern die Arbeit, aber sie machen nicht die Arbeit.
Und wo geht seine Reise nach diesem Erfolg beruflich hin? Die WWDC sieht Baranov auch als große Chance an, zu netzwerken. An seiner derzeitigen beruflichen Laufbahn bei der Bank will er aber aktuell nicht rütteln: Diese Erfahrung sei wertvoll, sagt er. Aber dass der Bilderbuchstart bei der Swift Student Challenge irgendwann doch in eine Solo-Karriere mündet – wer möchte das schon ausschließen?
(mki)
Entwicklung & Code
Kommentar: Microsofts Open-Source-Liebe hat einen Preis
Wie sich die Zeiten doch ändern: Ausgerechnet Microsoft liefert heute Open Source frei Haus. Richtig praktische und wirklich offene Werkzeuge für Entwickler reihte der Konzern auf der Build 2026 auf – ein quelloffenes KI-Terminal, hilfreiche Dev Configs, dazu WSL-Container und mehr als 75 Unix-Werkzeuge der Coreutils. Doch wer darin nur Entwicklerfreundlichkeit sieht, verpasst den eigentlichen Coup. Open Source ist inzwischen das perfekte Business für den Konzern.
Weiterlesen nach der Anzeige

Moritz Förster schreibt seit 2012 für die iX und heise online. Er betreut neben dem iX-Channel den Bereich Arbeitsplatz.
Microsoft ging gegen offene Standards lange strategisch vor – und die Strategie trug in den 90ern ein berüchtigtes Kürzel: „EEE – Embrace, Extend, and Extinguish“. Das US-Justizministerium dokumentierte, wie der Konzern dabei vorging. Erst drang Microsoft in Märkte mit offenen Standards ein, dann erweiterte es diese Standards um proprietäre Funktionen, und schließlich nutzte es die so entstandenen Unterschiede, um die Konkurrenz auszuschalten.
Sofort wurde das zu Microsofts Geschäftspraxis: Zum Beispiel setzt Microsoft im Browserkrieg den Internet Explorer nicht nur offensiv gegen Netscape ein; interne Memos zeigen darüber hinaus, dass der Konzern Office und HTML-Funktionen so verzahnen wollte, dass sie als Hebel ausschließlich das eigene Ökosystem stärken.
Diesmal fehlt das dritte E
Doch die Ankündigungen der Build 2026 sind nicht einfach nur EEE 2.0 mit besserem Marketing. Das Umarmen war immer nur Mittel zum Zweck, und der Zweck hieß ersticken. Heute fehlt diese dritte Stufe.
Microsoft gibt bei den Werkzeugen, die Entwickler täglich nutzen, keinen Zentimeter Boden auf. Niemand muss migrieren oder sich umgewöhnen. Und niemand lockt den offenen Standard in eine proprietäre Sackgasse. Was hier an Reibung verschwindet, kostet Microsoft nur Entwicklungsaufwand – aber keinesfalls Marktmacht.
Nehmen wir als Beispiel die Datenbanken: Statt einer hauseigenen, geschlossenen Datenbank setzt Microsoft mit Azure HorizonDB auf das offene PostgreSQL. Die Botschaft: Bleibt bei Postgres, wir bauen die KI-Bausteine drumherum. Ausgerechnet der Konzern, der mit proprietären Datenbanken groß wurde, setzt jetzt auf die Open-Source-Alternative.
Weiterlesen nach der Anzeige
Die Motivation ist betriebswirtschaftlich, Satya Nadella hat das nie verheimlicht. Seit 2014 verschiebt Microsoft sein Kerngeschäft von der Lizenzsoftware zu den Plattformdiensten, und Nadella sagt offen, dass sich mit geschlossenen Lizenzen auf Dauer kein Staat mehr machen lässt. Warum eine Lizenz einmal verkaufen, wenn man dieselbe Leistung monatlich vermieten kann? Dass heute über die Hälfte der Azure-Workloads unter Linux laufen, gehört inzwischen zum Geschäftsmodell.
Microsoft kassiert trotzdem ab
Der Coup steckt im Business-Schlachtfeld selbst. Der Kampf heißt nicht mehr Windows gegen Open Source. Er heißt Cloud gegen Cloud. Die Maut kassiert Microsoft nicht mehr an der Systemgrenze, sondern beim Cloud-Dienst: bei Azure, bei GitHub, beim Copilot-Abo. Der Konzern stellt das Kassenhäuschen einfach woanders auf.
Selbst Steve Ballmer hat das inzwischen eingeräumt. Seine frühere Haltung sei für ihre Zeit richtig gewesen, doch die Linux-Bedrohung liege heute „im Rückspiegel“. Und die harte Linie habe dem Konzern damals mehr Umsatz gebracht, als ein frühes Umarmen es getan hätte. Erst kämpfen, dann kassieren, schließlich umarmen – aus Sicht der Bilanz hat sich jede Phase gelohnt.
Bleibt die Frage nach dem dritten E
Man sollte die Wende trotzdem nicht zu gutgläubig feiern. Viele Entwickler misstrauen dem freundlichen Microsoft bis heute aus gutem Grund. Als der Konzern 2021 eine Hot-Reload-Funktion aus dem quelloffenen .NET herauslösen wollte und sie erst nach lautem Protest zurückholte, blitzten die alten Reflexe wieder auf. Auch die heute „umarmten“ Werkzeuge wie GitHub, Copilot und Codespaces tragen proprietäre Schichten in sich. Jede Nutzung zentralisiert die Branche ein Stück weiter auf einen einzigen Anbieter.
Microsofts Open-Source-Zuneigung mag heute echt sein – aber sie entspringt eben nicht einem Altruismus, sondern dem nüchternen Kalkül, nicht wie einst IBM zu erstarren. Doch in fünf Jahren kann schon wieder eine andere Business-Logik gelten.
(fo)
Entwicklung & Code
Visual Studio Code 1.123 synchronisiert Agenten-Sessions über Geräte hinweg
Microsoft bringt in Version 1.123 von Visual Studio Code weitere neue Features für den Umgang mit großen Sprachmodellen. Dazu gehören synchronisierte Chat-Sessions über mehrere Geräte hinweg, ein vergrößertes Kontextfenster für spezielle Modelle und die Möglichkeit, multiple Agenten-Fenster parallel zu öffnen.
Weiterlesen nach der Anzeige
Synchronisierte (Agenten-)Chats
Als neue Standardfunktion synchronisiert Visual Studio Code nun Chat-Sessions zum GitHub-Account seiner Nutzerinnen und Nutzer, inklusive aller lokalen Agenten-Sessions. Wie Microsoft betont, seien die synchronisierten Chats privat, außer wenn Nutzer sie explizit teilen. Auf github.com erscheinen die Chats im Agents-Tab eines Repositories und lassen sich durchsuchen.
Wer die Synchronisierung nicht nutzen will, setzt die auf Organisationsebene bestehende Einstellung chat.sessionSync.enabled auf false.
Agentenvergleich auf einen Blick
Das Preview-Feature Agents Window hat eine neue Funktion erhalten: Neben einer geöffneten Agenten-Session lässt sich nun eine zusätzliche in „Side by Side“-Ansicht öffnen. Um eine weitere Session zu öffnen, wählen Entwicklerinnen und Entwickler im Kontextmenü einer Session innerhalb der Session-Liste Open to the Side aus, ziehen die gewünschte Session per Drag & Drop in den Sessions-Ansichtsbereich oder wählen sie bei gedrückter Alt-Taste aus.
Dabei ist zu beachten, dass jeweils nur eine der sichtbaren Sessions aktiv ist. Eine neue ausgewählte Session wird automatisch zur aktiven Session View, außer wenn die vorherige Session angepinnt wurde. Das Anpinnen erfolgt über die Pin-Aktion in der oberen rechten Ecke der View.
Weiterlesen nach der Anzeige

VS Code 1.123: Zwei Agenten-Sessions – hier eine Claude-Opus-4.8- und eine Claude-Sonnet-4.6-Session – lassen sich nebeneinander betrachten.
(Bild: Microsoft)
Ein weiteres Update betrifft das Kontextfenster unterstützter Anthropic- und OpenAI-Modelle: Es kann nun eine Million Token umfassen. Diese Erweiterung soll es Usern ermöglichen, mit deutlich größeren Codebasen zu arbeiten sowie längere Konversationen zu führen, ohne wichtigen Kontext einzubüßen.
Weitere Details zu den Neuerungen in Visual Studio Code 1.123 lassen sich der Ankündigung entnehmen.
Dabei handelt es sich nicht um die einzigen Updates im Bereich KI von Microsoft: Im Rahmen der in dieser Woche stattgefundenen Hauskonferenz Microsoft Build wurde unter anderem eine eigenständige Desktopanwendung für GitHub Copilot vorgestellt.
(mai)
Entwicklung & Code
Neu in .NET 10.0 [26]: LINQ-Operationen auf IAsyncEnumerable
IAsyncEnumerable ist die in .NET Core 3.0 eingeführte asynchrone Variante von IEnumerable. Sie ermöglicht asynchrone Streams: das schrittweise, nicht-blockierende Iterieren über Daten, die asynchron bereitgestellt werden.
Weiterlesen nach der Anzeige

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
LINQ-Operationen auf IAsyncEnumerable erforderten bisher das NuGet-Paket System.Linq.Async. Nun ist diese Funktionalität im Kern von .NET verfügbar.
(Bild: King / stock.adobe.com)

Das ist neu in .NET 11.0: Dr. Holger Schwichtenberg und weitere Experten präsentieren am 17. November 2026 auf der Online-Konferenz betterCode() .NET 11.0 die Änderungen für Entwicklerinnen und Entwickler in .NET SDK, C# 15.0 und mehr. Bis zur Veröffentlichung des Programms sind vergünstigte Blind-Bird-Tickets verfügbar.
Folgender Code nutzt Where() und OrderBy() mit IAsyncEnumerable:
namespace NET10_Console.FCL;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
public readonly record struct Kabinettsmitglied(string Name, string Amt);
///
/// LINQ auf IAsyncEnumerable erforderte bisher NuGet-Paket System.Linq.Async
///
public class FCL10_LINQAsyncEnumerable
{
public async Task Run()
{
CUI.Demo(nameof(FCL10_LINQAsyncEnumerable));
// Hole Personen im Bundeskabinett
var datenquelle = new Bundeskabinett().GetAll();
// Asynchrone Iteration mit LINQ (Filtern und optional Sortieren)
// Achtung: .OrderBy(x=>x.Name) führt dazu, dass foreach auf das letzte Element warten muss --> Vorteil von async entfällt :-(
await foreach (var person in datenquelle.Where(x => x.Amt.Contains("ministerin")))
{
Console.WriteLine(DateTime.Now.ToLongTimeString() + ": " + person);
}
}
public class Bundeskabinett
{
///
/// Liefert alle Mitglieder des Bundeskabinetts (Stand: 21.09.2025) als Async-Stream.
/// Quelle: Bundesregierung.de (siehe Code-Kommentar).
///
public async IAsyncEnumerable GetAll(
[EnumeratorCancellation] CancellationToken cancellationToken = default)
{
// Quelle:
var daten = new List
{
new("Friedrich Merz", "Bundeskanzler"),
new("Lars Klingbeil", "Bundesminister der Finanzen"),
new("Alexander Dobrindt", "Bundesminister des Innern"),
new("Dr. Johann Wadephul", "Bundesminister des Auswärtigen"),
new("Boris Pistorius", "Bundesminister der Verteidigung"),
new("Katherina Reiche", "Bundesministerin für Wirtschaft und Energie"),
new("Dorothee Bär", "Bundesministerin für Forschung, Technologie und Raumfahrt"),
new("Dr. Stefanie Hubig", "Bundesministerin der Justiz und für Verbraucherschutz"),
new("Karin Prien", "Bundesministerin für Bildung, Familie, Senioren, Frauen und Jugend"),
new("Bärbel Bas", "Bundesministerin für Arbeit und Soziales"),
new("Dr. Karsten Wildberger", "Bundesminister für Digitales und Staatsmodernisierung"),
new("Patrick Schnieder", "Bundesminister für Verkehr"),
new("Carsten Schneider", "Bundesminister für Umwelt, Klimaschutz, Naturschutz und nukleare Sicherheit"),
new("Nina Warken", "Bundesministerin für Gesundheit"),
new("Alois Rainer", "Bundesminister für Landwirtschaft, Ernährung und Heimat"),
new("Reem Alabali Radovan", "Bundesministerin für wirtschaftliche Zusammenarbeit und Entwicklung"),
new("Verena Hubertz", "Bundesministerin für Wohnen, Stadtentwicklung und Bauwesen"),
new("Thorsten Frei", "Bundesminister für besondere Aufgaben / Chef des Bundeskanzleramtes"),
};
foreach (var m in daten)
{
cancellationToken.ThrowIfCancellationRequested();
yield return m;
await Task.Delay(200); // Simuliere etwas Wartezeit
await Task.Yield(); // sorgt für echte Asynchronität beim Streamen
}
}
}
}

Der Screenshot zeigt die Ausgabe ohne Sortierung zu verschiedenen Zeitpunkten – direkt nach dem Eintreffen der Daten (Abb. 1).

Der Screenshot zeigt die Ausgabe mit Sortierung zu verschiedenen Zeitpunkten – es gab eine Wartezeit vor der ersten Ausgabe (Abb. 2).
Ein Praxisbeispiel dazu: Folgender Code zeigt die Ausführung einer Reihe von HTTP-Aufrufen mit asynchroner Ausgabe der Ergebnisse via Task.WhenEach(). Hier ist nun ein Filtern mit Where() oder eine Sortierung mit OrderBy() möglich. Diese blockiert jedoch – wie üblich – die Weiterverarbeitung, bis das letzte Ergebnis vorliegt, und beeinträchtigt damit den Vorteil der asynchronen Ausführung.
Weiterlesen nach der Anzeige
public async Task Run()
{
CUI.Demo(nameof(FCL10_LINQAsyncEnumerable));
Console.WriteLine($"{DateTime.Now.ToLongTimeString()}: Starte Websiteabfragen...");
using HttpClient http = new();
Task t1 = http.GetAsync("
Task t2 = http.GetAsync("
Task t3 = http.GetAsync("
Task t4 = http.GetAsync("
Task t5 = http.GetAsync("
Task t6 = http.GetAsync("
Task t7 = http.GetAsync("
// Liste aus Tasks
List> taskList = new() { t1, t2, t3, t4, t5, t6, t7 };
// WhenEach() gibt es seit .NET 9.0
IAsyncEnumerable> taskList2 = Task.WhenEach(taskList);
// NEU in .NET 10.0: LINQ auf IAsyncEnumerable
taskList2 = taskList2.Where(x => x.Result.RequestMessage.RequestUri.ToString().Contains("dot"));
taskList2 = taskList2.OrderBy(x => x.Result.RequestMessage.RequestUri.Host);
await foreach (Task t in taskList2)
{
try
{
Console.WriteLine($"{DateTime.Now.ToLongTimeString()}: {t.Status} {t.Result?.RequestMessage?.RequestUri} = {t?.Result?.StatusCode}"); // Status des HTTP-Aufrufs
}
catch (Exception ex)
{
CUI.Warning(ex);
}
}
}
(rme)
-
Entwicklung & Codevor 3 MonatenCommunity-Protest erfolgreich: Galera bleibt Open Source in MariaDB
-
Künstliche Intelligenzvor 3 MonatenBlade‑Battery 2.0 und Flash-Charger: BYD beschleunigt Laden weiter
-
Künstliche Intelligenzvor 3 Monaten
Top 10: Der beste Luftgütesensor im Test – CO₂, Schadstoffe & Schimmel im Blick
-
Apps & Mobile Entwicklungvor 3 MonatenMähroboter ohne Begrenzungsdraht für Gärten mit bis zu 300 m²
-
Künstliche Intelligenzvor 3 MonateniPhone Fold Leak: Apple spart sich wohl iPad‑Multitasking
-
Künstliche Intelligenzvor 3 Monaten
JBL Bar 1300MK2 im Test: Soundbar mit Dolby Atmos, starkem Bass und Akku‑Rears
-
Künstliche Intelligenzvor 3 MonatenPetra‑AI: KI soll Frauen in der Perimenopause unterstützen
-
Social Mediavor 3 MonatenVon Kennzeichnung bis Plattformpflichten: Was die EU-Regeln für Influencer Marketing bedeuten – Katy Link im AllSocial Interview
