SlideShare a Scribd company logo
1 of 63
Download to read offline
Introduction
                                Comparision
                                 Uniqueness
                                  Conclusion




                     Django v/s Ruby on Rails
                A Newbie Web Developer’s Perspective


        Shreyank Gupta/shreyankg@fedoraproject.org


                                 March 20, 2010




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                Comparision    First Look
                                 Uniqueness    Documentation
                                  Conclusion




                              Fascination




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


From the Website


Ruby on Rails                                      Django
Web Development that doesn’t                       The Web framework for
hurt                                               perfectionists (with deadlines).
    Open-source web                                       Django makes it easier to
    development framework                                 build better Web apps more
    that’s optimised for                                  quickly and with less code.
    programmer’s happiness and                            Django is a high-level
    sustainable productivity.                             Python Web framework that
    Lets you write beautiful                              encourages rapid
    code by favoring convention                           development and clean,
    over configuration.                                    pragmatic design.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


From the Website


Ruby on Rails                                      Django
Web Development that doesn’t                       The Web framework for
hurt                                               perfectionists (with deadlines).
    Open-source web                                       Django makes it easier to
    development framework                                 build better Web apps more
    that’s optimised for                                  quickly and with less code.
    programmer’s happiness and                            Django is a high-level
    sustainable productivity.                             Python Web framework that
    Lets you write beautiful                              encourages rapid
    code by favoring convention                           development and clean,
    over configuration.                                    pragmatic design.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


From the Website


Ruby on Rails                                      Django
Web Development that doesn’t                       The Web framework for
hurt                                               perfectionists (with deadlines).
    Open-source web                                       Django makes it easier to
    development framework                                 build better Web apps more
    that’s optimised for                                  quickly and with less code.
    programmer’s happiness and                            Django is a high-level
    sustainable productivity.                             Python Web framework that
    Lets you write beautiful                              encourages rapid
    code by favoring convention                           development and clean,
    over configuration.                                    pragmatic design.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


From the Website


Ruby on Rails                                      Django
Web Development that doesn’t                       The Web framework for
hurt                                               perfectionists (with deadlines).
    Open-source web                                       Django makes it easier to
    development framework                                 build better Web apps more
    that’s optimised for                                  quickly and with less code.
    programmer’s happiness and                            Django is a high-level
    sustainable productivity.                             Python Web framework that
    Lets you write beautiful                              encourages rapid
    code by favoring convention                           development and clean,
    over configuration.                                    pragmatic design.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


From the Website


Ruby on Rails                                      Django
Web Development that doesn’t                       The Web framework for
hurt                                               perfectionists (with deadlines).
    Open-source web                                       Django makes it easier to
    development framework                                 build better Web apps more
    that’s optimised for                                  quickly and with less code.
    programmer’s happiness and                            Django is a high-level
    sustainable productivity.                             Python Web framework that
    Lets you write beautiful                              encourages rapid
    code by favoring convention                           development and clean,
    over configuration.                                    pragmatic design.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


Documentation



  Ruby on Rails
      Guides - http://guides.rubyonrails.org/
       RailsCasts - http://railscasts.com/

  Django
      Docs - http://docs.djangoproject.com/
       DjangoSnippets - http://www.djangosnippets.org/




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


Documentation



  Ruby on Rails
      Guides - http://guides.rubyonrails.org/
       RailsCasts - http://railscasts.com/

  Django
      Docs - http://docs.djangoproject.com/
       DjangoSnippets - http://www.djangosnippets.org/




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    First Look
                                     Uniqueness    Documentation
                                      Conclusion


Documentation



  Ruby on Rails
      Guides - http://guides.rubyonrails.org/
       RailsCasts - http://railscasts.com/

  Django
      Docs - http://docs.djangoproject.com/
       DjangoSnippets - http://www.djangosnippets.org/




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                               The Rails Way
                                Comparision
                                               Balance
                                 Uniqueness
                                               Disbalance
                                  Conclusion




                       Discipline v/s Flexibility




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                 The Rails Way
                                  Comparision
                                                 Balance
                                   Uniqueness
                                                 Disbalance
                                    Conclusion




The Rails Way
Rails is opinionated software. That is, it assumes that there is a
best way to do things, and its designed to encourage that best way
and in some cases to discourage alternatives. If you learn “The
Rails Way”, you’ll probably discover a tremendous increase in
productivity. If you persist in bringing old habits from other
languages to your Rails development, and trying to use patterns
you learned elsewhere, you may have a less happy experience.
         - http://guides.rubyonrails.org/getting started.html




  Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


The Rails Way

  DRY - Dont Repeat Yourself
  Writing the same code over and over again is a bad thing.

  Convention Over Configuration
  Rails makes assumptions about what you want to do and how
  you’re going to do it, rather than letting you tweak every little
  thing through endless configuration files.

  REST
  Organizing your application around resources and standard HTTP
  verbs is the fastest way to go.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


The Rails Way

  DRY - Dont Repeat Yourself
  Writing the same code over and over again is a bad thing.

  Convention Over Configuration
  Rails makes assumptions about what you want to do and how
  you’re going to do it, rather than letting you tweak every little
  thing through endless configuration files.

  REST
  Organizing your application around resources and standard HTTP
  verbs is the fastest way to go.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


