Erstellen von Software mit einem Rahmenwerk vs. Bibliothek: Was Tech-Recruiter wissen müssen

Veröffentlicht: Zuletzt aktualisiert:
Rahmenwerk vs. Bibliothek

Als technischer Anwerber reicht es nicht mehr aus, nur die Namen bestimmter Programmiersprachen zu kennen - Sie sollten auch die Grundlagen verstehen, wie Software hergestellt wird.

Wenn es um die Erstellung von Produktionssoftware geht, gibt es zwei sehr wichtige Faktoren zu berücksichtigen: Der erste ist, dass die Entwicklung von Anwendungen immer komplexer wird. Der zweite ist, dass Programmierer immer versuchen, ihre Arbeit effektiver und effizienter zu gestalten. Infolgedessen muss jedes Programmiererteam entscheiden, ob es eine Anwendung unter Verwendung eines Software-Frameworks oder einer Software-Bibliothek (oder einer Reihe von Bibliotheken) erstellen will oder nicht. 

Aus dem gleichen Grund müssen Sie wissen, welche Bibliotheken und Frameworks für eine bestimmte Stelle, für die Sie rekrutieren, relevant sind. Auf diese Weise können Sie nach Entwicklern suchen, die am besten für diese Stelle geeignet sind. Nicht nur das, sondern es ist offensichtlich, dass zu fast allen Kandidaten, wenn Recruiter ihre Recherche nicht gemacht haben. Vollständig verstehen, wie Programmiersprachen, Frameworks und Bibliotheken zusammenarbeiten, können Sie sich wirklich als Personalbeschaffer (sowie Sie sich sicherer fühlen, wenn Sie mit Kandidaten über "Technik" sprechen).

Der technische Unterschied zwischen einem Framework und einer Bibliothek?

Wie Sie in der Grafik unten sehen können, besteht der technische Unterschied zwischen einem Framework und einer Bibliothek in der Frage, wer die Kontrolle über bestimmte Schlüsselaktionen im Verlauf der Softwareerstellung hat (und wann die Software tatsächlich läuft).

Wenn ein Softwareentwickler eine Funktion aus einer Bibliothek verwendet, hat der Entwickler die Kontrolle - mit anderen Worten, der Code des Entwicklers hat die volle Kontrolle über die Abfolge der Ereignisse. Bei einem Framework ist die Richtung der Kontrolle jedoch umgekehrt (dies ist bekannt als Inversion der Kontrolle), da das Framework den Entwickler kontrolliert - in diesem Fall kontrolliert das Framework den Code des Entwicklers. In gewisser Weise funktioniert ein Framework wie das sogenannte Hollywood-Prinzip: "Don't call Us, We'll call You".

Rahmenwerk vs. BibliothekQuelle: Fatos Morina

Was genau sind also Frameworks vs. Bibliotheken? Vor allem, was ist der Unterschied zwischen diesen beiden Konzepten?

Was ist der Zweck von Frameworks und Bibliotheken?

Wie Sie wahrscheinlich wissen, ändert sich der von Programmierern geschriebene Anwendungscode ständig, wenn sich die Anwendung, an der sie arbeiten, weiterentwickelt und entwickelt. Frameworks und Bibliotheken sind jedoch grundlegende Bausteine, die sich nicht ändern und die als Struktur einer bestimmten Anwendung verwendet werden. Sowohl Bibliotheken als auch Frameworks wurden von Entwicklern entwickelt, um zu verhindern, dass sich wiederholende Aufgaben immer wieder ausgeführt werden müssen. Sie können auch einige Funktionen bereitstellen, ohne dass diese Funktionalität von Grund auf neu implementiert werden muss.

Was sind Bibliotheken in der Codierung?

