Die Suche nach den besten Vue.js-Entwicklern ist ein schwieriges Unterfangen. Man muss wissen, wo man suchen muss, wie man ihre Fähigkeiten erkennt, und schließlich muss man sicherstellen, dass sie die richtige Wahl für Ihr Unternehmen sind.
Zum Glück wissen wir bei Proxify, wie man genau das macht.
Finden Sie die Antworten auf diese Fragen (und mehr) in diesem praktischen, kurzen und prägnanten Vue.js-Leitfaden heraus.
Was ist Vue.js?
Im Jahr 2013 stieß ein Google-Ingenieur namens Evan You auf ein Problem. Er und sein Team mussten einen ziemlich komplexen UI-Prototyp (User Experience) entwickeln, aber sie brauchten ihn schnell. Das Schreiben von viel überflüssigem (ich möchte hinzufügen: langweiligem) HTML-Code reichte nicht aus, also entschieden sie sich für einen anderen Ansatz.
Ihre Lösung: keine. Zur Überraschung von Evan und seinen Kollegen gab es damals kein Tool, kein Framework, keine Anwendung und keine Bibliothek, mit der sie schnell Prototypen erstellen konnten. Mit anderen Worten: Sie saßen fest!
Zu den vorhandenen Tools gehörten Angular.js (ein Proto-React.js) und Backbone.js, das vor allem für große MVC-basierte Anwendungen verwendet wurde und für die anvisierten Projekte nicht wirklich geeignet war.
Und genau das war die Lösung, die die ganze Zeit direkt vor ihren Augen lag: Angular.js. Evan nahm die Teile, die ihm gefielen, verwendete sie neu und schuf Vue.js zur Freude des gesamten Google Creative Lab-Teams.
Bald darauf veröffentlichten sie ihre erste Vue.js-Iteration im Jahr 2013, dicht gefolgt von der ersten stabilen Vue.js-Version im Jahr 2014. Sie können die gesamte Vue.js Release-Historie auf GitHub finden.
Wie beliebt ist Vue.js?
Vue.js, ein Framework, das aus der Programmiersprache JavaScript hervorgegangen ist, erfreut sich heutzutage großer Beliebtheit bei allen Arten von Entwicklern, insbesondere bei der Softwareentwicklung, die einen leichtgewichtigen Ansatz für eine komplexe Reihe von Problemen erfordert.
Im Hinblick auf die wichtigsten Web-Anwendungen und Plattformen mit Vue.js gebaut, hier sind einige davon:
- Gitlab
- Trivago
- Statista
- Behance
- Und das berüchtigte 9GAG, um nur einige zu nennen
Wenn es um bewährte (ältere) Technologien geht, schneiden sie in Bezug auf die Sicherheit in der Regel besser ab als neue oder aufstrebende Frameworks. Das liegt vor allem daran, dass ältere Frameworks im Laufe der Jahre immer mehr Schwachstellen aufwiesen und das Team, das dahintersteht, mehr Zeit hatte, die Gesamtarchitektur zu überdenken und zu verbessern sowie diese Schwachstellen daher rechtzeitig zu beheben.
Die Verwendung relativ "unausgereifter" Instrumente birgt ein doppeltes Risiko:
- Viele Bugs, Schwachstellen oder Auslassungen
- Kleinere Gemeinschaft mit unzureichender Dokumentation für den Fall, dass Hilfe benötigt wird
Vue.js ist ein älteres Open-Source-Framework (2014), was bedeutet, dass es den Reifetest mit Bravour besteht.
Laut einer JavaScript-Umfrage aus dem Jahr 2020 war Vue.js das drittbeliebteste JS-Framework in diesem Jahr, direkt hinter React.js (2.) und Svelte (1.). Darüber hinaus haben Entwickler eine überwiegend positive Einstellung zur Arbeit mit Vue.js. Rund 42% der Befragten gaben an, dass sie das Framework wieder verwenden würden, während 32% ihr Interesse bekundeten, in Zukunft mehr über Vue.js zu lernen.
Apropos rohe Eindrücke, Vue.js ist sehr beliebt auf GitHub. Es hat derzeit mehr als 194’000 Sterne und mehr als 400 Mitwirkende, die von einer beträchtlichen Anzahl von Sponsoren und anderen Unterstützern unterstützt werden.
Wo man Vue.js-Entwickler findet
Wie ich bereits oben erwähnt habe, sind hochqualifizierte Vue.js-Entwickler schwer zu finden. In der Tat ist die Einstellung eines Entwicklers im Allgemeinen eine sehr heikle Sache, die mehrere bewegliche Teile und viele Dinge beinhaltet, die schief gehen können-auf viele unvorhersehbare Arten.
Zum Glück haben wir bei Proxify den Prozess der Suche und Einstellung von Vue.js-Entwicklern zu einer Wissenschaft gemacht.
Es gibt zwei Hauptansätze, um erfahrene Vue.js-Entwickler zu finden, einschließlich:
- Handbuch (firmenintern)
- Automatisiert (ausgelagert)
Bei der manuellen Vorgehensweise müssen entweder Sie selbst oder ein Personalverantwortlicher Ihres Unternehmens (oder sogar jemand anderes!) den potenziellen Entwickler manuell suchen, ausfindig machen und mit ihm sprechen.
Der einstellende Manager (oder Sie) muss die Soft Skills, die Stack-Kenntnisse und alle anderen Fähigkeiten, Jobanforderungen oder Arbeitserfahrungen beurteilen, die Ihrer Meinung nach für das bevorstehende Projekt relevant sind, aber dazu später mehr.
Hier sind einige der beliebtesten Plattformen, auf denen Sie Top-Vue.js-Talente finden können:
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomads
- LinkedIn
Als stolzer Proxifier würde ich empfehlen, die Suche mit Proxify zu beginnen und dann von dort aus weiterzugehen. Es ist ein nahtloses, reibungsloses Einstellungserlebnis und ein dreifacher Gewinn (Win-Win-Win?) für den Kunden, den Entwickler und auch für unsere Plattform.
Andererseits können Sie auch mit einem Personaldienstleister zusammenarbeiten und die gesamte Personalbeschaffung automatisieren/auslagern, während Sie sich auf andere Dinge in Ihrem Unternehmen konzentrieren.
Auf diese Weise haben Sie zwar mehr Zeit, aber man weiß nie, was man bekommt"-eine Anspielung auf Forrest Gump. Personalagenturen sind oft unzuverlässig und ungeeignet, wenn es darum geht, engagierte Teammitglieder zu finden, die wirklich interessiert und leidenschaftlich an Ihren Projekten arbeiten.
In der Tat kann die Suche nach dem richtigen freiberuflichen Vue.js-Entwickler über Erfolg oder Misserfolg von Entwicklungsteams entscheiden-unabhängig vom Entwicklungsstadium der Anwendung.
Wie man Vue.js-Entwickler interviewt
Unabhängig davon, ob Sie nach Vollzeit- oder Teilzeitentwicklern suchen, gibt es einige Dinge, die Sie während des Bewerbungsprozesses beachten sollten:
- Jahre der Erfahrung;
- Soft Skills;
- Stack-Kenntnisse (Frontend, Backend, Full-Stack);
- Fachgebiet (Webentwicklung, mobile Entwicklung, hybrides Entwicklungsmodell).
Zusammenfassend lässt sich sagen, dass der Bewerber sein Handwerk beherrschen sollte, immer bereit sein sollte, mehr zu lernen und sich zu verbessern, und ein scharfes Auge für Details und die Identifizierung von Fehlern in großem und komplexem Code haben sollte.
Die wichtigsten technischen Fähigkeiten, die ein Vue.js-Entwickler haben sollte
Als eines der am schnellsten wachsenden JavaScript-Frameworks hat sich Vue.js aufgrund seiner Zugänglichkeit, Vielseitigkeit und Leistung als beliebtes Framework unter Entwicklern etabliert.
In Anbetracht dessen sind hier die wichtigsten technischen Fähigkeiten, die ein vielversprechender Vue.js-Entwickler haben sollte.
HTML UND CSS: Wie die meisten von Ihnen wissen, sind HTML und CSS das Rückgrat des gesamten Internets. HTML sagt der Seite, was angezeigt werden soll, und CSS sagt dem Web, wie die Seite aussehen soll. Da Vue.js-Anwendungen mit SFC (Single File Components) erstellt werden, erlaubt dieses Modell den Entwicklern, die Javascript-Logik, den HTML-Code und die CSS-Stile innerhalb der Anwendung zu definieren.
Modernes JavaScript: Vue.js-Anwendungen arbeiten mit dynamischen statt mit statischen Daten. Entwickler werden in der Lage sein, modernes JavaScript zu verwenden, um zu schreiben, wie ihre Vue.js-Anwendungen diese Logik in der SFC behandeln sollen. Dies wird die Effizienz und Geschwindigkeit des gesamten Entwicklungsprozesses verbessern und es den Entwicklern ermöglichen, besseren Code zu schreiben.
Git: Jeder Softwareentwickler sollte mit Git vertraut sein. Git ist ein Versionskontrollsystem (VSC), das es Entwicklern ermöglicht, Änderungen an ihren Dateien zu verfolgen und es einfacher macht, mit mehreren Personen an einem Projekt zu arbeiten. Vue.js-Entwickler sollten mit GitHub oder Gitlab vertraut sein und in der Lage sein, diese mit Leichtigkeit zu nutzen.
Vue, Vue CLI und Vue Native: Es versteht sich von selbst, dass erfolgreiche Vue.js-Entwickler mit der Vue-Programmiersprache bestens vertraut sein sollten. Für angehende Entwickler ist die Vue-Dokumentation ein großartiger Ort, um zu beginnen.
Darüber hinaus ist Vue.js auch mit einem Command Line Interface (CLI) ausgestattet, um den Entwicklungsprozess schneller, einfacher und zuverlässiger zu machen. Die neueste CLI basiert auf einer brandneuen Plugin-basierten Architektur, die es Entwicklern ermöglicht, ihre eigenen einzigartigen Voreinstellungen und Plugins zu erstellen.
Derzeit ist Vue Native veraltet. Dennoch sollten Vue.js-Entwickler immer bestrebt sein, neue Frameworks zu erlernen, die ihnen helfen, ihre Fähigkeiten in der mobilen Entwicklung (nativ, plattformübergreifend, hybrid) in naher Zukunft zu verbessern.
Laut einem unserer Proxify-Entwickler, Akin Oztorun, sind die drei wichtigsten technischen Konzepte, die jeder Vue.js-Entwickler kennen sollte:
- Reaktivität
- Composition-API
- Watchers & Computed Properties
Auf meine Frage nach der Anwendbarkeit von Vue.js wurde Akin zum Nachdenken gebracht.
"Das ist eine knifflige Frage, weil ich denke, dass ich alle Arten von Single-Page-Anwendungen mit Vue schreiben kann. Aber ich denke, das Problem beginnt mit der Komplexität. Der Umgang mit Komplexität erfordert mehr Erfahrung mit Vue, denke ich. Der einzige Weg, komplexe Anwendungen mit Vue.js zu schreiben, besteht darin, sich auf sauberen, modularen und wiederverwendbaren Code zu konzentrieren."
Akin Oztorun
"Wenn Sie nur eine MVP oder eine App für ein kleines Startup schreiben wollen, dann spielt Ihr Senioritätslevel keine Rolle; schreiben Sie es einfach über Vue, weil es so am schnellsten geht", sagt er.
Und wie sieht es mit der Optimierung aus: Wie würden Sie Ihre Vue.js-Anwendungen auf Leistung und Geschwindigkeit optimieren? Akin ist schnell auf den Beinen:
"Der beste Weg zur Optimierung des Codes ist die Erstellung wiederverwendbarer, zusammensetzbarer gemeinsamer Dateien über die Composition API, denke ich. Die Einhaltung der SOLID-Prinzipien kann dabei hilfreich sein. Machen Sie alle Funktionen so klein wie möglich und jede Funktion sollte nur einen Zweck haben. Und machen Sie sie auch wiederverwendbar, wenn möglich."
Akin Oztorun
Mateus Ávila Isidoro, ein weiterer Entwickler aus dem Proxify-Netzwerk, führte dies weiter aus.
"Erstens: Vue.js ist schnell, wirklich schnell. Dies kann in aktuellen Benchmarks wie diesen gesehen werden. Diese Geschwindigkeit kommt mit einer Menge Augen, die auf das Projekt schauen und ist eines der einflussreichsten Projekte bei GitHub".
Für angehende Vue.js-Entwickler: Dies hatte Mateus dazu zu sagen:
"Nun, ich denke, ein guter Vue-Entwickler kann Magie erzeugen, ohne viel Aufwand zu betreiben. Sie können einfach die CDN-Datei hinzufügen und das Vue-Objekt instanziieren, und voilá! Legacy-Projekte können in Sekundenschnelle aktualisiert werden. Wenn Sie also ein junger Entwickler sind, der HTML, CSS und JS kennt, sind Sie durchaus in der Lage, ein guter Vue-Entwickler zu sein. Die Lernkurve ist klein, es ist ein Vergnügen, und die Dokumentation ist einmalig."
Mateus Ávila Isidoro
Er fügt hinzu, dass neue Entwickler schnell feststellen werden, dass es ein Vergnügen ist, mit HTML zu arbeiten. "Ihr derzeitiger Lernweg ist einfach und macht sehr viel Sinn. Für Backend-Entwickler bedeutet dies, dass sie komplexe Logik mit Leichtigkeit implementieren können", fügt er hinzu.
Was die Komplexität der Anwendungen angeht, hat Mateus keine Zurückhaltung geübt.
"Vue 2 arbeitet mit Klassen, aber die neue Version kommt mit einer Kompositions-API, die eine große Verbesserung der Modularität bietet, so wie React es mit Hooks tat. Kleine Projekte können nicht mit React laufen. Selbst große Unternehmen mit komplexer Datenlogik können Vue problemlos in ihrem Kern einsetzen und das Framework läuft reibungslos."
Mateus Ávila Isidoro
Ihm zufolge ist Vue.js sehr freundlich zu Anwendungen jeglicher Art. Er fügt hinzu, dass jede Anwendung Vue ausführen kann. "Die Leute sagen, dass Vue.js keine gute Unterstützung wie React Native oder Flutter hat. Das ist ein Missverständnis, denn Vue wird von Ionic und Tauri unterstützt (dieses erstaunliche Tool habe ich letzten Sonntag auf dem Fireship Channel entdeckt-Sie können es hier sehen)."
"Erstaunliche Frameworks wie Nuxt und Quasar können jede Art von Anwendung erstellen. Natürlich stecken große Unternehmen wie Facebook und Google eine Menge Geld und Mühe in die Entwicklung von Anwendungen wie React und Flutter, aber Vue kommt in jedem Szenario näher."
Mateus Ávila Isidoro
Mateus schloss mit einem Wort über den Schöpfer von Vue.js.
"Und schließlich hat der Schöpfer von Vue.js, Evan You, ein weiteres erstaunliches Tool namens Vite entwickelt. Dieses Tool verwendet ES-Module. Sie sind viel schneller in Browsern zu laufen, und alle neuen Browser laufen mit Vite ziemlich gut", sagte er.
"Mit diesem Tool kann man kleine und extrem optimierte Pakete erstellen, die auf HTTP 2/0 und HTTP 3/0 bereitgestellt werden. Dies ist keine Vue-Frage, aber das Endergebnis einer Vue-Anwendung ist vergleichbar mit einer React-Anwendung. Vue läuft schneller im Browser, erstellt kleine Pakete bei der Erstellung und es ist ein Vergnügen, damit zu arbeiten, mit Typescript-Unterstützung und >ES6 ist es ebenfalls hervorragend."
Mateus Ávila Isidoro
Schließlich meldete sich auch Endrit Veseli, ein Senior Software Ingenieur bei Proxify, zu Wort. Er kennt sich mit Angular, Vue.js, Node.js und einer Reihe anderer Frameworks aus.
Auf meine Frage nach den drei wichtigsten technischen Konzepten in Bezug auf Vue.js, wählte er diese aus:
- Zyklus zur Erkennung von Reaktivität und Veränderungen
- Datenbindung und Komponentenzustand
- Virtuelles DOM
Laut Endrit ist Vue.js für alle Arten von Anwendungen geeignet. Er führte dies noch weiter aus.
"Alle Arten von Anwendungen heutzutage, aber wo es brilliert, würde ich sagen, ist bei den Legacy-Anwendungen. Vue ist eine der wenigen Bibliotheken, die in eine bestehende Webanwendung integriert werden kann, indem man einfach das Vue-Quellskript in eine bestehende HTML-Anwendung einfügt, indem man einen < script >-Tag verwendet und ohne viel Overhead und ohne komplexe npm- oder node_modules-Installation mit seiner API arbeitet."
Endrit Veseli
Er fährt fort: "Während es einen minimalen Overhead gibt, da die gesamte Kompilierung on the fly passiert, wenn man es so benutzt, gibt es auch den Vorteil, Vue zu benutzen, um einige Abschnitte der Seite zu modernisieren, ohne die bestehende Web-App (von Grund auf) neu schreiben zu müssen."
In Bezug auf die Optimierung von Leistung und Geschwindigkeit war Endrit offen und geradlinig.
Verwenden Sie zustandslose Komponenten, wenn möglich. Cachen Sie die Daten (meist durch Verwendung von berechneten Properties, die Vue automatisch zwischenspeichert und nicht neu berechnet, wenn keine neuen Änderungen stattgefunden haben).
Endrit Veseli
Verwenden Sie immer Schlüsselattribute, wenn Sie einen Loop durch DOM-Daten machen. Auf diese Weise wird Vue die Elemente verfolgen und nur auf diese Änderungen reagieren und nicht auf den gesamten Teil des gerenderten HTML. Lazy Loading der Komponenten, wenn möglich."
Vue.js Interview Fragen + erwartete Antworten
Hier sind einige technische Fragen, um die technischen Fähigkeiten eines potentiellen Vue.js Entwicklers zu beurteilen:
- Was ist der Unterschied zwischen Slots und Scoped Slots?
Erwartete Antwort: Ein Slot ist eine Möglichkeit, Informationen an eine Komponente zu übergeben. Es ist ein Platzhalter, den man mit Daten aus der übergeordneten Komponente füllen kann, wie ein Array von Objekten, das zu einem Objekt gehört. Sie sind nützlich, wenn Sie Informationen zwischen übergeordneten und untergeordneten Komponenten austauschen wollen.
Scoped Slots sind ähnlich, aber sie sind spezifischer und wiederverwendbar. Sie können als normale HTML-Elemente definiert werden, und ihr Inhalt wird als Props weitergegeben, wenn sie in anderen Komponenten verwendet werden.
- Was sind die Vor- und Nachteile der Arbeit mit Mixins?
Erwartete Antwort:
Vorteile: Mixins eignen sich hervorragend für die Erstellung wiederverwendbarer Funktionen, die von mehreren Komponenten gemeinsam genutzt werden können, ohne dass Code dupliziert wird oder jedes Mal alles von Grund auf neu geschrieben werden muss. Sie erleichtern auch Entwicklern, die mit Vue nicht vertraut sind, den schnellen Einstieg, indem sie vorgefertigte Funktionen verwenden, anstatt jedes Mal, wenn etwas Neues implementiert werden muss, ihren eigenen Code zu schreiben (was am Ende schwieriger werden könnte, als wenn sie vorgefertigte Funktionen verwenden).
Nachteile: Ein Nachteil ist, dass es für Entwickler, die nicht mit Vue oder JavaScript vertraut sind, manchmal schwierig ist, zu verstehen, was in Mixins vor sich geht, wenn sie diese noch nie gesehen haben.
- Was ist eine Single-File-Komponente?
Erwartete Antwort: Eine Single-File-Komponente ist eine HTML-Datei, die den gesamten JavaScript-Code enthält, den sie zum Funktionieren benötigt.
- Definieren Sie das virtuelle DOM und seine Verwendung im Zusammenhang mit Vue.js;
Erwartete Antwort: Das virtuelle DOM ist eine Repräsentation des HTML-Dokuments, die im Speicher abgelegt ist. Es wird verwendet, um den Prozess der Aktualisierung des tatsächlichen Dokuments zu beschleunigen.
Vue.js verwendet standardmäßig das virtuelle DOM, was bedeutet, dass alle Änderungen an seinen Eigenschaften zuerst auf der Client-Seite vorgenommen werden und dann im tatsächlichen DOM reflektiert werden, wenn sie fertig sind. Dadurch wird sichergestellt, dass es keine Verzögerung zwischen einer Änderung und der Darstellung auf dem Bildschirm gibt.
- Was sind Ihrer Meinung nach die Vor- und Nachteile der Verwendung von Vue.js?
Erwartete Antwort: Die Verwendung von Vue.js hat mehrere Vorteile: Es ist leicht zu erlernen, es ist sowohl in der Entwicklung als auch in der Produktion schnell, und es hat eine hervorragende Dokumentation. Allerdings gibt es auch einige Nachteile - es werden nur moderne Browser (IE9+) unterstützt, es gibt noch keine native Unterstützung für mobile Geräte (obwohl es Bibliotheken von Drittanbietern wie NativeScript gibt) und es fehlen Plugins.
- Was sind Attributbindungen in Vue?
Erwartete Antwort: Attributbindungen in Vue sind ein Weg, um zwischen Komponenten zu kommunizieren, und sie können für Dinge wie die Weitergabe von Daten von einer Komponente zur anderen verwendet werden.
- Beschreiben Sie, wie die Daten zwischen den Komponenten in einer Vue fließen.
Erwartete Antwort: Die Daten fließen zwischen den Komponenten in einer Vue durch Props. Props sind das Äquivalent zu HTML-Attributen und werden vom Übergeordneten zum Untergeordneten weitergegeben. Wenn Sie zum Beispiel eine übergeordnete Komponente haben, die eine Liste von Produkten enthält, hat jedes Produkt seine eigene untergeordnete Komponente, die für die Anzeige der Produktinformationen verantwortlich ist. Die übergeordnete Komponente würde die Produktinformationen als Props weitergeben, damit die untergeordnete Komponente weiß, was sie anzeigen soll.
- Was sind Direktiven in Vue?
Erwartete Antwort: Direktiven sind eine der Kernkomponenten von Vue.js. Sie ermöglichen es Ihnen, die Funktionalität Ihrer Komponenten zu erweitern, indem Sie eigene HTML-Attribute und Verhaltensweisen hinzufügen.
- Ist es möglich, lokale und globale Stile zu kombinieren?
Erwartete Antwort: Es ist möglich, lokale und globale Stile zu kombinieren, indem Sie Stilobjekte verwenden, die mit v-bind:style auf Elementen oder mit {}-Klammern in Ihrem JavaScript-Code erstellt werden können. Dies ermöglicht es Ihnen, die Trennung zwischen den Stilen beizubehalten, ohne dass Sie sich Sorgen machen müssen, dass sie sich gegenseitig überschreiben.
- Warum sollte man Vue.js anderen Frontend-Frameworks vorziehen?
Erwartete Antwort: Sie könnten Vue anderen Front-End-Frameworks vorziehen, weil es einfach zu erlernen und zu implementieren ist, und weil es leistungsfähig genug für große Anwendungen mit komplexen Anforderungen ist.
Warum sollten Sie einen Vue.js-Entwickler einstellen?
Es gibt mehrere Gründe, einen Vue.js-Profi zu engagieren oder ein Team aus mehreren Entwicklern aufzubauen, je nach Größe und Umfang Ihres Projekts.
Zunächst einmal ist Vue.js einfach zu erstellen, zu verwenden und zu debuggen. Seine Einfachheit führt zu einer verbesserten Fehlerverfolgung im Vergleich zu anderen Web-Frameworks. Ihre Webanwendung wird weniger anfällig für Bugs und andere "Problemchen" im Code.
Wie einige unserer Proxify-Entwickler bereits erwähnt haben, ist Vue.js sehr flexibel und anpassungsfähig. Es kann mit jeder bestehenden populären Anwendung und jedem Framework arbeiten, unabhängig vom Stand des Entwicklungszyklus, der bereits eingeführt wurde.
Schließlich bietet Vue.js einen einfachen Ansatz für einen ansonsten komplexen Entwicklungsprozess. Erfahrene Vue.js-Entwickler sind in der Lage, dieses Konzept zu ihrem Vorteil zu nutzen, um bessere Anwendungen zu entwickeln.