Quelle est la meilleure stack niveau productivité pour développer vite un MVP ? (Une app web full-stack)
J'ai entendu pas mal parler de Ruby on Rails. C'est la meilleure techno avec cet objectif à votre avis ou bien il y en a d'autres qui sont peut-être mieux ?
NodeJS + React, c'est ce que tout le monde connait.
Surtout pas Ruby, c'est un langage mort, surtout en Europe.
Pourquoi, en tant que startup ne concevez pas votre propre système ?
Le 30 août 2023 à 11:19:27 :
Pourquoi, en tant que startup ne concevez pas votre propre système ?
Probablement parce que c'est le plus mauvais choix qu'une startup peut faire ? Le but c'est d'arriver sur le marché le plus vite possible, même si la solution technique est pourrie derrière, et d'ensuite itérer.
L'avantage de Ruby Or Rails c'est que c'est vraiment très rapide/facile de créer une application web.
Néanmoins, la scalabilité n'est pas incroyable.
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stack
Bon courage à toi !
Le 30 août 2023 à 12:34:37 :
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stack
MongoDB n'est pas adapté à 99% des situations, faut arrêter avec la stack MERN, c'est juste du marketing fait par MongoDB.
Dans la vaste majorité des situations, une base de donnée relationnelle (PostgreSQL par exemple) sera bien plus adaptée.
Le 30 août 2023 à 12:34:31 Grand__Smurf a écrit :
Probablement parce que c'est le plus mauvais choix qu'une startup peut faire ? Le but c'est d'arriver sur le marché le plus vite possible
Quel est l'intérêt de ne rien concevoir par vous-même ?
Le 30 août 2023 à 12:54:06 :
Le 30 août 2023 à 12:34:37 :
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stackMongoDB n'est pas adapté à 99% des situations, faut arrêter avec la stack MERN, c'est juste du marketing fait par MongoDB.
Dans la vaste majorité des situations, une base de donnée relationnelle (PostgreSQL par exemple) sera bien plus adaptée.
C'est l'inverse enfaite, dans 99% des cas il faut utiliser une base de données flexible puisque que dans 99% des cas il faut changer le schéma de données tous les 2 ans suite aux évolutions des besoins / objectifs, etc.
Bref encore un qui regrette d'avoir appris une techno qui devient obsolète mais c'est le jeu.
Le 30 août 2023 à 12:34:37 :
L'avantage de Ruby Or Rails c'est que c'est vraiment très rapide/facile de créer une application web.
Néanmoins, la scalabilité n'est pas incroyable.
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stackBon courage à toi !
Par contre conseiller le framework Express pour une startup il vaut mieux s'abstenir de parler ...
Le 30 août 2023 à 13:10:43 :
Le 30 août 2023 à 12:34:31 Grand__Smurf a écrit :
Probablement parce que c'est le plus mauvais choix qu'une startup peut faire ? Le but c'est d'arriver sur le marché le plus vite possibleQuel est l'intérêt de ne rien concevoir par vous-même ?
L'idée c'est de se concentrer uniquement sur l'essentiel: les fonctionnalités relatives à ton business. La communauté Open Source se charge de te fournir une tonne d'outils qui répondent aux besoins techniques (communication, interface, événements, ...). En utilisant ce qui existe déjà, tu pourras concentrer tes forces sur ce qui rend ton produit commercialement intéressant, à savoir les services qu'il fournit.
Si tu fais tout toi-même, non seulement ce sera moins bien que ce qui existe sur le marché mais ça te coûtera une blinde en termes de maintenance. Sans compter en plus les aspects sécuritaires et autre.
Bref, une très mauvaise idée.
Le 30 août 2023 à 13:12:03 :
Le 30 août 2023 à 12:54:06 :
Le 30 août 2023 à 12:34:37 :
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stackMongoDB n'est pas adapté à 99% des situations, faut arrêter avec la stack MERN, c'est juste du marketing fait par MongoDB.
Dans la vaste majorité des situations, une base de donnée relationnelle (PostgreSQL par exemple) sera bien plus adaptée.
C'est l'inverse enfaite, dans 99% des cas il faut utiliser une base de données flexible puisque que dans 99% des cas il faut changer le schéma de données tous les 2 ans suite aux évolutions des besoins / objectifs, etc.
Oui t'as le droit de changer le schéma de tes tables SQL effectivement.
Pas croyable le niveau sur ce forum.
Le 30 août 2023 à 13:10:43 Nuagedecube a écrit :
Le 30 août 2023 à 12:34:31 Grand__Smurf a écrit :
Probablement parce que c'est le plus mauvais choix qu'une startup peut faire ? Le but c'est d'arriver sur le marché le plus vite possibleQuel est l'intérêt de ne rien concevoir par vous-même ?
L'idée c'est de pas essayer de réinventer la roue (au final tu arrives à une roue carrée, mais bravo tu l'as fait toi-même, en partant de zéro
)
https://zestedesavoir.com/billets/4077/developpeurs-ne-reinventez-pas-la-roue1/
Le 30 août 2023 à 13:14:13 :
Le 30 août 2023 à 12:34:37 :
L'avantage de Ruby Or Rails c'est que c'est vraiment très rapide/facile de créer une application web.
Néanmoins, la scalabilité n'est pas incroyable.
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stackBon courage à toi !
Par contre conseiller le framework Express pour une startup il vaut mieux s'abstenir de parler ...
Bah pourquoi ?
Peu maintenu à jour depuis pas mal d'années, des soucis de sécurité avec les promises (la gestion d'erreur) qui sont pas gérer par le framework, et d'autres choses qui me passent au dessus de la tête.
Si tu veux un framework low-scope comme Express, dans l'écosystème tu trouves Fastify qui lui est maintenu, qui possède davantages de features par défaut (personne n'utilise qu'un routeur de toute façon), l'écosystème de plugins/hooks est plus robuste avec pas mal de lib maintenu par le core team et tu peux intégrer les librairies compatible à Express avec un de ces plugins, en gros c'est assez « gratuit » d'utiliser Fastify dans ce contexte, une meilleure intégration TS aussi, très facile à étendre, et une philosophie de "plugin" qui t'oriente vers des archis modulaire.
Si tu veux quelque chose de "full-featured", tu voudrais utiliser quelque chose comme NestJS (même s'il se base sur express, au moins c'est pas qu'un routeur), AdonisJS qui propose une bonne DX, et probablement un ou deux autres mais que je connais pas vraiment (RedwoodJS qui me vient comme ça).
Sur HN et pas mal de discord on voit pas mal de React (via NextJS) d'utiliser pour ces projets la.
Pour la DB, honnêtement Postgre ou MySql sont très bien, et offrent aussi des solutions orienté documents si nécessaire, et ça peut prendre de grosse charge de données hein, et au début pour aller plus vite tu peux utiliser du Planetscale (vitess/mysql en gros) ou Neon/Supabase (Postgresql) pour un bon moment déja, leurs free-tier sont généreux.
Je vais checker Fastify. 🙂
Merci !
Le 30 août 2023 à 08:47:12 :
NodeJS + React, c'est ce que tout le monde connait.Surtout pas Ruby, c'est un langage mort, surtout en Europe.
J'avais lu qu'utiliser React était pas bon pour le SEO. Ca peut poser problème pour une startup non ?
Le 30 août 2023 à 19:48:23 :
Peu maintenu à jour depuis pas mal d'années, des soucis de sécurité avec les promises (la gestion d'erreur) qui sont pas gérer par le framework, et d'autres choses qui me passent au dessus de la tête.Si tu veux un framework low-scope comme Express, dans l'écosystème tu trouves Fastify qui lui est maintenu, qui possède davantages de features par défaut (personne n'utilise qu'un routeur de toute façon), l'écosystème de plugins/hooks est plus robuste avec pas mal de lib maintenu par le core team et tu peux intégrer les librairies compatible à Express avec un de ces plugins, en gros c'est assez « gratuit » d'utiliser Fastify dans ce contexte, une meilleure intégration TS aussi, très facile à étendre, et une philosophie de "plugin" qui t'oriente vers des archis modulaire.
Si tu veux quelque chose de "full-featured", tu voudrais utiliser quelque chose comme NestJS (même s'il se base sur express, au moins c'est pas qu'un routeur), AdonisJS qui propose une bonne DX, et probablement un ou deux autres mais que je connais pas vraiment (RedwoodJS qui me vient comme ça).
Sur HN et pas mal de discord on voit pas mal de React (via NextJS) d'utiliser pour ces projets la.
Pour la DB, honnêtement Postgre ou MySql sont très bien, et offrent aussi des solutions orienté documents si nécessaire, et ça peut prendre de grosse charge de données hein, et au début pour aller plus vite tu peux utiliser du Planetscale (vitess/mysql en gros) ou Neon/Supabase (Postgresql) pour un bon moment déja, leurs free-tier sont généreux.
NextJS, tu proposes de l'utiliser pour du full stack ? Ou c'est juste pour le front avec fastify en back ?
La vraie question est qu'est ce que ton equipe connait. C'est ca qui est important pour une startup, c'est de pouvoir delivrer des proto rapidement. La stack en elle meme, on s'en fout un peu.
Le 31 août 2023 à 01:26:47 :
La vraie question est qu'est ce que ton equipe connait. C'est ca qui est important pour une startup, c'est de pouvoir delivrer des proto rapidement. La stack en elle meme, on s'en fout un peu.
Pas forcément. J'ai lu un article sur une entreprise qui avait démarré avec Elixir parce que ses deux dev étaient ultra motivés par cette techno.
A un moment, ils ont démissionné et l'entreprise a perdu beaucoup d'argent et galéré à trouver des personnes avec un bon niveau sur cette techno. Et aujourd'hui ils ont énormément de mal à recruter. ![]()
Ca peut coûter cher un mauvais choix de stack.
Le 30 août 2023 à 13:12:03 :
Le 30 août 2023 à 12:54:06 :
Le 30 août 2023 à 12:34:37 :
La stack MERN me parait plus adaptée :
https://www.mongodb.com/mern-stackMongoDB n'est pas adapté à 99% des situations, faut arrêter avec la stack MERN, c'est juste du marketing fait par MongoDB.
Dans la vaste majorité des situations, une base de donnée relationnelle (PostgreSQL par exemple) sera bien plus adaptée.
C'est l'inverse enfaite, dans 99% des cas il faut utiliser une base de données flexible puisque que dans 99% des cas il faut changer le schéma de données tous les 2 ans suite aux évolutions des besoins / objectifs, etc.
Bref encore un qui regrette d'avoir appris une techno qui devient obsolète mais c'est le jeu.
ALTER TABLE, ça prend environ 10s
Et en fait il n'y a pas d'un côté les BDD purement relationnelle et de l'autre les BDD non-relationnelle.
Aujourd'hui que se soit Mysql ou Postgresql tu peux stocker des données en json dans les colonnes. Et vu que tu peux rajouter des index sur ces colonnes dans Postgresql c'est très performant. Les benchmarks montrent que sur ce terrain Postgresql est même souvent plus performant que MongoDB.
Autrement dit une BDD comme Postgresql permet de faire tout ce que fais MongoDB et plus encore. Notamment les joins que tu vas terriblement avoir envie de faire dans certaines conditions avec MongoDB si bien qu'ils ont crée des sorte de substituts moins performant pour le faire. Sinon faut faire plusieurs requêtes et ça complexifie la logique dans le code.
Et bon la structure que tu ne mets pas dans ta BDD, tu fais que la reporter dans ton code. Ton programme est toujours structurer d'une manière ou d'une autre par la structure de tes données. C'est juste déplacer la contrainte à un endroit où elle devient moins sûre.
En terme d'obsolescence c'est plutôt le "NoSQL" qui est susceptible d'être concerné car bien que ces BDD soient surement utiles dans certains cas elles sont souvent utilisés là où elles ne devraient pas et quand la hype sera définitivement retombée (elle est déjà moins grande qu'à un moment) on les utilisera naturellement moins pour retrouver les BDD SQL classiques qui ont beaucoup évolués et qui en tout état de cause sont elle-même devenues des BDD NoSQL (Not Only SQL) puisque l'on peut maintenant déstructurer les données et les stocker en JSON dans des colonnes définies comme telle. Ce qui n'était pas le cas 10 ans en arrière.