Wenn ich Websites für kleine Unternehmen erstelle, sehe ich mich zwei Extremen gegenüber. Aber nur ich als Programmierer. Benutzer kollidieren nicht, weil Sie nicht mit etwas konfrontiert werden können, das für Sie nicht existiert. Das erste Extrem ist, wenn ein Kunde ein anderes Hosting für Wordpress für 50 US-Dollar pro Monat kauft. Eine Person weiß nicht, dass für Wordpress kein spezielles Hosting erforderlich ist, dass ein solches spezielles Hosting normalerweise schlechter ist als normales Hosting, eine Reihe von Einschränkungen enthält und teurer ist. Das zweite Extrem ist die Verwendung des JAM-Stacks aus wirtschaftlichen Gründen. Aber das ist Wirtschaftlichkeit im schlechten Sinne des Wortes, wenn Sie Streichhölzer sparen und einen Generator verwenden, um den Lötkolben anzutreiben, von dem aus Sie zünden.
Offiziell der JAM-Stack- Javsacript, API, Markup, im Allgemeinen eine statische Vorlage, die mit Daten auf dem Client über eine API mit Javascript gefüllt ist. In einfachen Worten, ein JAM-Stapel besteht aus einer Reihe von Krücken, deren Verwendung für alle und insbesondere für den Entwickler schlecht ist. Technisch gesehen ist ein JAM-Stack ein System integrierter Krücken zum Erstellen statischer Standorte, die SAAS für Datenhydratation und -persistenz sowie viel clientseitiges Rendering verwenden. Wie haben die Großväter in ihrer Jugend statische Stellen erstellt? Sie schrieben einfache HTML- und CSS-Dateien und stellten sie auf FTP-Hosting. Wie haben unsere Väter in ihrer wilden Jugend statische Stellen geschaffen? Sie verwendeten Jekyll / Octopress oder einen von Hunderten von statischen Site-Generatoren, und die resultierenden HTML- und CSS-Dateien wurden durch ein Commit auf Github-Seiten hochgeladen, und sie verknüpften die gewünschte Domain.Einige haben dann noch Spiele mit Disqus arrangiert, weil ich es nicht anders benennen kann als Spiele, weil ein Benutzer mit einem Disqus-Konto zum Hinterlassen von Kommentaren auf Ihrer Website verschwindend selten ist.
In Bezug auf Preis / Zeit / Komplexität des Supports / Entwicklungsbeschränkungen war dies alles eine gute Option. Als es keine gute Option mehr war, wurde Hosting mit PHP für ein paar Dollar im Monat gekauft. Statische Seiten wurden verspottet und erhielten eine solide Funktionalität einer vollwertigen Site. Und alles war in Ordnung, aber Jenissei wurde aus hellem Bier hergestellt. Aber unsere großen Vorfahren haben einen normalen Job gefunden und leiden nicht mehr unter solchem Müll. Jetzt leiden wir darunter, und was kann uns die Branche bieten, jung, lustig, für die alles einfach ist? Sie hustet stolz mit einem JAM-Stapel Blut in unser Gesicht und sagt: "Du wirst nicht warten!"
JAM Stack ist der neueste Ansatz zum Erstellen statischer Sites, und Gatsby.JS ist einer seiner Propheten. Gatsby ist der hellste Vertreter des Genres, der die Lächerlichkeit der Idee statischer Orte auf das Absolute hebt und sie so in die Kategorie der Postironie übersetzt. Zunächst baut Gatsby auf React auf. Dieselbe Reaktion, die für Standorte erstellt wurde, die einen Komponentenansatz benötigen, d. H. Es gibt einige Benutzeroberflächen, d.h. Es gibt Datenmanipulation. Aber wir haben eine statische Seite, oder? Nein? Rückläufige Antwort! Dies ist kein Problem, wir haben Dienste wie Netlify und Contentful. Sie bieten Ihnen eine API, mit der Sie AJAX-Anforderungen an ihre Server senden und Inhalte empfangen oder schreiben können. Jene. die übliche Datenbank, auf die über den dreißigsten Arsch zugegriffen werden kann. Aber es ist kostenlos. Die ersten N Anforderungen oder Benutzer sowie die Blob-Größenbeschränkung.Promotion: Erfüllen Sie alle Einschränkungen und werden Sie vom Kunden bezahlt * (* die Anzahl der Versuche ist begrenzt).
Warum sieht es auf den ersten Blick für Unternehmen attraktiv aus? Weil jeder React kennt und es viele Reacto-Makaken gibt, die gestern in die IT eintreten konnten und bereit sind, für einen Cent zu arbeiten. Für Reacto-Makaken ist dies attraktiv, da es zumindest eine Möglichkeit gibt, Geld zu sammeln und ein Portfolio zu füllen. Und wenn Sie auf dem Nacken Ihrer Mutter sitzen, können Sie buchstäblich nicht für das Hosting oder die Basis bezahlen. Aus dem gleichen Grund kann ein zögernder Kunde, nachdem er das Ergebnis gesehen hat, herausfinden, ob er es überhaupt benötigt, und nicht mehr auf die Nachrichten des potenziellen Freiberuflers reagieren. Der Kunde und der Auftragnehmer sind sich durch eine eher kleine Kompetenz einig, bei der die erste nicht versteht, wie alles funktioniert, und die zweite nicht versteht, dass Websites auf andere Weise erstellt werden können.
Infolgedessen, mit seltenen Ausnahmen, über die später jeder verliert. React und seine Derivate sind ein komplexes Werkzeug mit einem großen Ökosystem und großen Herausforderungen, die oft nur von React-Programmierern und nicht von React-Affen angegangen werden. Vor 10 Jahren gab es einen beliebten Zirkusakt namens "Ziehen Sie ein Menü mit allen Untermenüs in einer SQL-Abfrage heraus". Jetzt haben wir seinen ideologischen Nachfolger - alle Daten aus dem erforderlichen Dienst über eine GraphQL-Anfrage abzurufen. Gatsby zieht mehr als 500 Abhängigkeiten mit sich. Wenn wir die Geschwindigkeit des JS-Ökosystem-Updates kennen, können wir mit Sicherheit sagen, dass in sechs Monaten etwas kaputt geht, wenn Sie ein neues Widget eines Drittanbieters benötigen. Nach 2 Jahren werden Sie Versionen betrügen, um dieses Wunder in eine neue Version umzuwandeln. Ich mache Witze, nur Spaß! Es darf nicht zum ersten Mal gemäß den Anweisungen auf der Website gesammelt werden.Wenn Roskomnadzor in einem weiteren Anfall von Besorgnis um die Bürger Ihren serverlosen Datenbankserver blockiert oder einfach den Tarif ändert, müssen Sie wieder Spaß daran haben. Erstellen Sie im Gegensatz zu herkömmlichen statischen Sites eine Site auf Gatsby! == Site-Quellen. Daher ist die Strategie, dieses Wunder, einschließlich der Datenbank, und auch ohne sie zu sichern und bereitzustellen, sehr interessant. Aber genau das Fruchtfleisch wird beginnen, wenn der Freak entwickelt werden muss, den Schulkinder mit krummen Technologien geschaffen haben. Glauben Sie mir, PHP hat eine viel niedrigere Obergrenze für Legacy-Code-Bastard, egal was sie darüber sagen!Daher ist die Strategie, dieses Wunder, einschließlich der Datenbank, und auch ohne sie zu sichern und bereitzustellen, sehr interessant. Aber das Fruchtfleisch wird beginnen, wenn der Freak entwickelt werden muss, den Schulkinder mit krummen Technologien geschaffen haben. Glauben Sie mir, PHP hat eine viel untere Obergrenze für Legacy-Code-Bastardness, egal was sie darüber sagen!Die Strategie zum Sichern und Bereitstellen dieses Wunders, einschließlich der Datenbank, und auch ohne diese, ist daher sehr interessant. Aber genau das Fruchtfleisch wird beginnen, wenn der Freak entwickelt werden muss, den Schulkinder mit krummen Technologien geschaffen haben. Glauben Sie mir, PHP hat eine viel niedrigere Obergrenze für Legacy-Code-Bastard, egal was sie darüber sagen!
Für Sie als unerfahrener Entwickler ist es nicht rentabel, den JAM-Stack für kommerzielle Projekte zu verwenden. Erstens sind statische Websites mit minimaler Funktionalität die Grundlage für freiberufliche Tätigkeiten mit allem, was damit verbunden ist und schlecht riecht. Zweitens ist der JAM-Stack eine direkte Kostenersparnis für den Entwickler. Sie werden Ihre Zeit übermäßig aufwenden, um die Krümmung von Tools und Services zu kompensieren, die nicht von Ihnen abhängt, und um mit der Erfahrung umzugehen, mit der Sie wenig Erfahrung haben. Die, die Sie hier erhalten, wird für Sie nicht weiter nützlich sein, da solvente Kunden Sie zumindest für normales Hosting bezahlen können.
Was ist dann der richtige Anwendungsfall für den JAM-Stack in seiner modernen Form? Meiner Meinung nach ist dies eine Situation, in der Ihr ziemlich adäquater Bekannter oder Verwandter Sie, einen React-Programmierer, der einen normalen hochbezahlten Job in Ihrem Profil hat, auffordert, in Ihrer Freizeit eine relativ einfache Site zu erstellen. Und Sie können vorhandene Fähigkeiten nutzen, um dies schnell zu tun, während Sie der Person alle Nachteile dieses Ansatzes erklären. Und wenn er zustimmt, dann mach weiter. Ansonsten erzähl ihm einfach von Wordpress und wp2static.
Kritik und Einwände sind willkommen. Bitte geben Sie jedoch die Kosten und die Anzahl der Projekte an, die Sie in Gatsby, Next durchgeführt haben.