Persönliche Vorlieben bestimmen die Wahl des Technologie-Stacks, das ist normal! Ich persönlich bevorzuge Next.js nicht. Das einsprachige Argument trifft auf mich nicht zu. Ich bevorzuge die Entwicklung in mehreren Sprachen.
Ich habe viele React-Anwendungen entwickelt, aber jetzt verwende ich React nicht mehr sehr oft. Derzeit verwende ich hauptsächlich Go (Echo oder Fiber), Django und Laravel (Go ist meine Lieblingssprache!).
Kürzlich musste ich eine kleine App erstellen, die hauptsächlich aus CRUD-Operationen mit einigen dynamischen Funktionen besteht ... Ich habe darüber nachgedacht, Next.js auszuprobieren. Ich habe vor einem Jahr kurz eine Anwendung mit Next.js erstellt, sodass ich ein allgemeines Verständnis des Frameworks habe.
Es war eine schmerzhafte Erfahrung!
Ich habe ungefähr eine Stunde damit verbracht, Folgendes zu verwenden: https://www.php.cn/link/b0eec27361a2a03d4480b560df531df7
Die Dokumentation ist scheiße! Es wird davon ausgegangen, dass Sie die Bereitstellung auf Vercel durchführen. Ich möchte es nur lokal ausführen.
Wie auch immer, ich habe beschlossen, es von Grund auf zu versuchen...
Ich habe ein leeres Next.js-Projekt erstellt, in dem fast nichts enthalten ist! Ich musste Drizzle manuell einrichten und selbst das Kopieren und Einfügen des Codes aus der Dokumentation funktionierte nicht ganz.
Ich bin auf ein paar lästige Bugs gestoßen, an die ich mich jetzt nicht mehr erinnern kann, aber alles in allem musste ich die Protokolle lesen und das Problem selbst beheben, was in meinem Gedächtnis nur ein einziger Fleck ist.
Um fair zu sein, ich bin schon eingerostet, es sind meine technischen Probleme.
Ich verstehe den Sinn von Next.js nicht ganz, es ist nur ein Meta-Framework mit integriertem Router und Caching. Sie können Inertia für das Routing verwenden, die langwierige Einrichtung überspringen und React wie gewohnt verwenden.
Meine bisherigen Erfahrungen mit der Verwendung von React in SPA haben mich dazu gebracht, SPA zu hassen. Der Umgang mit Routing und Redux war schmerzhaft. Ich bevorzuge die Verwendung eines Backend-Routers und führe eine minimale Statusverwaltung in React selbst durch.
Next.js löst dieses Problem bis zu einem gewissen Grad, aber meiner Meinung nach ist es nicht vollständig genug und zu stark an Vercel gekoppelt.
Die Zeit ist knapp, ich muss die Aufgabe erledigen, ich habe keine Zeit, mir Sorgen zu machen. Vielleicht werde ich es in Zukunft noch einmal mit Next.js versuchen, aber an diesem Punkt ist es entscheidend, das Projekt schnell fertigzustellen.
In 5 Minuten habe ich ein komplettes Admin-Panel inklusive Authentifizierung erstellt! Führen Sie einfach ein paar CLI-Befehle aus.
Da Backpack Laravel als Basis verwendet, ist das Erstellen von Datenbanktabellen sehr einfach. Führen Sie einfach Folgendes aus:
<code>php artisan make:model Project -m</code>
Dadurch werden die Modell- und Migrationsdateien für mich eingerichtet. Ich muss nur meine Datenbankfelder in der Migrationsdatei hinzufügen und Folgendes ausführen:
<code>php artisan migrate php artisan backpack:crud Project</code>
Mit insgesamt 3 Befehlen habe ich eine voll nutzbare CRUD-Schnittstelle mit Such- und Sortierfunktionen erhalten.
Als nächstes muss ich einige Hintergrundaufgaben erledigen, z. B. das Versenden von E-Mails und das Einreihen von Aufgaben in die Warteschlange für die spätere Verarbeitung.
<code>php artisan make:model Project -m</code>
Um den Redis -Warteschlangenmechanismus normal zu machen, brauche ich nur eine SystemCTL -Aufgabe:
<code>php artisan migrate php artisan backpack:crud Project</code>
Um ehrlich zu sein, macht Laravel mich manchmal verärgert, weil sie weiterhin Funktionen hinzufügen, was dazu führt, dass der Rahmen jetzt sehr aufgebläht wird.
Deshalb mag ich den minimalistischen Stil von Next.js, aber ich denke, es ist für mich zu extrem.
Ein Framework sollte mindestens vom Router, der Datenbankschicht und der Warteschlange getragen werden, da fast alle komplexen Anwendungen diese Funktionen benötigen.
Dies hängt von Ihrer Erfahrung ab. Die Bequemlichkeit von Laravel ist möglicherweise nicht immer gut. Persönlich, bevor Laravel erschien, hatte ich ein übersehenes System und ein Rahmen von Grund auf neu gebaut, sodass das Rad wieder ein bisschen langweilig war. Was ist die Bedeutung?
Das obige ist der detaillierte Inhalt vonIch kann es einfach nicht! NEXTJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!