The Rails Way

  DRY - Dont Repeat Yourself
  Writing the same code over and over again is a bad thing.

  Convention Over Configuration
  Rails makes assumptions about what you want to do and how
  you’re going to do it, rather than letting you tweak every little
  thing through endless configuration files.

  REST
  Organizing your application around resources and standard HTTP
  verbs is the fastest way to go.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                               The Rails Way
                                Comparision
                                               Balance
                                 Uniqueness
                                               Disbalance
                                  Conclusion




                                      Balance




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Architecture



  Ruby on Rails
  MVC : Model - Controller - View

                                              versus

  Django
  MTV : Model - Template - View




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Architecture



  Ruby on Rails
  MVC : Model - Controller - View

                                              versus

  Django
  MTV : Model - Template - View




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Architecture



  Ruby on Rails
  MVC : Model - Controller - View

                                              versus

  Django
  MTV : Model - Template - View




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Object Relational Mapping - ORM



  Ruby on Rails
  Active Records

                                              versus

  Django
  Django Model Instance Reference




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Object Relational Mapping - ORM



  Ruby on Rails
  Active Records

                                              versus

  Django
  Django Model Instance Reference




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Object Relational Mapping - ORM



  Ruby on Rails
  Active Records

                                              versus

  Django
  Django Model Instance Reference




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Bundled JavaScript


  Ruby on Rails
      Comes with bundled copies of:
              Prototype.js
              script.aculo.us
       JavaScriptHelper part of the framework.

  Django
      Ships JQuery as a part of the Admin Interface.
       Not a part of the framework.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                               The Rails Way
                                Comparision
                                               Balance
                                 Uniqueness
                                               Disbalance
                                  Conclusion




                                   Disbalance




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Views/Templates



  Ruby on Rails
  Rails Rendering/Layout


                                              versus

  Django
  Django Templating




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Views/Templates



  Ruby on Rails
  Rails Rendering/Layout


                                              versus

  Django
  Django Templating




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Views/Templates



  Ruby on Rails
  Rails Rendering/Layout


                                              versus

  Django
  Django Templating




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Directory Structure


  Ruby on Rails
  $ rails newrails

  Django
  $ django-admin startproject newdjango
  $ cd newdjango
  $ python manage.py startapp myapp

  Now let’s have a look at the tree.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Directory Structure


  Ruby on Rails
  $ rails newrails

  Django
  $ django-admin startproject newdjango
  $ cd newdjango
  $ python manage.py startapp myapp

  Now let’s have a look at the tree.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Directory Structure


  Ruby on Rails
  $ rails newrails

  Django
  $ django-admin startproject newdjango
  $ cd newdjango
  $ python manage.py startapp myapp

  Now let’s have a look at the tree.



    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Authentication Modules



  Ruby on Rails
      No built-in authentication framework.
      Third party authentication plugins available:
              Restful Authentication.
              Authlogic

  Django
      Authentication part of the framework.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Authentication Modules



  Ruby on Rails
      No built-in authentication framework.
      Third party authentication plugins available:
              Restful Authentication.
              Authlogic

  Django
      Authentication part of the framework.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Authentication Modules



  Ruby on Rails
      No built-in authentication framework.
      Third party authentication plugins available:
              Restful Authentication.
              Authlogic

  Django
      Authentication part of the framework.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Authentication Modules



  Ruby on Rails
      No built-in authentication framework.
      Third party authentication plugins available:
              Restful Authentication.
              Authlogic

  Django
      Authentication part of the framework.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Authentication Modules



  Ruby on Rails
      No built-in authentication framework.
      Third party authentication plugins available:
              Restful Authentication.
              Authlogic

  Django
      Authentication part of the framework.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Learning curve



  Ruby on Rails
      Steep Learning Curve
       Lots of framework specific stuff to learn

  Django
      Slight learning curve if you are already familier with Python.
       The Django template language ;-)




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Learning curve



  Ruby on Rails
      Steep Learning Curve
       Lots of framework specific stuff to learn

  Django
      Slight learning curve if you are already familier with Python.
       The Django template language ;-)




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Learning curve



  Ruby on Rails
      Steep Learning Curve
       Lots of framework specific stuff to learn

  Django
      Slight learning curve if you are already familier with Python.
       The Django template language ;-)




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                   The Rails Way
                                    Comparision
                                                   Balance
                                     Uniqueness
                                                   Disbalance
                                      Conclusion


Learning curve



  Ruby on Rails
      Steep Learning Curve
       Lots of framework specific stuff to learn

  Django
      Slight learning curve if you are already familier with Python.
       The Django template language ;-)




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                  The Rails Way
                                   Comparision
                                                  Balance
                                    Uniqueness
                                                  Disbalance
                                     Conclusion


Database Schema Management



  Ruby on Rails
  $ rake db:migrate

                                             versus

  Django
  $ python manage.py syncdb




   Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                  The Rails Way
                                   Comparision
                                                  Balance
                                    Uniqueness
                                                  Disbalance
                                     Conclusion


Database Schema Management



  Ruby on Rails
  $ rake db:migrate

                                             versus

  Django
  $ python manage.py syncdb




   Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                                  The Rails Way
                                   Comparision
                                                  Balance
                                    Uniqueness
                                                  Disbalance
                                     Conclusion