Eine Bibliothek ist im Wesentlichen eine Menge von Funktionen, auf die ein Entwickler zugreifen ("aufrufen") kann. Heutzutage ist eine Bibliothek meist in sogenannten "Klassen" organisiert. Die ganze Idee einer solchen Bibliothek ist, dass sie Code enthält, der für einen bestimmten Zweck in einer bestimmten Domäne wiederverwendbar ist. Auf diese Weise vereinfacht eine Bibliothek bestimmte Aufgaben, indem sie eine Reihe von generischen Funktionalitäten bereitstellt. Diese sind dann bereit, in einem Softwareprogramm verwendet ("eingesteckt") zu werden. Beispielsweise stellen die meisten Programmiersprachen Bibliotheken für Funktionen wie die Formatierung einer Zeichenkette oder die Protokollierung von Ausnahmen, die während der Laufzeit auftreten können, bereit. Durch die Verwendung entsprechender Bibliotheken können Entwickler die Menge an Code, die sie schreiben müssen, reduzieren. Gleichzeitig haben bekannte Bibliotheken eine gute Dokumentation und sind gut getestet. Daher ist es in den meisten Fällen für Entwickler besser, eine Bibliothek zu verwenden, als sich die Zeit und Mühe zu machen, eigenen Code zu schreiben, zu testen und zu dokumentieren.

Was ist ein Framework in der Programmierung?

Ein Framework kann als eine Architektur beschrieben werden, die die Implementierung von Software auf eine gut organisierte Weise erleichtert. Ein solches Framework verkörpert also ein vordefiniertes abstraktes Design, das mit mehr eingebautem Verhalten gekoppelt ist, als dies bei einer Bibliothek der Fall ist. In einem Framework ist der gesamte Kontrollfluss bereits an Ort und Stelle und es gibt eine Reihe von vordefinierten Haken, an denen die Entwickler ihren eigenen Code platzieren können. Infolgedessen definiert ein Framework ein Skelett, in dem die Entwickler einer bestimmten Anwendung ihre eigenen Funktionen definieren, um das Skelett auszufüllen. Mit anderen Worten, man kann sich ein Framework als eine Sammlung von Mustern und Bibliotheken vorstellen, die den Entwicklern bei der Erstellung einer Anwendung helfen. Die Kehrseite der Medaille ist jedoch, dass ein Framework auch die Architektur einer bestimmten Anwendung vorgibt. Es definiert zum Beispiel die Gesamtstruktur, die Aufteilung in Klassen, die Hauptverantwortlichkeiten von Klassen und die Art und Weise, wie Objekte zusammenarbeiten.

Wann ist es besser, ein Framework im Vergleich zu einer Bibliothek zu verwenden?

Wie bei so ziemlich jedem Thema im echten Leben, ist das eine komplexe Frage, die sich nicht in jedem Fall eindeutig beantworten lässt. Zum Beispiel kann ein Team mit vielen Junior-Entwicklern mit einem Framework besser dran sein, das somit eine bestimmte Struktur und bestimmte Standards erzwingt und dem Team vorschreibt, wie es Software bauen soll. Auf der anderen Seite, kann ein erfahrenes Team, das an einer Anwendung arbeitet, die nicht alltäglich ist und Nischenfunktionalität hat, besser mit einer Bibliothek (oder Bibliotheken) arbeiten, als mit einem Framework, da dies ihnen mehr Flexibilität und Kontrolle gibt. In extremeren Fällen kann es für ein bestimmtes Team von Entwicklern sogar besser sein, Software komplett von Grund auf neu zu entwickeln, ohne ein Framework oder Bibliotheken zu verwenden.

Was ist bei der Auswahl von Kandidaten zu beachten, die bestimmte Rahmenbedingungen oder Bibliotheken kennen müssen

Hier ist eine Mini-FAQ darüber, wie Programmiersprachen, Frameworks und Software-Bibliotheken in der realen Welt verwendet werden. Wo es relevant ist, haben wir auch einige Vorschläge hinzugefügt, worauf man beim Screening von Kandidaten achten sollte.

  • F: Können Programmierer eine Anwendung ohne eine Bibliothek oder ein Framework programmieren, sondern nur mit ihrem eigenen, von Grund auf neu geschriebenen Code?

A: Ja, das können sie, aber es wird immer länger dauern.

  • F: Können Programmierer eine Anwendung unter Verwendung eines Frameworks und eines Teils ihres eigenen Codes programmieren?

A: Ja, das können sie.

  • F: Können Programmierer eine Anwendung unter Verwendung einer Bibliothek (oder mehrerer Bibliotheken) sowie eines Teils ihres eigenen Codes programmieren?

A: Ja, das können sie.

  • F: Können Programmierer ihre eigene Bibliothek schreiben?

A: Ja, und die meisten Programmierer tun dies im Rahmen ihrer eigenen Arbeit. Es ist eine der besten Möglichkeiten, um jede Form von Doppelarbeit zu vermeiden, die alle Programmierer nicht mögen. Entwickler entscheiden sich manchmal, Bibliotheken, die sich als besonders nützlich erwiesen haben, für die Community freizugeben. Als Personalverantwortlicher lohnt es sich, Kandidaten zu fragen, ob sie solche Open-Source-Beiträge geleistet haben.

  • F: Können Programmierer eine Anwendung unter Verwendung eines Frameworks plus entweder einer Bibliothek (oder mehrerer Bibliotheken) plus eigenem Code programmieren?

A: Ja, das können sie. Wenn ein Team von Entwicklern bereits mit einem Framework und relevanten Bibliotheken vertraut ist und das jeweilige Framework gut zu der Domäne passt, in der die neue Software arbeiten soll, dann ist dieser Ansatz wahrscheinlich der effizienteste und effektivste. Das bedeutet, dass Sie bei der Rekrutierung nach Entwicklern suchen, die bereits mit den Frameworks und Bibliotheken vertraut sind, die Ihr Team derzeit verwendet.

  • F: Ist es möglich, dass eine Bibliothek überflüssig wird?

A: Ja, aber es ist unwahrscheinlich, dass dies bei einer bekannten Bibliothek passiert, die eine bedeutende Funktionalität bietet.

  • F: Ist es möglich, dass ein Framework obsolet wird?

A: Ja, und das ist einer der möglichen Nachteile der Verwendung eines Frameworks. Frameworks kommen und gehen, und selbst wenn ein Framework lange Zeit populär ist, kann sich jedes Framework von einer Hauptversion zu einer anderen Hauptversion dramatisch verändern. Natürlich versuchen die Ersteller/Maintainer von populären Frameworks, solche Änderungen zu begrenzen, aber es kann und wird passieren. Sie sollten versuchen, zumindest mit den wichtigsten Änderungen in den von Ihrem Team verwendeten Frameworks Schritt zu halten.

  • F: Können Programmierer ihr eigenes Framework erstellen?

A: Ja. Nachdem ein Team von Programmierern eine neue Art von Software fertiggestellt hat, kommt es nicht selten vor, dass sie aufgrund ihrer besonderen Erfahrung später ein Framework erstellen, das es ermöglichen soll, eine ähnliche Art von Software auf eine wesentlich effektivere und effizientere Weise zu erstellen. Es ist eine gute Idee, Lebensläufe daraufhin zu überprüfen, ob die Kandidaten solche Erfahrungen gemacht haben.

Schlussfolgerung

Um es noch einmal zu wiederholen: Als technischer Personalvermittler ist es sehr wichtig, dass Sie die Kandidaten nicht nur in Bezug auf Programmiersprachen, sondern auch in Bezug auf Frameworks und Bibliotheken prüfen.

Wir wissen, dass die Fachsprache, mit der über Programmiersprachen, Software-Frameworks und Bibliotheken gesprochen wird, teilweise verwirrend sein kann. Wenn Sie Zweifel haben, empfehlen wir Ihnen, einen Blick in das Glossar zu werfen, das wir speziell für diesen Zweck erstellt haben: https://devskiller.com/glossary-it-terms-tech-recruiters/.

Beitrag teilen

Erfahren Sie mehr über die Einstellung von Technikern

Abonnieren Sie unseren Learning Hub, um nützliche Einblicke direkt in Ihren Posteingang zu erhalten.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.

DevSkiller-Logo TalentBoost-Logo TalentScore Logo