Django (Python) ou Ruby on Rails (Ruby) ?

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir,

Je me présente Kenshimdev, 20 ans, développeur web avec à peu près 4 ans d'expérience à mon actif. Je suis tout d'abord un passionné d'informatique même si j'ai décidé d'en faire mon métier ;) .

Si je viens vers vous aujourd'hui c'est parce que j'ai toujours utilisé le PHP pour dynamiser mes sites. Cependant, je souhaiterai évoluer et passer à un langage tel que le Ruby ou le Python.

Pourriez-vous me donner vos retours ? L'idée n'est pas de débattre sur quel langage est le mieux, mais surtout sur vos expériences. Sur des cas concrets, de grosses applications web, etc.

Django : https://www.djangoproject.com/

Ruby on Rails : http://rubyonrails.org/

Merci à tous

Kenshimdev

Édité par kenshimdev

+0 -0

Je suis un ruby fan boy et donc je vais dire RoR parce que c'est le seul que je connais et que j'utilise.

  • Il utilise le moteur de template .erb qui permet grâce a des balises <=% => d'insérer du ruby dans une page HTML et utilise sass comme préprocesseur du css.

  • Les fichiers de config sont plutôt en yaml. Pour creer ou rajouter des pages/templates/routers quelques commandes suffisent.

  • les failles de sécurité comme les injections xss basiques sont par défaut déjà comblées donc on gagne un peu de temps de ce côté là.

Défauts: plutôt grosse usine a gaz, c est assez opaque dans son fonctionnement interne et l'installation est assez lourde. Mais c'est un problème inerant au langage, le ruby est un langage très haut niveau et avec un gros niveau d'abstraction.

  • autre avantage apporté par le langage: la possibilité d'utiliser des gems et donc une grande quantité d'outils supplémentaires.

Conclusion: RoR est un framework à utiliser pour des moyennes ou grosses applications web parce que sinon cela devient beaucoup trop complexe et gros pour un simple site ou une petite appli.

Édité par GouleFutée

+0 -0

Je vais parler de Python et Django car je connais pas Ruby et RoR et que ce site web est codé avec Django !

  • Le moteur de template de Django est très très similaire à Jinja, qui permet d'utiliser des variables et des instructions Python (tu peux toi-même y intégrer des fonctions, etc c'est très puissant)
  • Il y a un fichier de configuration (par exemple, voici celui de Zeste de Savoir) pour le site web. Pour le reste, Django suit le patron MVP. Pour la configuration, le modèle et la vue, c'est en Python.
  • Django gère bien entendu la sécurité de l'application (mais aussi fait de l'abstraction au niveau de la base de données et propose une palanquée de fonctions, ce qui peut faire usine à gaz)
  • Python a lui aussi ses gems appelés package pour éviter de réinventer la roue (en voici une relativement petit liste) ! Tout ça se gère assez facilement avec pip (disponible directement en installant Python). Si jamais tu veux utiliser des versions différentes de Python sur un même ordinateur, tu peux créer des environnements virtuels.

Tout comme RoR, Django est fait pour les moyennes ou grosses applications. Pour des applications plus petites il y a pas mal de micro-framework de disponibles (comme par exemple Bottle ou CherryPi)

Franchement, je crois pas qu'il y ait une grande différence entre Ruby et Python donc je te conseille de tester les deux, regarder leur syntaxe et de choisir celui que tu préfères ! Si tu choisis Python, tu peux lire ces deux articles : Qu’est-ce qu’on peut faire avec Python ? et Message de service aux débutants en Python. Pour l'apprentissage du langage, tu peux commencer avec ce tutoriel qui n'est malheureusement pas fini.

Médicament flemmard aux pul(p)sions imprécises. “Don’t wait for the perfect moment. Take the moment and make it perfect.”

+1 -0
Staff

Pers je suis plutôt Python/Django mais sérieusement je pense que la plus grosse différence entre les deux est le langage derrière. Python et ruby ont des logiques différentes. Tu ferais mieux de t'orienter vers le langage que tu préfère car les deux framework sont globalement équivalent

+4 -0

Bonjour à toi,

je viens également de PHP, plus précisément de Laravel pour le dev web. J'ai testé Django mais n'ai pas du tout accroché à l'organisation des fichiers, à la gestion des urls, etc… Par contre j'ai adoré Flask, même si le framework demande un peu de configuration pour des projets conséquents.

J'ai trouvé ce guide qui m'a été très utile à structurer tout ça.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte