(Avertissement: J'ai posé cette question hier sur Hacker Nouvelles . Alors que les réponses étaient bons, il y avait un manque notable de discussion technique et plus d'un « vous devez utiliser des rails parce que c'est ce que vous savez ». Depuis Joel et Jeff indiquent clairement qu'ils ne me dérange pas de questions reposts d'autres sites ... et depuis que j'apprécie vraiment les réponses que je trouve ici ... ici va) em> p>
Je sais que ce poste est un infâme « et » question, et sans doute redondant avec des messages plus anciens. Cependant, la plupart des informations que je trouve sur Rails par rapport à Django est obsolète et basée sur des versions beaucoup plus anciennes des cadres, donc s'il vous plaît pardonnez-moi. P>
D'abord et avant tout ... Je suis un gars Rails. Je suis venu il y a trois ans et vraiment apprécié beaucoup de ce qu'il a apporté à la table. Je ne suis pas seulement un gars Ruby ... J'ai environ 11 ans d'expérience totale, y compris Java, C / C ++, Perl, Tcl, (un peu) Python, et plus encore. P>
Quoi qu'il en soit, j'ai une idée, je crois, de dominer le monde. Je l'ai déjà convaincu quelques personnes il sera aussi bien et avoir des amis et le financement de la famille à prendre certains développeurs offshore et l'obtenir en version bêta le plus rapidement possible. P>
Maintenant, cependant, je reste à la décision de ce que la technologie à utiliser. Alors que je l'ai vraiment apprécié Ruby ... Je suis de plus en plus fatigué de la magie, et l'abus des classes ouvertes. Il est très agréable quand vous avez besoin d'injecter un comportement rapidement, mais il peut devenir une vraie douleur quand vous devez maintenir votre projet, ou l'un des plug-ins dont il dépend. Personnellement, je préfère Ruby sur Python (en grande partie en raison de blocs), mais j'envie de la clarté, première attitude de la communauté Python. Compte tenu de cette frustration, je considère sérieusement une profonde plongée dans Django et de l'utiliser pour ce projet. P>
Les points positifs que je vois sur le côté Rails sont: p>
Rails de drawbacks comprennent: p>
Les avantages perçus) (sur le côté Django: p>
de Django Désavantages: p>
Alors, ceci est mon processus de pensée à ce jour. Je suis assez à l'aise que je pourrais venir à la vitesse rapidement Django, et je les bases de Python encore dans ma mémoire quelque part. Mais je voulais connaître votre opinion que je respecte vraiment la vision et l'expérience de beaucoup de gens que je lis ici. P>
Je vous remercie de votre aide. Je pense vraiment que cette idée prendra son envol, il est donc très important pour moi de prendre la décision de bonne technologie. P>
Et dire choisir Rails simplement parce que j'ai l'expérience là-bas juste ne sonne pas juste. Si tel était le cas, je serais encore en utilisant Perl ou C. P>
Merci! P>
4 Réponses :
Vous avez oublié au moins un avantage des rails - Testabilité améliorée via RSPEC / concombre. Vraiment, l'avantage principal (supplémentaire) est l'attention sur Ruby / Rails de la communauté des tests agiles. L'utilisation de tests de langue naturelle devrait améliorer considérablement la capacité de raisonner de vos tests et de promouvoir la compréhensibilité. À certains égards, cela compenserait la "magie" que vous vous abhorez en le documentant via des tests facilement lisibles. P>
Au-delà de cela, je suggérerais qu'un nouveau projet que vous dépensez de l'argent de vos amis et de votre famille n'est probablement pas la situation idéale pour apprendre une nouvelle langue / cadre. Pourquoi ajouter le risque supplémentaire à une entreprise déjà risquée? P>
+1 pour le deuxième paragraphe. Très bon point.
Je vais simplement discuter avec beaucoup de vos déclarations: p>
Depuis que vous connaissez déjà des rails, vous devez vous en tenir à moins que vous sachiez que cela va être douloureux. En outre, si vous n'êtes pas satisfait des rails, je vous recommanderais de passer à travers des tutoriels pour certaines des autres frameworks Python existant, comme les turbogears 2, BFG et Grok. Il se peut que vous préfériez quelque chose de moins monolithique ou plus complet que les rails / django. P>
http://bfg.repoze.org/ http://grok.zope.org/ http://turbogesears.org/ p>
La déclaration à propos de l'hirondelle d'ALDENDEN est extrêmement valide - ne prenez jamais de décisions de développement basées sur la technologie pouvant pantalonner, à moins que votre développement ne soit bien sûr de cette technologie ...
[republie de HN, même lien que question que je voudrais entendre votre (vous n'avez pas répondu à HN) et ainsi de réponse.] P>
Je suis évidemment biaisé, alors que je gère une société de développement de Django. Cela dit, je vais commencer par répondre aux inconvénients de Django, P>
courbe d'apprentissage.: Pas plus que tout autre cadre. De plus, la documentation est Top Notch. (La documentation était ce qui m'a vendu quand j'évaluais.) P> li>
La communauté plus petite: Certainement vrai. Mais au-delà d'une taille critique, la taille de la communauté n'a pas d'importance. Django est bien au-dessus de cette taille. (IRC: Tout temps donné ~ 200 Devs. Google Group: plus de 14000 utilisateurs) P> Li>
cycle de développement plus lent du projet lui-même?: Pourquoi? Si vous donnez plus de détails, je peux répondre à cela. P> li>
(ONU) DISPONIBILITÉ DES RESSOURCES OFFSHORE: Certainement moins que des rails, mais toujours pas aussi mauvais que vous auriez pensé. Une très petite liste, http://uswaretech.com/blog/2009/03 / Développement Web-Sociétés ... P> LI> ol>
C'est dit, étant donné les informations que vous avez, je choisirais des rails. Même si la plupart des travaux que vous recherchez à l'étranger, votre expérience des rails existantes serait un avantage énorme, ce qui vous aidait à évaluer les fournisseurs, à garder une piste. P>
sur une note semi-liée, Django est moins mature / la plus petite communauté est trop détériorée, certaines figures, p>
Merci. J'apprécie votre réponse (je n'ai pas répondu à hn parce que quelqu'un de la grosse frappe mon mot de passe deux fois lors de la création du compte, et ils ne vous donnent aucun moyen de récupérer). Je me penche en fait maintenant vers Django, même si beaucoup ont recommandé que je ne le fais pas. Je vous en suis reconnaissant.
J'ai une perspective différente de ces deux cadres sur la façon dont ils se comparent. Je suis toujours noob dans ces deux comme je suis un développeur Java à la recherche de quelque chose de plus excitant à faire sur ma spareme. J'ai observé ces deux cadres de près et j'ai trouvé cela: P>
Comme vous le savez, les rails sont nés à partir d'une application Web faite par 37Signaux, qui affecte l'architecture de si. Je n'ai pas vraiment utilisé des rails dans une application réelle, mais je pense que je pourrais l'utiliser pour mon prochain projet d'animal de compagnie. p>
Django Né d'un site de journal, donc d'une manière et d'une manière qui affecte également l'architecture de Django elle-même. Je n'ai utilisé que Django dans mon site Web Sandbox et j'aime beaucoup, j'aime vraiment la construction de sites Web avec elle. p>
Certaines personnes pourraient ne pas être d'accord pour moi, car ils peuvent trouver de la solution de contournement pour utiliser des rails comme sites Web et Django en tant qu'application Web. Mais c'est ce que je pense distingua les deux sur la base de leur architecture. Ainsi, cela définira également ce qu'est-ce qu'ils sont bons. N'hésitez pas à être en désaccord avec moi: -) p>
acclamations. P>
Dupliqué possible de rails ou django? (ou autre chose?)