Was ist WPF?

WPF – Ein UI-Framework, wenn’s drauf ankommt

.NET-basierte Softwareentwicklung für Desktop-Geschäftsanwendungen

WPF – Windows Presentation Foundation – ist Microsofts Zugpferd, wenn es um die Oberflächenprogrammierung für den Windows Desktop geht. Denn bei WPF handelt es sich um ein UI-Framework. Also einen Baukasten mit einer gigantischen Bandbreite an Funktionen zur Entwicklung von grafischen Oberflächen für Endanwender – insbesondere, wenn es sich um kritische Geschäftsanwendungen handelt, die Unternehmen mit einer hohen Zuverlässigkeit und Performance betreiben müssen. Darüber hinaus besticht WPF aber auch durch eine ganze Reihe an weiteren Vorteilen:

  • WPF basiert auf dem .NET-Framework, einer Softwareentwicklungs-Plattform, die bereits seit über 20 Jahren auf dem Markt ist und mit hunderttausenden Bibliotheken das noch so exotischste Programmier-Problem löst – ganz bestimmt auch Ihres.
  • WPF ist effizient und ausgereift. Denn entwickelt wird es mit Visual Studio und allerlei Templates. So muss ein Softwareentwickler nicht bei null und eins anfangen, sondern kann sofort fachspezifische Funktionen implementieren.
  • WPF ist performant. Denn diese Technologie benutzt eine auflösungsunabhängige, vektorbasierte Rendering Engine zur Darstellung grafischer Elemente, die auf Gaming-Technologien (DirectX) basiert und unsere moderne PC-Hardware voll ausnutzt. Voll cool, wenn Sie mich fragen! Denn bei Anwendungen, wie z.B. in der Computertomographie, brauchen Sie halt etwas mehr Power.
  • WPF nutzt moderne Konzepte der Softwareentwicklung und fördert Qualität. Denn keiner hat Lust überteuerte Fachkräfte anzuheuern, die 200 Euro pro Stunde kosten, wenn es mal Probleme gibt. Und außerdem soll die Anwendung ja auch eine Weile halten. Schließlich möchte niemand nach fünf Jahren schon wieder alles in die Tonne werfen und neu entwickeln.
  • WPF ist zukunftssicher und läuft auf den neuesten .NET-Varianten. Es stehen zwar mit .NET MAUI schon einige Nachfolger in den Startlöchern, aber hier legt man den Fokus noch eher auf mobile Anwendungen und die Konkurrenz außerhalb des .NET-Universums ist nicht wirklich erwähnenswert. Ob der Funktionsumfang jemals so groß sein wird wie bei WPF, ist fraglich.
  • WPF wird von einem ganzen Ökosystem aus Communities und Unternehmen unterstützt. Von einfachen Tutorials bis zu professionellen Bibliotheken, z.B. für die Darstellung von 3D-Objekten, können Sie auf deren Unterstützung zählen – genauso wie auf uns.

Was ist also nun WPF? Eine Technologie zur Entwicklung moderner Desktop-Anwendungen für Geschäftsanwendungen, auf die Sie setzen sollten, wenn Hardware und aufwendige grafische Elemente im Spiel sind.

WPF ist nichts zum Basteln

Softwareentwicklung jenseits von quietschbunten Apps

Ob Sie es glauben oder nicht. Jenseits von Pokémon, bunten YouTube-Videos und quietschbunten Bällen, die durch die Luft fliegen, bringt die Softwareentwicklung manchmal auch was Sinnvolles zustande: Software-Lösungen, mit denen Menschen richtig produktiv arbeiten, z.B.:

  • In der Produktion am Montagearbeitsplatz, an Maschinen und überall, wo ein Panel-PC seinen Platz findet
  • In Laboren, z.B. bei der Dokumentation von Proben, beim Arbeiten mit einem Chromatographie-Gerät oder einem LIMS (Laborinformationsmanagementsystem)
  • In Transport und Logistik, z.B. beim Scannen von Barcodes
  • Beim Arzt, wenn Sie geröntgt werden und Ihnen anschließend das Bild präsentiert wird

Was das mit WPF zu tun hat? Nun ja. Mit irgendeinem Baukasten – auch Framework genannt – muss ein Softwareentwickler ja solche Anwendungen erstellen, wenn er nicht von null anfangen möchte. Und das ist eben oftmals WPF.