Database Schema Management



  Ruby on Rails
  $ rake db:migrate

                                             versus

  Django
  $ python manage.py syncdb




   Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                Comparision    Ruby on Rails
                                 Uniqueness    Django
                                  Conclusion




              Unique (Selling|Breaking) Points




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


REST - Representational State Transfer

       Using resource identifiers (URLs) to represent resources
       Transferring representations of the state of that resource
       between system components.

  Example
  to a Rails application a request such as:
  DELETE /photos/17
  would be understood to refer to a photo resource with the ID of
  17, and to indicate a desired action — deleting that resource.
  REST is a natural style for the architecture of web applications,
  and Rails makes it even more natural by using conventions to shield
  you from some of the RESTful complexities and browser quirks.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


REST - Representational State Transfer

       Using resource identifiers (URLs) to represent resources
       Transferring representations of the state of that resource
       between system components.

  Example
  to a Rails application a request such as:
  DELETE /photos/17
  would be understood to refer to a photo resource with the ID of
  17, and to indicate a desired action — deleting that resource.
  REST is a natural style for the architecture of web applications,
  and Rails makes it even more natural by using conventions to shield
  you from some of the RESTful complexities and browser quirks.


    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Migrations
  Definition
  Migrations are a convenient way for you to alter your database in a
  structured and organised manner. You could edit fragments of SQL by
  hand but you would then be responsible for telling other developers that
  they need to go and run it. You’d also have to keep track of which changes
  need to be run against the production machines next time you deploy.

  Proof.
  # This file is auto-generated from the current state of the
  database. Instead of editing this file,
  # please use the migrations feature of Active Record to
  incrementally modify your database, and
  # then regenerate this schema definition.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Migrations
  Definition
  Migrations are a convenient way for you to alter your database in a
  structured and organised manner. You could edit fragments of SQL by
  hand but you would then be responsible for telling other developers that
  they need to go and run it. You’d also have to keep track of which changes
  need to be run against the production machines next time you deploy.

  Proof.
  # This file is auto-generated from the current state of the
  database. Instead of editing this file,
  # please use the migrations feature of Active Record to
  incrementally modify your database, and
  # then regenerate this schema definition.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Rails Scaffold




  Definition
  Scaffolds an entire resource, from model and migration to
  controller and views, along with a full test suite. The resource is
  ready to use as a starting point for your RESTful,
  resource-oriented application.




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Cross-Reference API




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Django Admin Interface




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Python APIs



  Django has the advantage of:

       High quality Python APIs available for a lot of services.
       Equivalent Ruby APIs not as good quality.

  Example
       Mark Pilgrim’s Universal Feed Parser v/s rFeedParser
       Ruby parser for kickstart issue




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Python APIs



  Django has the advantage of:

       High quality Python APIs available for a lot of services.
       Equivalent Ruby APIs not as good quality.

  Example
       Mark Pilgrim’s Universal Feed Parser v/s rFeedParser
       Ruby parser for kickstart issue




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Python APIs



  Django has the advantage of:

       High quality Python APIs available for a lot of services.
       Equivalent Ruby APIs not as good quality.

  Example
       Mark Pilgrim’s Universal Feed Parser v/s rFeedParser
       Ruby parser for kickstart issue




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Python APIs



  Django has the advantage of:

       High quality Python APIs available for a lot of services.
       Equivalent Ruby APIs not as good quality.

  Example
       Mark Pilgrim’s Universal Feed Parser v/s rFeedParser
       Ruby parser for kickstart issue




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


Python APIs



  Django has the advantage of:

       High quality Python APIs available for a lot of services.
       Equivalent Ruby APIs not as good quality.

  Example
       Mark Pilgrim’s Universal Feed Parser v/s rFeedParser
       Ruby parser for kickstart issue




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                    Comparision    Ruby on Rails
                                     Uniqueness    Django
                                      Conclusion


The syncdb Drawback
  Syncdb will not alter existing tables
  syncdb will only create tables for models which have not yet been
  installed. It will never issue ALTER TABLE statements to match changes
  made to a model class after installation. Changes to model classes and
  database schemas often involve some form of ambiguity and, in those
  cases, Django would have to guess at the correct changes to make. There
  is a risk that critical data would be lost in the process.
  If you have made changes to a model and wish to alter the database tables
  to match, use the sql command to display the new SQL structure and
  compare that to your existing table schema to work out the changes.
               - http://docs.djangoproject.com/en/dev/ref/django-admin




    Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                Comparision    Alternatives
                                 Uniqueness    Discussion
                                  Conclusion




                              Alternatives




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails
Introduction
                                Comparision    Alternatives
                                 Uniqueness    Discussion
                                  Conclusion




                                           !?!




Shreyank Gupta/shreyankg@fedoraproject.org     Django v/s Ruby on Rails

More Related Content

Viewers also liked

Resume_OmPrakash_12yrs
Resume_OmPrakash_12yrs Resume_OmPrakash_12yrs
Resume_OmPrakash_12yrs OM GUPTA
 
Distributed Ruby and Rails
Distributed Ruby and RailsDistributed Ruby and Rails
Distributed Ruby and RailsWen-Tien Chang
 
