Question

Si j'apprends Sinatra ou Padrino , cela aide-moi avec Ruby on Rails?

Je suppose que pour tous ces je besoin d'obtenir une meilleure compréhension de Ruby lui-même, mais ne (par exemple) Padrino traduire directement en compétences j'utiliser dans Ruby on Rails ou est-il indirect?

Je suis un programmeur PHP, mais, comme je l'ai utilisé frameworks PHP qui sont des clones de Ruby on Rails, je trouve qu'il est pas trop difficile.

Était-ce utile?

La solution

Cela pourrait être une opinion plus controversée, et je dois admettre que d'être nouvelle à la fois encore, mais comme quelqu'un qui vient de passer une semaine sur Sinatra, puis déplacé à Rails, je vous conseille d'aller tout droit Rails. Dans un premier temps, il semble comme il y a beaucoup plus à apprendre sur Rails, mais si vous allez écrire quelque chose modérément complexe, vous allez passer à Rails éventuellement, et il est moins de travail « désapprentissage » de Rails ce que vous devez écrire une application Sinatra que de choses réapprendre à faire de la façon Rails. Vous vous sauver la douleur d'avoir à changer de vitesse quand il se avère que votre projet vous avez commencé à Sinatra a été mieux fait dans Rails après tout (ce qui est arrivé à moi).

Cela ne signifie que ça va prendre un peu plus de temps pour se lever à la vitesse sur les rails. Je recommande de commencer par tutoriel de Michael Hartl et guides officiels . Cependant, mon conseil est spécifiquement orienté vers les développeurs existants qui savent déjà comment développer des applications web et sont plus susceptibles d'avoir des projets plus complexes à l'esprit que les débutants. marque Une nouvelle personne à la conception de l'application Web peut très bien apprécier la satisfaction immédiate que la construction d'une application Sinatra de base offrira, mais cela ne semble pas être vous.

Les développeurs expérimentés probablement que vous soutiennent pouvez certainement écrire des applications « modérément complexes » dans Sinatra aussi, et ils auront raison. Je pense que les forces de Sinatra sont en être une solution de repli pour les développeurs expérimentés qui veulent frapper une application rapide sans frais généraux de «Rails, et non comme une introduction à Ruby / Rails basée sur le développement d'applications web.

Autres conseils

Vous ne pouvez pas sauter l'étape d'apprendre Ruby, Ruby parce que chaque MVC prolonger, et si vous devez faire une personnalisation / optimisation importante que vous allez le faire en Ruby.

Mon conseil est d'apprendre une base Ruby (variables, blocs, modules, hash, ..), utiliser Ruby on Rails dans le monde réel, apprendre rack puis choisissez les meilleurs "morceaux" du monde Ruby qui répondent à vos besoins.

Padrino est basé sur Sinatra, qui à son tour est basé sur une grille qui est également la même interface de serveur Web Ruby mis en œuvre dans Rails. Alors oui, ils ont des caractéristiques communes, mais non, l'apprentissage Sinatra ne vous aidera pas beaucoup à apprendre Rails si vous n'apprenez pas Ruby avant.

Si vous avez utilisé les frameworks web avant que vous êtes déjà familier avec MVC, des modèles et des modèles. Ce que vous devez savoir est maintenant la syntaxe spécifique de cadre afin que vous devez travailler directement avec le cadre que vous voulez apprendre.

actions Rails et Sinatra quelques principes et des habitudes communes qui appartiennent à l'écosystème Ruby. Mais vous devez apprendre Ruby avant afin de mieux apprécier ces cadres.

Ne présumez pas l'étape « apprentissage Ruby » pour être une tâche facultative.

Rails => Ruby => Sinatra => Rails

Je l'ai Rails + Bootstrap d'abord, alors que mon livrable à la fin était vraiment brillante, ma capacité de personnaliser et de mise à niveau était vraiment fragile et vraiment très lent. De là, je me suis déplacé sur la syntaxe du langage Ruby, quelques livres de _Pourquoi et ainsi de suite, et ce genre de me donner un sens eu de certaines choses qui semblaient d'abord comme simplement « balles magiques ». Après un certain temps passé avec Ruby je pris autour de Sinatra, qui était vraiment amusant. Sinatra a permis de pousser un serveur local avec une page Web qui fonctionne pleinement avec une seule page de code! Il a permis pour moi d'expérimenter avec des bases de données et DataMapper d'une manière très intime. À l'heure actuelle, je suis de retour à Rails bougeais, et des choses comme les échafaudages, la génération de modèles, génération de contrôleur, etc ... ces choses sont magiques d'une manière totalement différente maintenant. Alors je dis:

  1. Rails

  2. Ruby Syntaxe

  3. Sinatra

  4. Rails