Warum der Desktop das WPF-Framework braucht?

Windows Forms ist nun mal ein Packesel, kein Rennpferd

Wie hat es die Softwareentwicklung nur ohne WPF ausgehalten? Bevor WPF auf dem Markt kam, wurden Desktop-Anwendungen vor allem mit folgenden Technologien entwickelt:

  • Delphi – Einer mittlerweile eingestaubten und exotischen Technologie, die Borland entwickelt hat
  • Visual Basic – Die Programmiertechnologie kennen Sie vielleicht aus Excel (VBA). Ob Sie es glauben oder nicht, früher hat man damit ganze Anwendungen entwickelt.
  • Windows Forms – WPFs direkter Vorgänger aus der .NET-Welt.

Die drei Technologien werden auch heute noch zum Teil in der Softwareentwicklung eingesetzt, allen voran Windows Forms. Allerdings stammen diese aus der Zeit von Windows 95, 2000 und XP. Ein besonderes Problem stellen die nicht mehr zeitgemäßen Entwicklungskonzepte und der mangelnde Support dar:

  • In Windows Forms sind Oberflächen-Logik und der eigentliche Programmcode eng miteinander verknüpft. Dadurch kommt es zu einer Durchmischung, die für einen überblähten, schlecht wartbaren und damit auch teuren Quellcode sorgt. Mal abgesehen davon, dass Sie Design-Arbeiten nicht ohne Weiteres an einen UX-Experten abgeben können.
  • Eine Manipulation von Daten und Oberflächenelementen erfolgt in der Praxis häufig nach dem Event-Prinzip. Das heißt, dass z.B. beim Auslösen eines Buttons alle Änderungen an Oberfläche und Daten erfolgen müssen. Kommen neue Informationen oder Steuerelemente hinzu, muss sich der Softwareentwickler wieder an die richtige Stelle erinnern. Außerdem kommt es schnell zu Seiteneffekten, da Events häufig auch andere Events auslösen. Das nervt und ist fehleranfällig. Und die Fehler treten leider meistens dort auf, wo man es am wenigsten möchte – beim Nutzer.
  • Windows Forms ist „feature completed“ – das heißt, Microsoft wartet zwar den Quellcode, bringt aber keine neuen Funktionen mehr heraus. Was also mit Windows Forms jetzt nicht funktioniert, wird auch in Zukunft nicht funktionieren.
  • Delphi und Visual Basic sind schlichtweg veraltet. Punkt!

Betreiben Sie aktuell eine Windows Forms-Anwendung, können Sie diese also erstmal getrost weiternutzen. Bei einer professionellen Umsetzung durch einen Softwareentwickler sollte es zudem auch keine Probleme mit der Wartbarkeit geben.
Haben Sie allerdings eine Delphi- oder Visual Basic-Anwendung, sollten Sie diese in der Mottenkiste verschwinden lassen und durch WPF ersetzen. Falls keine Abhängigkeiten zu Hardwarekomponenten, wie z.B. Waagen, Signalleuchten, SPS oder anderen Geräten, bestehen, lohnt es sich ggf. auch gleich über die Migration zu ASP.NET nachzudenken. Da können wir gerne mal gemeinsam einen Blick auf Ihre aktuelle Software werfen.

XAML, Controls, Data Binding und MVVM in WPF

Konzepte für eine effiziente Softwareentwicklung mit .NET