Outsourcing of Supply Chain Management
Outsourcing of Supply Chain Management Outsourcing of Supply Chain Management
Outsourcing of Supply Chain Management VINAY KENKERE
 
Roles_ResponsibilitiesLetter
Roles_ResponsibilitiesLetterRoles_ResponsibilitiesLetter
Roles_ResponsibilitiesLetterMayank Thirani
 
Labor Powerpoint by ChiWei, Allen, and Raymond
Labor Powerpoint by ChiWei, Allen, and RaymondLabor Powerpoint by ChiWei, Allen, and Raymond
Labor Powerpoint by ChiWei, Allen, and Raymondsmuench
 
Labour problem,industrailization, uranization
Labour problem,industrailization, uranizationLabour problem,industrailization, uranization
Labour problem,industrailization, uranizationStudent
 
Labour issues in Indian Labour Market
Labour issues in Indian Labour MarketLabour issues in Indian Labour Market
Labour issues in Indian Labour MarketSajna Fathima
 
Issues in Pakistan Industry
Issues in Pakistan IndustryIssues in Pakistan Industry
Issues in Pakistan IndustrySaroosh Zahid
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Konstantin Gredeskoul
 

Viewers also liked (15)

Labor issue
Labor issueLabor issue
Labor issue
 
Resume_OmPrakash_12yrs
Resume_OmPrakash_12yrs Resume_OmPrakash_12yrs
Resume_OmPrakash_12yrs
 
Distributed Ruby and Rails
Distributed Ruby and RailsDistributed Ruby and Rails
Distributed Ruby and Rails
 
Outsourcing of Supply Chain Management
Outsourcing of Supply Chain Management Outsourcing of Supply Chain Management
Outsourcing of Supply Chain Management
 
Warehouse and distribution footprint
Warehouse and distribution footprintWarehouse and distribution footprint
Warehouse and distribution footprint
 
Roles_ResponsibilitiesLetter
Roles_ResponsibilitiesLetterRoles_ResponsibilitiesLetter
Roles_ResponsibilitiesLetter
 
Vajidmr resume
Vajidmr resumeVajidmr resume
Vajidmr resume
 
Labor Powerpoint by ChiWei, Allen, and Raymond
Labor Powerpoint by ChiWei, Allen, and RaymondLabor Powerpoint by ChiWei, Allen, and Raymond
Labor Powerpoint by ChiWei, Allen, and Raymond
 
Kerala Land Assignment Rules-1964
Kerala Land Assignment Rules-1964Kerala Land Assignment Rules-1964
Kerala Land Assignment Rules-1964
 
Labour problem,industrailization, uranization
Labour problem,industrailization, uranizationLabour problem,industrailization, uranization
Labour problem,industrailization, uranization
 
Labour issues in Indian Labour Market
Labour issues in Indian Labour MarketLabour issues in Indian Labour Market
Labour issues in Indian Labour Market
 
Supply Chain Megatrends
Supply Chain MegatrendsSupply Chain Megatrends
Supply Chain Megatrends
 
Issues in Pakistan Industry
Issues in Pakistan IndustryIssues in Pakistan Industry
Issues in Pakistan Industry
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 
Resume
ResumeResume
Resume
 

Similar to Ruby on Rails versus Django - A newbie Web Developer's Perspective -Shreyank Gupta

Django vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularity
Django vs. Ruby on Rails Comparison: Web Frameworks Performance and PopularityDjango vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularity
Django vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularityrorbitssoftware
 
Django Vs Ruby on Rails
Django Vs Ruby on Rails Django Vs Ruby on Rails
Django Vs Ruby on Rails Ria Katiyar
 
Top Web Development Trends in 2023
Top Web Development Trends in 2023Top Web Development Trends in 2023
Top Web Development Trends in 2023UmanoLogic
 
Top front end website development tools and frameworks
Top front end website development tools and frameworksTop front end website development tools and frameworks
Top front end website development tools and frameworksSovereign software solution
 
Ramya devi R internet of things
Ramya devi R internet of thingsRamya devi R internet of things
Ramya devi R internet of thingsPriyadharshiniVS
 
Advantages Of Using Django Framework To Build Scalable.pdf
Advantages Of Using Django Framework To Build Scalable.pdfAdvantages Of Using Django Framework To Build Scalable.pdf
Advantages Of Using Django Framework To Build Scalable.pdfMindfire LLC
 
Python Web Frameworks: Django vs. Flask for Web Development
Python Web Frameworks: Django vs. Flask for Web DevelopmentPython Web Frameworks: Django vs. Flask for Web Development
Python Web Frameworks: Django vs. Flask for Web DevelopmentUncodemy
 
Why Django is The Go-To Framework For Python.pdf
Why Django is The Go-To Framework For Python.pdfWhy Django is The Go-To Framework For Python.pdf
Why Django is The Go-To Framework For Python.pdfMindfire LLC
 
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdfsandipanpaul16
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Alaina Carter
 
Top 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application DevelopmentTop 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application DevelopmentPaul Cook
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023ZimbleCodeAustralia
 
Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Clarion Technologies
 
