Was mich in letzter Zeit wirklich begeistert, wenn es um den Bau von Websites geht, ist die Tatsache, dass wir als Frontend-Entwickler die Möglichkeit haben, so viel mehr zu tun. Noch vor wenigen Jahren hätte ich ein ganzes Entwicklerteam benötigt, um das zu erreichen, was jetzt mit nur wenigen großartigen Werkzeugen möglich ist.
Obwohl die Projekte/Werkzeuge/Technologien fast endlos sind, möchte ich in diesem Artikel über die drei wichtigsten sprechen, die mich heute und für die Zukunft am meisten begeistern, wenn es um den Bau von Websites geht.
Serverless und die JAMstack
Serverless-Funktionen, bei denen es sich eigentlich nur um serverseitige Funktionen handelt, die Sie nicht selbst hosten, gibt es schon seit einigen Jahren, aber im letzten Jahr oder so haben sie wirklich zugenommen. Sie ermöglichen es uns, einfache Node-Funktionen zu hosten, die keinen permanenten Zustand benötigen und von einer Frontend-Website aufgerufen werden können, so wie wir jede andere serverseitige API aufrufen würden.
Serverless-Funktionen haben das Spiel für mich wirklich verändert, und ich denke gerne, dass sie für Frontend-Entwickler das getan haben, was Websites wie Squarespace für Nicht-Entwickler getan haben. Für letztere Gruppe benötigen sie keinen Entwickler mehr, um etwas Einfaches wie eine Portfolio-Website zu erstellen. Für uns Frontend-Entwickler benötigen wir keinen Backend-Entwickler mehr, um Aufgaben wie die Erstellung eines Kontaktformulars auf einer Website zu erledigen. Dinge, für die wir eigentlich nie eine ganze API hätten gebraucht!
Die Popularität von Serverless-Funktionen hat zur Schaffung eines neuen Tech-Stacks geführt: JavaScript, APIs und Markup (JAMstack). Ich liebe das Konzept der JAMstack sehr, da es eine Bewegung hin zu statischeren, performanteren Websites ist, wovon ich ein großer Fan bin. Wenn Sie mehr über diesen Stack erfahren möchten, ist JAMstack_conf eine großartige Konferenz, die Sie besuchen können. Ich habe auf der diesjährigen Konferenz in San Francisco darüber gesprochen, wie man Headless Chrome und Cloudinary verwendet, um progressiv verbesserte dynamische Inhalte zu erstellen (langer Titel, ich weiß). Sie können meinen Vortrag unten ansehen.
Projekt Fugu
Projekt Fugu ist eine Initiative des Chromium-Teams, dem Web so viele Fähigkeiten wie möglich zur Verfügung zu stellen, die nativen Anwendungen zur Verfügung stehen. Viele dieser Funktionen sind klein und inkrementell, aber die Summe der Teile wird eine enorme Veränderung in der Art und Weise bewirken, wie wir progressive Webanwendungen erstellen.
Eine der APIs, auf die ich mich wirklich freue, ist die Native File System API, die es Nutzern von Websites ermöglicht, Zugriff auf Dateien auf ihrem System zu gewähren. Ein großartiger Anwendungsfall dafür wäre Figma, das Online-Interface-Design-Tool. Anstatt Dateien nur online zu "speichern", könnten sie direkt mit Dateien auf Ihrem Computer arbeiten, genau wie native Anwendungen!
Einige andere APIs, die ich interessant finde, sind
- Wake Lock API – ermöglicht es Websites, das Gerät am Dimmen oder Einschlafen zu hindern
- Contacts Picker API – ermöglicht es Websites, auf Kontakte vom Gerät des Nutzers zuzugreifen
- Get Installed Related Apps API – ermöglicht es Websites zu überprüfen, ob eine native Anwendung installiert ist
Sie können die vollständige Liste der APIs ansehen.
CSS Houdini
Obwohl Houdini noch nicht ganz bereit ist, ist es wahrscheinlich die Technologie, auf die ich mich als CSS-Liebhaber am meisten freue, weil ich glaube, dass sie unser Bauen von Websites revolutionieren wird.
Houdini ist eine Sammlung von APIs, die "Hooks" in bestimmte Teile der Rendering-Engine des Browsers freilegt. Dies gibt uns Low-Level-Zugriff auf die verschiedenen Stufen, in denen CSS angewendet wird, und ermöglicht es uns, unser eigenes CSS zu erstellen!
Ein großartiges Beispiel dafür ist die Verwendung der Layout Houdini API, um das berüchtigte Masonry-Layout als neuen Wert für die Display-Eigenschaft zu erstellen. Sobald diese APIs verfügbar sind, werden die Möglichkeiten für das, was wir erstellen können, endlos sein!