Rinse, Repeat ...

Je ne pense pas que Rails est une destination finale pour un développeur web garanti en utilisant Ruby (mais il est probable (..) Je travaille avec une société de logiciels qui a utilisé Ruby et non rails pour l'application Web j'ai commencé à descendre un chemin similaire que vous (PHP). Je voulais développer en utilisant Ruby et a commencé à examiner Rails mais trouvé assez difficile. Je commencé à apprendre des trucs de base Ruby et au début de ce processus que j'ai découvert Sinatra. Je l'ai aimé dès le début. l'apprentissage en utilisant Sinatra m'a permis de pièce par pièce ajouter dans diverses pierres précieuses comme un ORM ou d'authentification et de voir comment ils ont travaillé individuellement. Il y a beaucoup moins « pièces mobiles » dans une application à un stade précoce en utilisant Sinatra et je Interagir avec beaucoup pour moi qui a été préféré. de Rails et les gars de tout ce que je déduis de nos conversations, je pense que ce serait tout à fait indolore pour moi de développer un projet en utilisant Rails maintenant.

Alors mes deux cents est que pour certaines personnes, l'apprentissage d'abord Sinatra peut se révéler très utile. Mais différentes personnes apprennent différemment, donc je ne pense pas qu'il y ait une taille unique réponse à cette question.

Sinatra Lean, puis Rails.

Rails a beaucoup de construit dans la « magie » qui signifie que vous n'avez pas vraiment besoin de savoir comment tout fonctionne pour l'obtenir et en cours d'exécution.

Ensuite, lorsque vous avez décidé de ramasser Rails, vous aurez une meilleure compréhension de ce qui se passe réellement. La « magie » existe toujours; il vous suffit de mieux comprendre la façon dont son fait sa chose. De cette façon, si quelque chose se brise, vous aurez une meilleure compréhension de la façon de le corriger.

Bonne chance!

Si vous voulez apprendre rails un bon moyen est de suivre la feuille de route qui est tracée sur ce post de blog. Il est ce que je faisais et ce fut un bon début. Il est évident que si vous connaissez déjà PHP il y a des étapes que vous pouvez sauter le plus probable, mais dans l'ensemble il est une approche vraiment bien de petits pas vers l'apprentissage des rails http://techiferous.com/2010/07/roadmap-for-learning-rails/

Je voulais juste ajouter mon avis que oui, l'apprentissage Sinatra ou Padrino va certainement vous aider à apprendre Rails. Dans le sens où il fera la transition de PHP (ou autre) Rails beaucoup moins intimidant. Comme wuliwong dit, Sinatra et Padrino sont beaucoup moins complexes que Rails. En fait, Rails est trop complexe pour son propre bien, à mon avis, le routage dans Rails est un peu un cauchemar, mais nous allons pas se laisser distraire.

En outre, alors il est vrai que vous ne pouvez pas apprendre Rails sans apprendre Ruby, il n'y a aucune raison pour que vous ne pourriez pas apprendre Ruby comme vous LEAR Rails (ou Sinatra / Padrino), il est une façon amusante d'apprendre la langue.

J'ai commencé avec Rails directement, sans connaissance de Ruby du tout, venant de PHP. Est-ce que beaucoup de tutoriels là-bas, acheté quelques livres et conservés piocher sur. Après environ 7 mois de travail avec Rails je me suis déplacé à Padrino pour construire une API et immédiatement aimé sa simplicité par rapport à Rails.

Une fois que vous obtenez bien, Rails a beaucoup de magie haut de gamme qui est impressionnant, mais pendant que vous êtes débutant, il est très accablant. Sinatra / Padrino vous permet de commencer plus petit, plus facile et continuer à ajouter.

Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top