Unleashing the Power of Django Building Web Applications with Ease.pdf
Unleashing the Power of Django Building Web Applications with Ease.pdfUnleashing the Power of Django Building Web Applications with Ease.pdf
Unleashing the Power of Django Building Web Applications with Ease.pdfPrakash775024
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business NeedsSofiaCarter4
 

Similar to Ruby on Rails versus Django - A newbie Web Developer's Perspective -Shreyank Gupta (20)

Django vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularity
Django vs. Ruby on Rails Comparison: Web Frameworks Performance and PopularityDjango vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularity
Django vs. Ruby on Rails Comparison: Web Frameworks Performance and Popularity
 
Django Vs Ruby on Rails
Django Vs Ruby on Rails Django Vs Ruby on Rails
Django Vs Ruby on Rails
 
Top Web Development Trends in 2023
Top Web Development Trends in 2023Top Web Development Trends in 2023
Top Web Development Trends in 2023
 
Top front end website development tools and frameworks
Top front end website development tools and frameworksTop front end website development tools and frameworks
Top front end website development tools and frameworks
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Ramya devi R internet of things
Ramya devi R internet of thingsRamya devi R internet of things
Ramya devi R internet of things
 
Website development tools
Website development toolsWebsite development tools
Website development tools
 
Advantages Of Using Django Framework To Build Scalable.pdf
Advantages Of Using Django Framework To Build Scalable.pdfAdvantages Of Using Django Framework To Build Scalable.pdf
Advantages Of Using Django Framework To Build Scalable.pdf
 
Python Web Frameworks: Django vs. Flask for Web Development
Python Web Frameworks: Django vs. Flask for Web DevelopmentPython Web Frameworks: Django vs. Flask for Web Development
Python Web Frameworks: Django vs. Flask for Web Development
 
Why Django is The Go-To Framework For Python.pdf
Why Django is The Go-To Framework For Python.pdfWhy Django is The Go-To Framework For Python.pdf
Why Django is The Go-To Framework For Python.pdf
 
NodeJS VS Python
NodeJS VS PythonNodeJS VS Python
NodeJS VS Python
 
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf
3_1_William_S_Vincent_Django_for_APIs_Build_web_APIs_with_Python.pdf
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
Top 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application DevelopmentTop 5 AngularJS Tool for Application Development
Top 5 AngularJS Tool for Application Development
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023
 
Django
DjangoDjango
Django
 
Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024Top 13 Backend Frameworks for Web development in 2024
Top 13 Backend Frameworks for Web development in 2024
 
Unleashing the Power of Django Building Web Applications with Ease.pdf
Unleashing the Power of Django Building Web Applications with Ease.pdfUnleashing the Power of Django Building Web Applications with Ease.pdf
Unleashing the Power of Django Building Web Applications with Ease.pdf
 
Django VS Laravel
Django VS LaravelDjango VS Laravel
Django VS Laravel
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs
 

More from ThoughtWorks

Online and Publishing casestudies
Online and Publishing casestudiesOnline and Publishing casestudies
Online and Publishing casestudiesThoughtWorks
 
Insurecom Case Study
Insurecom Case StudyInsurecom Case Study
Insurecom Case StudyThoughtWorks
 
Grameen Case Study
Grameen Case StudyGrameen Case Study
Grameen Case StudyThoughtWorks
 
Construction Techniques For Domain Specific Languages
Construction Techniques For Domain Specific LanguagesConstruction Techniques For Domain Specific Languages
Construction Techniques For Domain Specific LanguagesThoughtWorks
 
Concurrency patterns in Ruby
Concurrency patterns in RubyConcurrency patterns in Ruby
Concurrency patterns in RubyThoughtWorks
 
Concurrency patterns in Ruby
Concurrency patterns in RubyConcurrency patterns in Ruby
Concurrency patterns in RubyThoughtWorks
 
Lets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagiLets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagiThoughtWorks
 
Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices ThoughtWorks
 
Present and Future of Programming Languages - ola bini
Present and Future of Programming Languages - ola biniPresent and Future of Programming Languages - ola bini
Present and Future of Programming Languages - ola biniThoughtWorks
 
The ruby on rails i18n core api-Neeraj Kumar
The ruby on rails i18n core api-Neeraj KumarThe ruby on rails i18n core api-Neeraj Kumar
The ruby on rails i18n core api-Neeraj KumarThoughtWorks
 
Ruby 124C41+ - Matz
Ruby 124C41+  - MatzRuby 124C41+  - Matz
Ruby 124C41+ - MatzThoughtWorks
 
Mac ruby to the max - Brendan G. Lim
Mac ruby to the max - Brendan G. LimMac ruby to the max - Brendan G. Lim
Mac ruby to the max - Brendan G. LimThoughtWorks
 
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SProject Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SThoughtWorks
 
Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta ThoughtWorks
 
Aman kingrubyoo pnew
Aman kingrubyoo pnew Aman kingrubyoo pnew
Aman kingrubyoo pnew ThoughtWorks
 
HadoopThe Hadoop Java Software Framework
HadoopThe Hadoop Java Software FrameworkHadoopThe Hadoop Java Software Framework
HadoopThe Hadoop Java Software FrameworkThoughtWorks
 
Bootstrapping iPhone Development
Bootstrapping iPhone DevelopmentBootstrapping iPhone Development
Bootstrapping iPhone DevelopmentThoughtWorks
 
DSL Construction rith Ruby
DSL Construction rith RubyDSL Construction rith Ruby
DSL Construction rith RubyThoughtWorks
 

More from ThoughtWorks (20)

Online and Publishing casestudies
Online and Publishing casestudiesOnline and Publishing casestudies
Online and Publishing casestudies
 
Insurecom Case Study
Insurecom Case StudyInsurecom Case Study
Insurecom Case Study
 
Grameen Case Study
Grameen Case StudyGrameen Case Study
Grameen Case Study
 
BFSI Case Sudies
BFSI Case SudiesBFSI Case Sudies
BFSI Case Sudies
 
Construction Techniques For Domain Specific Languages
Construction Techniques For Domain Specific LanguagesConstruction Techniques For Domain Specific Languages
Construction Techniques For Domain Specific Languages
 
Concurrency patterns in Ruby
Concurrency patterns in RubyConcurrency patterns in Ruby
Concurrency patterns in Ruby
 
Concurrency patterns in Ruby
Concurrency patterns in RubyConcurrency patterns in Ruby
Concurrency patterns in Ruby
 
Lets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagiLets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagi
 
Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices
 
Present and Future of Programming Languages - ola bini
Present and Future of Programming Languages - ola biniPresent and Future of Programming Languages - ola bini
Present and Future of Programming Languages - ola bini
 
The ruby on rails i18n core api-Neeraj Kumar
The ruby on rails i18n core api-Neeraj KumarThe ruby on rails i18n core api-Neeraj Kumar
The ruby on rails i18n core api-Neeraj Kumar
 
Ruby 124C41+ - Matz
Ruby 124C41+  - MatzRuby 124C41+  - Matz
Ruby 124C41+ - Matz
 
Mac ruby to the max - Brendan G. Lim
Mac ruby to the max - Brendan G. LimMac ruby to the max - Brendan G. Lim
Mac ruby to the max - Brendan G. Lim
 
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G SProject Fedena and Why Ruby on Rails - ArvindArvind G S
Project Fedena and Why Ruby on Rails - ArvindArvind G S
 
Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta Glass fish rubyconf-india-2010-Arun gupta
Glass fish rubyconf-india-2010-Arun gupta
 
Aman kingrubyoo pnew
Aman kingrubyoo pnew Aman kingrubyoo pnew
Aman kingrubyoo pnew
 
HadoopThe Hadoop Java Software Framework
HadoopThe Hadoop Java Software FrameworkHadoopThe Hadoop Java Software Framework
HadoopThe Hadoop Java Software Framework
 
Bootstrapping iPhone Development
Bootstrapping iPhone DevelopmentBootstrapping iPhone Development
Bootstrapping iPhone Development
 
DSL Construction rith Ruby
DSL Construction rith RubyDSL Construction rith Ruby
DSL Construction rith Ruby
 
Cloud Computing
Cloud  ComputingCloud  Computing
Cloud Computing
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Ruby on Rails versus Django - A newbie Web Developer's Perspective -Shreyank Gupta

  • 1. Introduction Comparision Uniqueness Conclusion Django v/s Ruby on Rails A Newbie Web Developer’s Perspective Shreyank Gupta/shreyankg@fedoraproject.org March 20, 2010 Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 2. Introduction Comparision First Look Uniqueness Documentation Conclusion Fascination Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 3. Introduction Comparision First Look Uniqueness Documentation Conclusion From the Website Ruby on Rails Django Web Development that doesn’t The Web framework for hurt perfectionists (with deadlines). Open-source web Django makes it easier to development framework build better Web apps more that’s optimised for quickly and with less code. programmer’s happiness and Django is a high-level sustainable productivity. Python Web framework that Lets you write beautiful encourages rapid code by favoring convention development and clean, over configuration. pragmatic design. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 4. Introduction Comparision First Look Uniqueness Documentation Conclusion From the Website Ruby on Rails Django Web Development that doesn’t The Web framework for hurt perfectionists (with deadlines). Open-source web Django makes it easier to development framework build better Web apps more that’s optimised for quickly and with less code. programmer’s happiness and Django is a high-level sustainable productivity. Python Web framework that Lets you write beautiful encourages rapid code by favoring convention development and clean, over configuration. pragmatic design. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 5. Introduction Comparision First Look Uniqueness Documentation Conclusion From the Website Ruby on Rails Django Web Development that doesn’t The Web framework for hurt perfectionists (with deadlines). Open-source web Django makes it easier to development framework build better Web apps more that’s optimised for quickly and with less code. programmer’s happiness and Django is a high-level sustainable productivity. Python Web framework that Lets you write beautiful encourages rapid code by favoring convention development and clean, over configuration. pragmatic design. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 6. Introduction Comparision First Look Uniqueness Documentation Conclusion From the Website Ruby on Rails Django Web Development that doesn’t The Web framework for hurt perfectionists (with deadlines). Open-source web Django makes it easier to development framework build better Web apps more that’s optimised for quickly and with less code. programmer’s happiness and Django is a high-level sustainable productivity. Python Web framework that Lets you write beautiful encourages rapid code by favoring convention development and clean, over configuration. pragmatic design. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 7. Introduction Comparision First Look Uniqueness Documentation Conclusion From the Website Ruby on Rails Django Web Development that doesn’t The Web framework for hurt perfectionists (with deadlines). Open-source web Django makes it easier to development framework build better Web apps more that’s optimised for quickly and with less code. programmer’s happiness and Django is a high-level sustainable productivity. Python Web framework that Lets you write beautiful encourages rapid code by favoring convention development and clean, over configuration. pragmatic design. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 8. Introduction Comparision First Look Uniqueness Documentation Conclusion Documentation Ruby on Rails Guides - http://guides.rubyonrails.org/ RailsCasts - http://railscasts.com/ Django Docs - http://docs.djangoproject.com/ DjangoSnippets - http://www.djangosnippets.org/ Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 9. Introduction Comparision First Look Uniqueness Documentation Conclusion Documentation Ruby on Rails Guides - http://guides.rubyonrails.org/ RailsCasts - http://railscasts.com/ Django Docs - http://docs.djangoproject.com/ DjangoSnippets - http://www.djangosnippets.org/ Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 10. Introduction Comparision First Look Uniqueness Documentation Conclusion Documentation Ruby on Rails Guides - http://guides.rubyonrails.org/ RailsCasts - http://railscasts.com/ Django Docs - http://docs.djangoproject.com/ DjangoSnippets - http://www.djangosnippets.org/ Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 11. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Discipline v/s Flexibility Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 12. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion The Rails Way Rails is opinionated software. That is, it assumes that there is a best way to do things, and its designed to encourage that best way and in some cases to discourage alternatives. If you learn “The Rails Way”, you’ll probably discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience. - http://guides.rubyonrails.org/getting started.html Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 13. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion The Rails Way DRY - Dont Repeat Yourself Writing the same code over and over again is a bad thing. Convention Over Configuration Rails makes assumptions about what you want to do and how you’re going to do it, rather than letting you tweak every little thing through endless configuration files. REST Organizing your application around resources and standard HTTP verbs is the fastest way to go. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 14. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion The Rails Way DRY - Dont Repeat Yourself Writing the same code over and over again is a bad thing. Convention Over Configuration Rails makes assumptions about what you want to do and how you’re going to do it, rather than letting you tweak every little thing through endless configuration files. REST Organizing your application around resources and standard HTTP verbs is the fastest way to go. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 15. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion The Rails Way DRY - Dont Repeat Yourself Writing the same code over and over again is a bad thing. Convention Over Configuration Rails makes assumptions about what you want to do and how you’re going to do it, rather than letting you tweak every little thing through endless configuration files. REST Organizing your application around resources and standard HTTP verbs is the fastest way to go. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 16. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Balance Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 17. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Architecture Ruby on Rails MVC : Model - Controller - View versus Django MTV : Model - Template - View Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 18. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Architecture Ruby on Rails MVC : Model - Controller - View versus Django MTV : Model - Template - View Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 19. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Architecture Ruby on Rails MVC : Model - Controller - View versus Django MTV : Model - Template - View Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 20. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Object Relational Mapping - ORM Ruby on Rails Active Records versus Django Django Model Instance Reference Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 21. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Object Relational Mapping - ORM Ruby on Rails Active Records versus Django Django Model Instance Reference Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 22. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Object Relational Mapping - ORM Ruby on Rails Active Records versus Django Django Model Instance Reference Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 23. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 24. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 25. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 26. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 27. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 28. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Bundled JavaScript Ruby on Rails Comes with bundled copies of: Prototype.js script.aculo.us JavaScriptHelper part of the framework. Django Ships JQuery as a part of the Admin Interface. Not a part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 29. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Disbalance Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 30. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Views/Templates Ruby on Rails Rails Rendering/Layout versus Django Django Templating Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 31. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Views/Templates Ruby on Rails Rails Rendering/Layout versus Django Django Templating Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 32. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Views/Templates Ruby on Rails Rails Rendering/Layout versus Django Django Templating Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 33. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Directory Structure Ruby on Rails $ rails newrails Django $ django-admin startproject newdjango $ cd newdjango $ python manage.py startapp myapp Now let’s have a look at the tree. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 34. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Directory Structure Ruby on Rails $ rails newrails Django $ django-admin startproject newdjango $ cd newdjango $ python manage.py startapp myapp Now let’s have a look at the tree. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 35. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Directory Structure Ruby on Rails $ rails newrails Django $ django-admin startproject newdjango $ cd newdjango $ python manage.py startapp myapp Now let’s have a look at the tree. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 36. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Authentication Modules Ruby on Rails No built-in authentication framework. Third party authentication plugins available: Restful Authentication. Authlogic Django Authentication part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 37. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Authentication Modules Ruby on Rails No built-in authentication framework. Third party authentication plugins available: Restful Authentication. Authlogic Django Authentication part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 38. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Authentication Modules Ruby on Rails No built-in authentication framework. Third party authentication plugins available: Restful Authentication. Authlogic Django Authentication part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 39. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Authentication Modules Ruby on Rails No built-in authentication framework. Third party authentication plugins available: Restful Authentication. Authlogic Django Authentication part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 40. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Authentication Modules Ruby on Rails No built-in authentication framework. Third party authentication plugins available: Restful Authentication. Authlogic Django Authentication part of the framework. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 41. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Learning curve Ruby on Rails Steep Learning Curve Lots of framework specific stuff to learn Django Slight learning curve if you are already familier with Python. The Django template language ;-) Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 42. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Learning curve Ruby on Rails Steep Learning Curve Lots of framework specific stuff to learn Django Slight learning curve if you are already familier with Python. The Django template language ;-) Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 43. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Learning curve Ruby on Rails Steep Learning Curve Lots of framework specific stuff to learn Django Slight learning curve if you are already familier with Python. The Django template language ;-) Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 44. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Learning curve Ruby on Rails Steep Learning Curve Lots of framework specific stuff to learn Django Slight learning curve if you are already familier with Python. The Django template language ;-) Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 45. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Database Schema Management Ruby on Rails $ rake db:migrate versus Django $ python manage.py syncdb Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 46. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Database Schema Management Ruby on Rails $ rake db:migrate versus Django $ python manage.py syncdb Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 47. Introduction The Rails Way Comparision Balance Uniqueness Disbalance Conclusion Database Schema Management Ruby on Rails $ rake db:migrate versus Django $ python manage.py syncdb Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 48. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Unique (Selling|Breaking) Points Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 49. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion REST - Representational State Transfer Using resource identifiers (URLs) to represent resources Transferring representations of the state of that resource between system components. Example to a Rails application a request such as: DELETE /photos/17 would be understood to refer to a photo resource with the ID of 17, and to indicate a desired action — deleting that resource. REST is a natural style for the architecture of web applications, and Rails makes it even more natural by using conventions to shield you from some of the RESTful complexities and browser quirks. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 50. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion REST - Representational State Transfer Using resource identifiers (URLs) to represent resources Transferring representations of the state of that resource between system components. Example to a Rails application a request such as: DELETE /photos/17 would be understood to refer to a photo resource with the ID of 17, and to indicate a desired action — deleting that resource. REST is a natural style for the architecture of web applications, and Rails makes it even more natural by using conventions to shield you from some of the RESTful complexities and browser quirks. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 51. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Migrations Definition Migrations are a convenient way for you to alter your database in a structured and organised manner. You could edit fragments of SQL by hand but you would then be responsible for telling other developers that they need to go and run it. You’d also have to keep track of which changes need to be run against the production machines next time you deploy. Proof. # This file is auto-generated from the current state of the database. Instead of editing this file, # please use the migrations feature of Active Record to incrementally modify your database, and # then regenerate this schema definition. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 52. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Migrations Definition Migrations are a convenient way for you to alter your database in a structured and organised manner. You could edit fragments of SQL by hand but you would then be responsible for telling other developers that they need to go and run it. You’d also have to keep track of which changes need to be run against the production machines next time you deploy. Proof. # This file is auto-generated from the current state of the database. Instead of editing this file, # please use the migrations feature of Active Record to incrementally modify your database, and # then regenerate this schema definition. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 53. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Rails Scaffold Definition Scaffolds an entire resource, from model and migration to controller and views, along with a full test suite. The resource is ready to use as a starting point for your RESTful, resource-oriented application. Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 54. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Cross-Reference API Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 55. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Django Admin Interface Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 56. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Python APIs Django has the advantage of: High quality Python APIs available for a lot of services. Equivalent Ruby APIs not as good quality. Example Mark Pilgrim’s Universal Feed Parser v/s rFeedParser Ruby parser for kickstart issue Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 57. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Python APIs Django has the advantage of: High quality Python APIs available for a lot of services. Equivalent Ruby APIs not as good quality. Example Mark Pilgrim’s Universal Feed Parser v/s rFeedParser Ruby parser for kickstart issue Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 58. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Python APIs Django has the advantage of: High quality Python APIs available for a lot of services. Equivalent Ruby APIs not as good quality. Example Mark Pilgrim’s Universal Feed Parser v/s rFeedParser Ruby parser for kickstart issue Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 59. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Python APIs Django has the advantage of: High quality Python APIs available for a lot of services. Equivalent Ruby APIs not as good quality. Example Mark Pilgrim’s Universal Feed Parser v/s rFeedParser Ruby parser for kickstart issue Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 60. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion Python APIs Django has the advantage of: High quality Python APIs available for a lot of services. Equivalent Ruby APIs not as good quality. Example Mark Pilgrim’s Universal Feed Parser v/s rFeedParser Ruby parser for kickstart issue Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 61. Introduction Comparision Ruby on Rails Uniqueness Django Conclusion The syncdb Drawback Syncdb will not alter existing tables syncdb will only create tables for models which have not yet been installed. It will never issue ALTER TABLE statements to match changes made to a model class after installation. Changes to model classes and database schemas often involve some form of ambiguity and, in those cases, Django would have to guess at the correct changes to make. There is a risk that critical data would be lost in the process. If you have made changes to a model and wish to alter the database tables to match, use the sql command to display the new SQL structure and compare that to your existing table schema to work out the changes. - http://docs.djangoproject.com/en/dev/ref/django-admin Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 62. Introduction Comparision Alternatives Uniqueness Discussion Conclusion Alternatives Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails
  • 63. Introduction Comparision Alternatives Uniqueness Discussion Conclusion !?! Shreyank Gupta/shreyankg@fedoraproject.org Django v/s Ruby on Rails