Wir haben nun viel über Windows Forms gelästert, aber was macht WPF nun anders? Das Framework zeichnet sich vor allem durch vier Hauptbestandteile aus:

  • XAML (Extensible Application Markup Language): XAML ist eine deklarative, also beschreibende Programmiersprache für grafische Oberflächen, aber auch für Styles, z.B. für wiederverwendbare Farben und Formen ihrer Steuerelemente. Ähnliche Technologien werden übrigens zum Beispiel auch in Excel-, Word- oder SEPA-Lastschrift-Dokumenten verwendet. XAML kommt auch in .NET MAUI und Xamarin zum Einsatz.
  • Controls bzw. Steuerelemente: Egal, wie tief Sie in WPF eintauchen. Mit XAML und Controls werden Sie garantiert zu tun haben. Hierzu zählen nämlich sämtliche Schaltflächen, wie Buttons, Checkboxen, aber auch sogenannte Layoutcontainer. Controls können Sie sich dabei als kleinsten gemeinsamen Nenner (Schnittstelle oder Spezifikation) aller grafischen Elemente vorstellen. Das ist vor allem wichtig, damit Sie auch Ihre eigenen Steuerelemente in WPF integrieren können.
  • Data Binding: Hierbei handelt es sich um ein Konzept der modernen Softwareentwicklung, um Informationen automatisch an die Oberfläche, z.B. an den Text einer Textbox, zu binden und zu synchronisieren. Um Sie nicht zu sehr zu langweilen, machen wir es kurz: Data Binding sorgt für einen übersichtlichen Code, da die Oberfläche klar von den Daten getrennt wird und viel sogenannter Boiler Plate Code (viel überschüssiger Code, der wenig zur eigentlichen Funktion beiträgt – also reine Fleißarbeit) wegfällt.
  • MVVM: Ein Pattern, eine Art Best Practice, die ein Softwareentwickler nutzt, um wie in einem gut einstudierten Theaterstück ein Projekt umzusetzen, indem er die Stärken von WPFs XAML, Controls und Data Binding nutzt.

Mit WPF steht einem in der Softwareentwicklung also ein breites Spektrum an Werkzeugen bereit, um Desktop-Anwendungen in hoher Qualität zu entwickeln. Denn Oberfläche und Daten lassen sich bequem separieren. Praktischer Nebeneffekt: Falls Sie in Ihrem Projekt so richtig unter Volllast geraten, können Sie einen Designer für die Oberfläche bzw. einen Backend-Entwickler exklusiv an Ihrem jeweiligen Schwerpunkt arbeiten lassen. Das kann insbesondere in größeren Projekten ein Kostenfaktor um die 100.000 Euro oder mehr sein.

Sie haben einen Windows-Rechner? Sie wollen Hardware nutzen?

Starten Sie mit WPF durch, statt lange rumzuexperimentieren

Sie werden sich ja bestimmt nicht ohne Grund über WPF schlau gemacht haben, richtig? Bestimmt haben Sie ein internes Softwareentwicklungsprojekt oder arbeiten an einem Produkt, z.B. einem medizinischen Gerät oder einer Maschine, für die Sie eine nette Oberfläche für Ihre Kunden bauen müssen, oder? Prima! Nun, da Sie über WPF Bescheid wissen, stehen Ihnen alle Möglichkeiten der Softwareentwicklung offen, um Ihr Vorhaben erfolgreich mit WPF umzusetzen:

  • Sie können sich nach Feierabend durch zahlreiche Tutorials, Dokumentationen und Bücher durchwühlen und selbst in die Tasten hauen, um Ihre Software-Lösung zu entwickeln. Dann müssen Sie aber nach dem Programmiervergnügen mit WPF auch die Verantwortung für Bugfixes, Wartung, Weiterentwicklung und Support Ihrer Anwendung übernehmen. Wollen Sie das wirklich? Effizient sieht jedenfalls anders aus!
  • Ihr Unternehmen hat eigene Softwareentwickler? Prima! Die werden sich hoffentlich über mehr Arbeit bei gleichem Gehalt freuen.
  • Sie sparen sich die Arbeit, fokussieren sich auf Ihre Stärken und bauen diese weiter aus und überlassen die Softwareentwicklung mit WPF den professionellen .NET-Entwicklern der PI Informatik GmbH. Das geht wesentlich schneller und Sie profitieren von unseren Erfahrungen mit WPF aus zahlreichen Projekten in Produktion, Logistik, Energieversorgung und der öffentlichen Hand – ein bisschen Abgucken ist ja schließlich erlaubt.

Wir haben natürlich, was Ihre Optionen zur Umsetzung Ihres WPF-Projektes angeht, eine Präferenz, wollen Ihnen aber natürlich auch nichts aufdrängen. Aber nur so als kleiner Tipp: Sie brauchen nur auf unsere E-Mail oder Telefonnummer klicken. Der Rest wird sich schon finden. Wir sind gespannt, wie Sie sich entscheiden.

Wow, dieser Beitrag über WPF ist echt gut!

Weitere Beiträge aus diesem Bereich interessieren mich auch

Kein Problem. Einfach liken oder vernetzen. Wir teilen unser Wissen regelmäßig in folgenden Kanälen:

Das coolste Softwareentwicklungsteam in Berlin

Sie haben Fragen oder Anregungen?

Kontaktieren Sie uns noch heute: