David Hockley

Hébergement Next JS : Pourquoi j'ai déplacé mon site d'AWS à Vercel

La semaine dernière, j'ai travaillé sur mon site web. Vous pouvez le trouver à www.kodaps.dev. Ce n'est peut-être pas la chose la plus brillante que j'ai jamais faite, mais je l'ai utilisé pour tester le nouveau répertoire app/ dans Next JS 13.

Lorsque vous le faites, Next JS vous avertit rapidement que le répertoire app/ est encore en version bêta, instable et susceptible de changer.

Et disons que... ce n'est pas une exagération.

En général, j'héberge tout ce que je fais sur AWS parce que j'aime la vitesse à laquelle ils innovent. Ils ont tendance à être moins chers que d'autres options pour les projets qui n'ont pas beaucoup de trafic.

Et AWS a mis en place une excellente intégration avec Next JS en utilisant leur service Amplify. Honnêtement, c'est facile à mettre en place. Ils vous guident tout au long du processus. Vous le branchez sur un dépôt GitHub. Amplify met à jour l'environnement chaque fois que vous ajoutez du code à la branche principale. J'ai été impressionné par la fluidité du processus.

Il est possible de créer différents environnements. Par exemple, j'ai mis en place un environnement de préproduction pour tester les changements avant de les mettre en production.

Et j'ai bien fait de le faire : J'ai été confronté à des bogues récurrents lors de la navigation, en particulier lorsque je revenais d'une page. J'espérais que la nouvelle publication de Next 13.3 résoudrait le problème.

J'avais tort !

La publication de la version 13.3 a introduit toute une série de nouveaux bugs. De l'extérieur, il semble que beaucoup de ces bugs soient liés aux "Jest Workers" ... du moins, c'est ce que les crashs indiquaient dans mon environnement de développement local et dans les logs d'Amplify.

Lorsque je suis allé sur le GitHub de Next pour voir s'il y avait des correctifs ou des solutions de contournement, j'ai découvert que je n'étais pas le seul à être confronté à ce problème. Un utilisateur a même déclaré que la 13.3 était la publication la plus buggée qu'il avait vue depuis un certain temps.

Or, comme je corrigeais également des bugs sur le site web (liés à la façon dont il combinait le français et l'anglais), je ne pouvais pas attendre que le bug soit corrigé.

J'ai donc décidé d'essayer d'héberger le site sur Vercel, la société qui finance Next JS. Non pas parce que Vercel offrait une meilleure expérience. Mais parce que j'avais l'impression que le déploiement sur Vercel aurait pu être mieux testé. Et l'expérience sur Vercel était tout à fait comparable à celle sur AWS. Le déploiement est tout aussi transparent. Et le site web ne comportait pas autant de bogues.

Cette décision n'a pas été prise parce que Vercel était meilleur ou moins cher. C'est parce que Next JS 13.3 a introduit des instabilités qui ont brisé à la fois mon environnement local et Amplify sur AWS. J'ai donc deux conseils à vous donner aujourd'hui.

Premièrement : n'utilisez pas le répertoire app/ en production pour tout ce qui nécessite un haut niveau de stabilité. C'est une bonne chose pour les petits sites, mais ce n'est pas prêt à être utilisé de manière professionnelle.

Deuxièmement : même pour les petits sites, si vous ne voulez pas utiliser l'hébergement Vercel, n'utilisez pas encore le répertoire app/.

Je m'amuse beaucoup dans Next JS 13 en utilisant React comme solution backend avec Server Components. Cependant, cela nécessite un changement d'état d'esprit. Par exemple, il n'y a pas de hooks sur le serveur.

Et surtout, ce n'est pas encore prêt pour partir en production, pas tout à fait.

Mais quand ce sera le cas (et ce moment arrive bientôt), je serai ravi. Parce qu'utiliser l'esprit des composants sur le serveur, avec des données qui descendent dans l'arbre depuis la mise en page, vers les pages, vers les composants et enfin vers le client... je trouve que ça change pas mal de choses par rapport à ce à quoi nous étions habitués jusqu'à présent.

Social
Made by kodaps · All rights reserved.
© 2023