Maison >développement back-end >tutoriel php >Je ne peux pas! NextJS?

Je ne peux pas! NextJS?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-27 20:13:12196parcourir

Les préférences personnelles déterminent le choix de la pile technologique, c'est normal ! Personnellement, je ne préfère pas Next.js. Son argument monolingue ne s'applique pas à moi, je préfère développer dans plusieurs langues.

J'ai développé de nombreuses applications React, mais maintenant je n'utilise plus React très souvent. Actuellement j'utilise principalement Go (Echo ou Fibre), Django et Laravel (Go est mon langage préféré !).

Récemment, j'avais besoin de créer une petite application, composée principalement d'opérations CRUD, avec des fonctionnalités dynamiques... J'ai envisagé d'essayer Next.js. J'ai brièvement construit une application avec Next.js il y a un an, j'ai donc une compréhension générale du framework.

I just cant! NextJS?

Cela s'est avéré être une expérience douloureuse !

J'ai passé environ une heure à essayer d'utiliser : https://www.php.cn/link/b0eec27361a2a03d4480b560df531df7

La documentation est nulle ! Cela suppose que vous déployez sur Vercel. Je veux juste l'exécuter localement.

Quoi qu'il en soit, j'ai décidé de l'essayer à partir de zéro...

J'ai créé un projet Next.js vierge avec presque rien dedans ! J'ai dû configurer Drizzle manuellement et même copier-coller le code de la documentation n'a pas vraiment fonctionné.

J'ai rencontré des bugs ennuyeux dont je ne me souviens plus maintenant, mais dans l'ensemble, j'ai dû lire les journaux et les déboguer moi-même, ce qui est flou dans ma mémoire.

Pour être honnête, je suis déjà rouillé, ce sont mes problèmes techniques.

Next.js n'est qu'un routeur et un cache

I just cant! NextJS?

Je ne comprends pas très bien l’intérêt de Next.js, c’est juste un méta-framework avec routeur et mise en cache intégrés. Vous pouvez utiliser Inertia pour le routage, ignorer toute la configuration fastidieuse et utiliser React comme d'habitude.

Mon expérience précédente d'utilisation de React dans SPA m'a fait détester SPA C'était pénible de gérer le routage et Redux. Je préfère utiliser un routeur backend et effectuer une gestion minimale de l'état dans React lui-même.

Next.js résout ce problème dans une certaine mesure, mais je pense qu'il n'est pas assez complet et est trop couplé à Vercel.

Le sac à dos Laravel m'a sauvé !

Le temps presse, je dois terminer la tâche, je n'ai pas le temps de m'inquiéter. Peut-être que j'essaierai à nouveau Next.js à l'avenir, mais à ce stade, il est crucial de réaliser le projet rapidement.

En 5 minutes, j'ai construit un panneau d'administration complet, incluant l'authentification ! Exécutez simplement quelques commandes CLI.

Étant donné que Backpack utilise Laravel comme base, la création de tables de base de données est très simple. Courez :

<code>php artisan make:model Project -m</code>

Cela configure les fichiers de modèle et de migration pour moi. Il me suffit d'ajouter les champs de ma base de données dans le fichier de migration et d'exécuter :

<code>php artisan migrate
php artisan backpack:crud Project</code>

Avec 3 commandes au total, j'ai obtenu une interface CRUD entièrement utilisable avec des capacités de recherche et de tri.

Ensuite, je dois gérer certaines tâches en arrière-plan, telles que l'envoi d'e-mails et la mise en file d'attente des tâches pour un traitement ultérieur.

<code>php artisan make:model Project -m</code>

Afin de faire fonctionner le mécanisme de file d'attente Redis normalement, je n'ai besoin que d'une tâche SystemCTL:

<code>php artisan migrate
php artisan backpack:crud Project</code>

pour être honnête, Laravel me fait parfois ennuyer car ils continuent d'ajouter des fonctions, ce qui fait que le cadre devient très gonflé maintenant.

C'est pourquoi j'aime le style minimaliste de Next.js, mais je pense que c'est trop extrême pour moi.

Un cadre doit être porté au moins à partir du routeur, de la couche de base de données et de la file d'attente, car presque toutes les applications complexes ont besoin de ces fonctions.

Cela dépend de votre expérience. La commodité apportée par Laravel n'est pas toujours bonne. Personnellement, avant l'apparition de Laravel, j'avais construit un système et un cadre sur l'authentification à partir de zéro, donc réinvente la roue était un peu ennuyeuse. Quelle est la signification?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn