Was ist eine Klassenbibliothek?

Software-Funktionen zum mitnehmen

Klassenbibliothek kurz und knapp

Softwareentwickler sind ja bekanntlich faul. Oder wie Bill Gates schon sagte „Work smart, not hard.“. Und eine dieser smarten Lösungen sind Klassenbibliotheken. Hierbei handelt es sich um eine Sammlung von fertigen, thematisch zusammengehörigen Klassen, die ein Programmierer in seinem Quellcode einfach referenzieren kann, um ein bestimmtes Problem zu lösen. 

Der große Unterschied zur üblichen Software-Lösung, mit der Sie wahrscheinlich arbeiten, besteht darin, dass Bibliotheken nicht einfach direkt, z.B. durch Doppelklicken, ausführbar sind. Sie warten sozusagen darauf, angesprochen zu werden. 

Typische Problemstellungen, bei denen man in der Softwareentwicklung auf Klassenbibliotheken zugreift, sind: 

  • Autorisierung und Authentifizierung
  • Verschlüsselungsalgorithmen
  • Steuerelemente für grafische Oberflächen
  • Datenverarbeitung, z.B. mit XML und JSON

Was sind eigentlich Klassen? 

Stellen Sie sich fürs Erste Klassen einfach als Software-Bausteine in Form abstrakter Modelle mit verschiedenen Funktionen und Eigenschaften vor, z.B. ein Taschenrechner, eine Validierung für einen Barcode, eine Rechnung, usw.  

Sowas ähnliches kennen Sie wahrscheinlich von Excel. Dort schreiben Sie sich ja auch nicht Ihre eigene Durchschnitts-Funktion – es sei denn, Sie sind Student und haben das von Ihrem Dozenten als Beschäftigungstherapie mit auf den Weg bekommen. Denn es geht ja bekanntlich effizienter. Sie nutzen einfach fertige Befehle. Im Kontext von Klassenbibliotheken können Sie sich Klassen im weitesten Sinne als fertigen Programmcode vorstellen, der einfach aufgerufen wird und dann irgendwas macht – hoffentlich das richtige. 

Zu abstrakt? Lesen Sie mehr zu Klassen in unserem Artikel zu C# und der objektorientierten Programmierung. Denn dort sind Klassen das Brot und die Butter der Programmierung.  

Wie kommt nun die Klassenbibliothek in mein Programm?

Klassenbibliotheken scheinen also richtig nützlich zu sein. Aber wie kann ein Softwareentwickler nun davon profitieren und wie kommt die Bibliothek in das fertige Programm? Das passiert in C# und anderen Programmiersprachen wie folgt: 

  • Ein Programmierer legt ein Code-Projekt an, was in der Regel nichts anderes ist als ein Ordner mit ein paar Dateien, die das Projekt beschreiben. In C# ist das die *.csproj-Datei.
  • Möchte Ihr Kollege nun eine Klassenbibliothek nutzen, kann er mit einem Programmierwerkzeug eine Referenz auf diese legen. Eine Referenz ist dabei nichts anderes als ein bisschen standardisierter Text, in dem steht, wo die Bibliothek zu finden ist, welche Version man nutzt und ein paar weitere technische Details.
  • Nun kann der Softwareentwickler alle Funktionen oder besser gesagt Klassen, die in der Programmbibliothek enthalten sind, nutzen und in seinem Quellcode aufrufen – Sie erinnern sich hoffentlich noch an Excel.
  • Anschließend wird das Programm lauffähig gemacht. In C# sorgt dafür ein Programm namens Compiler. Dabei entstehen ausführbare Dateien, die ebenfalls mit der Bibliothek verknüpft sind.
  • Und fertig: Heraus kommt ein Ordner, der nun Ihr Programm und die zugehörigen Bibliotheken in Form von speziellen Dateien enthält – in C# sind das sogenannte DLLs.

Je nach Programmiersprache kann sich das Prozedere etwas unterscheiden.

Muss ich das als Entscheider alles wissen?

Klassenbibliotheken für Ihr Softwareentwicklungsprojekt

Klassenbibliotheken können beliebig viel Programmcode unter der Haube mitführen und damit auch beliebig viel Arbeit abnehmen. Vorrausetzung ist natürlich, dass eine Bibliothek folgende Eigenschaften mitbringt: 

  • Die Bibliothek passt zu meinem Projekt. Eine Bibliothek für die Entwicklung von grafischen Oberflächen auf dem Windows-Desktop hat nichts in einer Webanwendung für Linux zu suchen.
  • Die Klassenbibliothek wurde ausreichend getestet. Bei kommerziellen Produkten oder bekannten Open Source-Komponenten, wie ASP.NET, kann man hiervon ausgehen.
  • Alle Funktionen sind ausreichend dokumentiert und können einigermaßen intuitiv angesprochen werden. Eine Taschenrechner-Funktion sollte beispielsweise nicht unbedingt „GrünesEinhorn“ heißen.

Lohnt es sich Klassen- oder Programmbibliotheken zu kaufen? 

Bibliotheken sind für Sie als Entscheider vor allem wichtig, wenn es sich um kommerzielle Produkte handelt, die ein paar Euros verlangen. Dies ist z.B. häufig der Fall, wenn: 

  • Die Klassenbibliotheken Cloud-Dienste im Hintergrund nutzen
  • Es sich um sehr umfangreiche Sammlungen von grafischen Steuerelementen handelt
  • Sie proprietäre oder sehr spezielle Dateiformate und Protokolle nutzen wollen, z.B. OPC-UA oder SAP-Schnittstellen.

Beispiel Telerik UI: Telerik UI ist eine sehr umfangreiche Bibliothek zum Erstellen grafischer Oberflächen für verschiedene Programmiersprachen und Frameworks, z.B. Blazor. Das talentierte Wunderkind enthält über 90 Steuerelemente, darunter: 

  • Buttons
  • Data Grids, Tabellen, in denen Daten bearbeitet, gefiltert, sortiert usw. werden können
  • Kalender
  • Diagramme

Das Ganze hat natürlich seinen Preis und kostet je nach Paket einmalig etwa 900 bis 2.100 Euro pro Entwickler. Eine ganze Stange Geld werden Sie jetzt denken. Allerdings würde die Entwicklung eigener Spielzeug-Varianten wesentlich teurer. Abgesehen von einfachen Buttons, sind Steuerelemente, wie Diagramme und Data Grids, im Detail komplexer als man auf den ersten Blick denken mag. Jedes einzelne könnte Sie mehrere Wochen beschäftigen. In Personalkosten gerechnet erscheinen die 2.100 Euro schon fast wie geschenkt. Zumal Ihnen professionelle Bibliotheken einen großen Vorteil verschaffen: Zeit! Denn Ihre Konkurrenz schläft ja nicht. Wenn Ihr Softwareentwickler oder Ihr Dienstleister danach verlangt und eindeutige Anwendungsszenarien aufzeigt, sollten Sie dem Kind also seinen Schnuller geben. Denn ein bisschen Luxus schadet nichts.

Wow, dieser Beitrag über die Klassenbibliothek 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:

Sie haben Fragen oder Anregungen?

Kontaktieren Sie uns noch heute: