A Rails/Django Comparison. By Alan Green and Ben Askins.

10
,9: A Rails/Django Comparison @ - Q 1 Abstract 7 7 3(7(4 # !##! #" 7 & 7 ##& # ! !& # /! # #! # #" . , & & ! ! ! #! . !##& & ! ! #" 7 7 > 7 /! # ! &####" , & # #" # #! #"/ 1 Introduction 5$ 5 O5O "( $ (( (- 5$ "# " 5$ ((# "" ( "# $ "( 9 ( ( $ "( (- ! $# # $ "" ( ((# " "# $ (- " 5$ 5 % " (- "( A (# ( $ ((" 4 $ @ 5# " $ 9 % (( ("# $ ? $ " 7 " (( (# " ( ? ( <( OO B%&; ( % ( $ " $ 5 " 9 <(" % " " $ (# ( "( " (# " $ " " ( % " $ 9 " 5 $ $ 40($ 1.1 Specification Overview % ( ((" (" OB$ 5"O ! $ $ $ $- " $# $ (($ " $-# " (( " $- % $- # " ( ( (7 # "" B%&; $ % $ B%&; " ("" ( $ " 2-" [2!I;'L] % B$ 5" ? " " ""# " " $-# "# " " " $- " ! " 3,

description

Django and Rails, competing for web developer’s hearts and minds in a dynamic, sixty minute showdown, with just one winner.

Transcript of A Rails/Django Comparison. By Alan Green and Ben Askins.

Page 1: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

A Rails/Django Comparison@����-���Q�����1���

Abstract

7�������7�� ��3(7�� �(4����������#������ �����!�##��!���#� �"����7�������&������������������7��� ��##�����& � �� � �������� � ��� � �����#� � �� � ��� � ����� � !�������� � �� � ��!������������& � ���� � ���� � �� ����� ��#������� ����/��!������������#�����#�����!� ������� ��#������#� �"�����.�������,���������� �& �����&��������!���!� ���!������#��!���.��������!�##��&����������&��������!�������������� ������� ��� �!����������� � ��#� �"� � ���� ��������� �����7�������7�� �� �>����7�� � ������/��!�� ��#�!��� � �������������������&��#����� ����#������������ � ������� ��#������#� �"��

,�����������&� ���#��������� ����#� �"����#����������������� ���������� ��������#����!��������� ������������� ����#� �"��������� ���/���

1 Introduction

5�$���5������O5����O���������"(������$������((������(���-����5�$���"#���������"������5�$�� ((����# � �� � ��"���" � ��� � ����(� � � � ��� � ������ � ������� � � � �������"� ������# � �� � ��� � � ��$�"�����(�� � ��� ��9�� � �� �� �� �(�� � (����� ���$ �"�����(�� � ���(���-� � �� ����� � !� � �����$��#������#����$����������������"�"��(��������������((���#��"��� "#����$��������������������������������������(���-�������"���������5�$���5���� �

%��� � ����� � �� � ������ � �� � "�������� � ����� � � � ��� � � � � � ����� � �� � ���(���-� � �� � ����� � ��"�����(�� �A� � ��� �������� � � � ���� � (�����# � ��� � ������ ����� � � � ��� ��� ��� � �� � � � �(��� ���$������ ��� � ���� � ���� � �(���(���" � ��� �4 � � � $� � @� � � � 5����# � �" � � � $� ���� � � � �9�� � %����(���(���������������� (����"#�$���?�������������$�� "����7���"��(���(��������(�#��"������(���?�����������(���������� ������<�(��������O������O�������B%&;���(��������������� �

%����������� ���������������������(�������$������������"��������� �����$������5������"��9������ � � ��� � � � �<�(��" � � � ���� � ����� � %��� � � ��"�� � �������� � �" � �$����� � �����(� �# � �(���� � ��"����(�� � � � � � ��������� � ��"� �� � ����(��# � �" � ������$����� � � � ����"������ � ����� ���� � �"� (���� �

%������ �� "�����$��������9����"�����5���������� ���������������$���������$����������������������4��0 ��(� �����$������

1.1 Specification Overview

%����(��������� ����������������(���(���"�����(�"�OB�$������5��"��� O�!������������$��������$�� ���$���������$-����"��� ��$#������������������������� �� ��$�(�($������������"���� ��$-�#��"������ � ((��� ������ � � ���" �$- �%�������� ��� ���� � ���������� $-������ � ����# � �" � �������������(������(��(�7 �

���������������� ��� ���#����������������"������"�������� �B%&;������������� ������������� �������������$�� ������ �%���$��� �B%&;��"���������� � �� �� �("����"�������� �� � ��(����� �$���"�����2�-��"�[2!I;'L�] �

%���B�$������5��"������� ��� ������?�������������������� �������������"������"�������""#� ������"�"������$-�#����"���#����"��� ������� ���� �������������"������"���$-���"����� �!��"�����

3,����������������� �������������������

Page 2: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

��� ���������-��"��������������O�"(�O������ �

1.2 Habitual Readers Implementation

6��"������"���������������������#�����������(��$����#��� �"���������(���������� ��"�����(������- �6���� �����"���������������������� ���$����(���-���O="���5����O����5�$���"�O�2L����-O�����9����������������#�+,,)

����� ���������(���(������������������ ���#�@���"�������"�����<�(�������?���������<����� ����5������"��9�� �@����"�$�����-�����5�$���"�5�$���5���������������(��$����������<�(��� �@����"�����$���"�����������������"���$����$� -�"�������������(������ ������������������ �������"�������(�������������(���9����<����� �#������������"�$���"����������$������ ����������������������(���-���� ��+,,0#��"������������������� ��/CC>

������� ������������(���(�����#������"����������������������(�������� ��� ���4�

/ %����9����(���(������� ��"������<����O�O���������"����� ��'5; �%����$�������� ���$��������� ����"������������ ���������9����"(������� ��� �

2 Quantitative Comparison

6�� (����" � ��� � �� � ����� ��� � �(���(������ ����� � �� � ����� �(�������4 � ���� � � � "� � �"��(���(��������(� �%�����?�����������(��������������������"������(������������������� (����������?����������� (�������$���

2.1 Lines of Code

!���"� ��������� ���#����� ��"�"����������� �������������������������"�������� "� �5������"��9����������� ���������������������� �����������������5�$�������������� ������"�������� �����?����"���("��� �6��"�"�� � � ��"�������� �������������� �������"�5�$��;������ "�������(������" � ���� � ����" � � � 6�������� � O�� ��O � �� � [6B==;=5]# � ��� � � ����� � $��- � ���� � �"� ((��� �B%&;����� �����������"� �"�$�����������O� O������� ((�"���� ���(���(����������(����������� �

,�� � �:����

,�&*9�*����&"����"� *0 //)2������������ "� +,0 /,CB%&;�B��������%�(���������� 3) +)� ��(��&������ //*��&;�"������"�� +) )C������� ��� 0/

5�$���������$���� 3/> 0+,%�(������ +C> 8,)

���� � IDJ K1A

�(���������(�����(���(��������������#������9�������� ���� �����������"�������������� "����������5���������� ��� �%���"������ �����"������$������������������"����(���(���"���&;�"������"����������9����(���(�����#����������&;�"������"��� "��� �������+,U�������������� "���������9�������� ��� ����&;����O����������&��-���;������O#���� ������������<� ���������

�������������� ����������������������3/

Page 3: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

��� �����������"��� �[��&;]�

%��������������������"������ ���������($��������������(������ "� �%����9�����(������������������"���������(���������������5�������(������#���������������5�������(�������� (����������"(�������������������9�����(�������"�� �

2.2 Implementation Time

%������������ �"�"�������(��������-����(���(�������B�$������5��"��������� ���#�������������������������" � � � ��� � ��$�� � $��� � 6� � ���� � �� �"�" � ��(� � � � ����� � ��(�4 � ��(� � ���� � � ��� � 5������(���(�����#���(�������������9����(���(�����#��"���(�����������-�������$������$�����9� �� �������(�������(������"���������"�������"�(�����

����� ,�� �� �:����� ����������&����

!������B%&;��������� 840,�

�������%����"���� /40)�

��9� ��������� ,4/3� ,4//�

&"���� /40,� ,4,C�

B(������� 04,,� /48,�

@��� ������� 34,,� +4,*�

�"(�������� *4+3� ,43>�

�(�7������� �� /4,,� +4/*�

�������"���� "��� /40)�

%���#���������"���"�� /40,� /40/�

%����� +,48,� /,40,� )4,)�

%������ ��"���J�((���(��K� +)48)� /)40)�

!� ���� � ������ � ������ � �� ����� � � �(���(�� � ���� ������ ���� � ��9��� ��� � �� �@�� � � �(���(�� � ���������� ������5���� �%���$��-��������"������ �� ��$�������$���"��������<������������?����"����(���(��������"(����������� ������5�������� ��� �����������<�(������������"������������ �=< ��"��������"(�������#��"������������� ������ ��������������$����������-�����(�����"��<����� ������ ��"�������#������(���(��������(�����������<�(�������?���

3 Qualitative Comparison

%������ ��� (������������ ����������$�������5������"��9�� �

3.1 HTML Templating

B%&;���(������������� �������������$���5������"��9�� �@����������(���������$�� (���"�����$������(�����������"���������������������������������#�������"���"�����������(������������"������������ ��� � �������������� �!�5����#�����$������(��������� ����"���O�����O������������"���"�����������(�����������O�����O �!��9��#�$��������������(������ �

%���-���"������ ��$�������������(���-���������������������($�"�"��(� � ��� �5�����������������

3+����������������� �������������������

Page 4: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

����5�$�� "������(���#��"�(������������ ������$��������� (���<��� ������� �5������ �������"�������� � � �$� ��� ������ � � � ����� ������ "���� � ���� ���� � � � ����� � ������ �� �("�� � "�# � �����"������������� ����� ����������� � ������������ ���� ������ ��9��# � � � �����# ����� �� ���(���� � ��(�������������� � ����" � ��� ��� ���� � � � ���� � ��$ � "������� � ���� � B%&;� �-���� � $�� � (��(�� � �����((���-���"��� ��$���"���(������ �

A���<�(���#������(����������B�$������5��"���#���������������� ��"��������������-��������#���7�"�"���"��������������������������� �%���5���������� ��������������������������������(�����"���$�����"�(�-������������$������������� �%����� ���������������������"�����������������4�

/01� ���� � � �����12�3��,4�����3�02

%���������������5�$���������#�������(�����������#���� ����� ����"���P����������� � �%�����������

������4�

/�52����,� ���/-�52/������16��,����62����/01� ���� � � �����12�3��,37� �����������12�8��,��02/-2

%��������������������"�����������������������������#���� �������$�����"� ������� ��$9� �������� ��� ����(�"����� �%���������� ������� ����������������4�

/01����.4�����,9 ����:7���,4� �;��,9 ����:<7� ������12�6�����4=>��,9 �4�����:?6�02

%���� �������5�$����������� �����������������-����������#���������������� ����������������� �

@�� �����#�����������������9�����(���������������������������������4�

/�52����,� ���/-�52/������16��,����62>0��� ���,������,��0?����/�������16�����4>>���,��4������??6��������� ��16>>��,�,��4��������4� ��??62>>���,������??/-�2>0������ �0?/-2

%���5������������������(��� (���<����������9�����(������#������"�������B%&;���(������������������������ ��"�� ������������������������ �%����"�������������5���������� �����������������������"�������������������������(�����������(����� "�#������������������ ��������������������"�����������������������(������ "�#���������(��������� ������ �����B�$������5��"��� ��5�����"������� ������������ �#�������#������������"������������"� ���������"��� ���������������9�����(���������"�(������"���������������<�(���4�

�������������������������������������������������������������

����������������������� � !��������"������� � #!��������������$���%&�����������$�� '����������������

%���(����<��� �������� ����-��$���9������ ��"���"���(���������� ������$�"������������������$� -���"�����������"�����(���[�5�A%]

3.2 Schema Generation and Evolution

&"���$9� ��������� ������ ������$���5������"��9��#��������� ����-����"������������� �����������(���(����� �5�������������"����� ������������ ��(��������#���� ���9���"���� �

�������������� ����������������������30

Page 5: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

3.2.1 Defining Model Classes

5������(���(��������� ������� �"��������[A�6;=5#�&]��������"����� ��������� ��%�"�������("�������"��������"������������ �������(������ ����5� �"�$���� ������"�� ����5� �"�"�"� �������("����������$�������(�������$���������"���$���������(�� ��������������������� ������(� �%���"�������� ��("���������(�����#�$������������������ ��"���"��"�5�������� �� ����-������ ��("��� ���������(��(�( �

�9��#�������������"#���?����������"�����������<��� �������� ����������� �� ����#�$��������� �������$��� ��9����������"��"�������� ���������"���$����� ��(����(�������� ������("���"������ �

� � ("�� � ���� � ��( � ��� � B�$����� � 5��"��� � ����� ��� � ������ � �� � � � �<�(��� � !��� �� � � � ����5��"��� ���� ������� �"��� �������������"������"���$- ��9��� "���<��� �����"�������� �������$����������("��#�� ��"���(���"����� ���������"����������"�������"���$������$��4�

������@�����,A�������;�������(����< ���� ���� �1��������B� ��,�C�;@���� <�������.�1��������B� ��,�C�;!��.7�����4������1���������)DC"'7�����������4��4�����1+<�������������1��������'���B����;�� �1� ��<���� �����,4�����1��������B����B����;�� �1� ��7���E4��,���1F7���������������4�����1G7�����.1� ��<����������1����������E�B����;��E���,��1GHHH7�����.1� ��<

%�� � �9�� � ("�� � ��� � � ��"�� � � � �(��� � �(�� � � � (���"��� � ���" � � � ��� ��� � ��� � ������� � � � � �������(��� ������������"��"(�������#���� �������<�����"�$��� �

@�� �����#�����5��������������(��(�� �!��"�������������������������$��������������"������("��� �����������������$�����������("������������$-��������"#�����������-������"#��"��""����������������""�"�����5������<�(����������$���"��������������(�4�

������@�����,�/�)�����@��� � !����������,�4��� ���.�������,�4��� ���� ���

!� (������������#�����������������5����� ��������(� ��������#�������������"�����$�������������("���������$�����������" �(���"�������� �����"������ ���9��#�������������"#���?���������������"��������"���������������("��#�� ��"�������������$��������������� �����"������ �%��������������<�(������5����� ��������� �������������<��� ���������9������� �������� �����

3.2.2 Evolving Model Classes

6������9��������� ����������� ���������"���$����� ��(����(�����("���"������#����"���������"������"��������������������������("��������#�O������O������("���"������������������������"�����������"�������"���$������$��� �%���5�����(��������(� ����(��""������� ��������"��������("��� ��������"������"�������� ��(�#�����������������"��� �

��(������������5�$��� ����������"�������""����#�("��� ����#��"�"�������������"���$����� ��(� ���������#�����"�������� ��������� �������"���������$��(������"���(������"�������������� ��(���������������� �=� ��(�������� ��������������"����������($��#��"� ������������� ��(�� ��$������"�$� -���"���"������"��$�����������"��������������(������������������?�� � �

B�����������(����������"�������5�����B�$������5��"��������� ������ ����������5��"������$��4�

������D ����@�����,��/�)�����@��� � (�, ���������������������� ����4������ �����,�����I�I

38����������������� �������������������

Page 6: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

���������������6���.4��67� ����,� ���������������6 ���� 4��67� ����,� ���������������6����4 ���67� �����������������������6 �����,4����67� ����,� ���������������6�����67� ��E��������������������������������� �4������ �����,���������

%������(���"������-�"�������������(������ �!������� ����������$����(�"��������#���������������

��(� �%���"��(���"������-�"���������������(��������� �� ����� ����"��������� ���������

��$�� �!��"�����"���(�������#��������(��������������������������� ��������(�������� ������������("��� ����������� ��(����������� ���������� ��6�������5���������� ��������<� ����#�����("��� ��������"������"���$����� ��(����"��(� �����"����(�������������$������������(� �

%������������-����"����������5������� ��(�����(�������� (����"�������9�� �A����#�5���������"��������"��"�(� ����(����"��������������������������"���������"� ��������(������������������"��� �A���<�(���#������"���$���� ��(����������� ����"���(� ������������#������ (������5�����(�������� ��������"���� ����������������?����"���(�������"������(������"� ���� ��(����������������� ��( �%������(���(����������������9��#�����"�����������"���"������������"�� ��:;�� ���� �

%�� � �� " � �"������ � �� � ����# � $��� � ������ � ����" � $� -# � (������� � � ����� � � � ����� � �(�� � ���<����(���������������("��� ��������"�"���$����� ��(� �����������(���<����(�����������("�����������$������9��#����� �������������("��� "�����-�����"������ �� "�� ���#�$������"�����������������"���������� �� �����#����������������� ����������������������(� ����(����?�� -�����"��������"��� �

�� � ��� � ��(� �� �������# � ��� ��9�� �"�����(�� � ((���� � �� ���-�� � ����" � ���"� �� � � � � ��(���������(� ����( �

3.3 Automatically Generated Admin Pages

&�����$������ �����������(��-�"���O�"(�O������#����������"�$�����(�����($�����������"������#���������������� ���������$�������������"�����"�� �#���(�������������� ����$��� �

�� ������������"������ ��$������5������"��9�������9��������(��� ������������"��"(�������#���� �� � � ���� � � � ������ �� � ������ � � � "�����(�� � ��(� � A� � �<�(��� � � � ��� � B�$����� � 5��"�����(���(������#�����"�����(������"(����������5������-�+CU�������"�����(�����(�#� (����"���)U�����9�� �

6����������������������9����"(������������O���(��� ������������"O#����(���������9���������������(����������(�����������(�����"������� �%���"�������������������������$���""��������$������"�����(�������������9���("��� ��������"�����������"� ���������$���������������""��#�������� ��������������?�� -��"������������"����������������$���������"����������������� �%��������� ���(���������-��"�����#�����"��������(�������"���9�������������������(������

5����� ����������(���(������"(����������������� ��$���"����"���� ���"����$����������� ������������ ������"������ ������ ������� ��%������������($�����5�������������������(��������������(����"���������9����"(������� ��� ��%���� �����������������"(��[�'%���&!L]��"������(���"�[�%5=�&;!L=�]#�$������������������������"�����(�� �����������������5�����������������9� ������ � �"����" � � � �� - � � ��� � ������ � � � ����� � ������� � $���� � ((� �� � ��9� �� � ���� � ��?���� � ���"(����������������� � �

�������������� ����������������������33

Page 7: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

3.4 Internationalisation

�����������"�" �� ��""���� � �������������� ����� � ��� �B�$����� �5��"��� ������ ���# � ���� � �� �� ������" �(���"��"�(� ��"�� ����"���������$�������5������"��9��� ((������ �

!����� �������������#��(��5�$�� �����$������#�����<�(���������#��������� "������� ��%����(������������������������� ������������"������������� �������<�� ��"�������-������������������<� ��%���5����� ������(�������""�����"��������$��(�$��(����������(����$���P��P���������������������5������ �����������("�������� ����������44&����$����[5�!;�&';%!@�%=] ��%�����������������������������/ +#�����5��������(���-�������<��"�������$��(��� �5�$�� �����$���������(�-�����(��� "�������

�����������"�'� "����������"�1L'������<��[1=%%=D%]������������������������ ��������/ )#���� � ���� � �������" � � �+,,, �%�� ��9�� � ���(���- �$���"� � � ���� ����� � ���"��"���" �(� ����(� � ������������������9�������� ������"�� �������������������"���"����B%%����?����� �

3.5 Integrating 3rd Party Code

5���� ��"��9��� ���� ����-���"�������� � ��������������<����� �� %�������� � �� ����� �5���� � �����O������O��"��9��� �����O����� ����O ��%����-�"����<���������������������������������"�������������� ���� � ���(���- �� %�� � �� " � �� � ����" � ����� � ��$������ � ������ � � � 5�$� � � � ����# � $�� � ���� � ��������� ��� �����"������"������������������������(���-

5����������������"�� ����� ��� ������ "������� ��$��� ��"�"���������5���������� ��� ��%���B�$������5��"����5������(���(�������-��"�������������� ��P��P�����$���������������"�������������������$-�# � �" � ��� � � ��P��P���� �(�� � ����� � � � ������ � ����"�� � � � ���"�� � �(��� � �" � ����7�� � �� � � � ��(�����$������($���������������������� ��� �����������(����������#�8/C�5����������������������$������"���"���(�����4����� �������$"�����(�� (�

�9�������� ����� ��$�����"�����(������(�������5������������ ����9��������(���$�� (���"���������� ������ ������� ��� ���� ��(��� ����("��� "�# � ��(������# � ��(����� � ������"�������������$������ �%��� ������������ �������� � ���������������(����� ��������������""����������� ���������"�������������� ����� ((�����"��"(������� ����������(����������#����������� �����������������������$��#�����"������������ ����

5������"��9����������������������������"�����������������$�������������������$����������������5�$���"�����# � ����� ������ � A� � �<�(���# � � � ��� � B�$����� � 5��"��� � ����� ���# � $�� � ��� � 5���� � �" � �9����(���(������� ((�� ����������(�7���������������"���������$������

3.6 AJAX

6����������������5������������9����(���(�������������B�$������5��"��������� �����-��"����������E�D#��������$� (�����������������$������ ��������������������(����������

5������ ��"������($�������������� �����������������������"����"�����"�����D(�B���5�?����� ��'����5E�#���5�����"�������� ������������(���������������"��������?�����$�����������E���� ���������������$������$� -��������������$9� ���"��<� ���"�������$����� �����������"�� ����� ������������(���"������������$��������������� ������(������E���� �������$���������$�����"���5E����(������ ��%����� -�������������E���� �������$������������5�����"�������� ��"������"����������(� ���������-�����������E���� �������$������

!� �����#��9���� ��"��������E��L�("���#��������E���� ����� "���"����� �� ������E���� �������$����#������#�������"������� �%����9��� ������(���������������������������������9�� ��������9���"��������#�������#�������"� ���"��������������"������������5���������� ��������� �������� ���"�

3)����������������� �������������������

Page 8: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

E���� �������$������"���� ����"���������� ���

3.7 Other considerations

!��""���#�����������#���� �� ���������(���$���� �����"��������� �����$����������������(���-� �

3.7.1 Maturity

@������(���-��������<��� ��"���(���$������ ���������������"������"�������+,,0�+,,8�����" �5����������������"���������$�� ���E����+,,8#��"��9�����E����+,,3 ������ �#�5�����������"������"���������������� ((����� ���$��������������(���-��"���� ��"�����(�������/ ,������������� �($���+,,3 �%��� �����������������9������, C3#��"�������(���$���������� �������������9�����!�$���������/ ,�(��������������������� ��"�[�E�L1���!] �%��������� ��������/+� ������(�(�($������������ ((���������������5��������������[5�!;���5=]#��"�8�������9������������[�E�L1���5=] �

3.7.2 Market Position and Hype

������ ���9$�������E$������[E�@�=52=]��"����-�[�==I]������5����������������9$���?����(����(�� ���� � ���� ��9����� �� � ���� �� �)4/# ������ ������������� �(�� ���� � ��� �5�$���� �� � ���� �������<�(������84/

6�����������������������������������"�(�"�����5�$�#�����5��������(���-����(������(�������$�����"�������(��-����� �������9�� ��(����"���E�����"�E+==#�5������"��9�������$�������������� (������������ ���� ��������(��-����� � �

��(���� � (������ � � �$� �(�"� ����� � ��� � �� � ��� �1��� �@����� � [1��1;=@�%%;=]# � ! � �5 -���[!�=5��I=%]#��"�%� ������[%=�BL�5�%!]�������5����� ��������� (������������������������-��

3.7.3 Tools and Utilities

@������(���-������������� ������������������������"�����(����� �����"����(������������������-���� ������ ��(�� �����#��"��<� �������������� �� 5�������-����"���������5�-�#�����5�$��$���"��������������(������������������-�

�������� � �� � � � "����(�� � �� � ���� � ��� � $�� � "������" � �� � ���(���� � ��� � "����(�� � � � 5���������� ���� ��!���<� ����� ((�"�����(��������������������������(����-���� ����� �� -����������������������� "�����������������#������(�������#��"���"���"��� �� !���������� ������������������"���������(����������"� ����������������� ���<� ���� ((�"���(�������������������������� ���������������������������� ���������9��#����������������������$������"�$����������"������5���������� ����#������������(���������������� ��"���$�����"���"��������9�������� ��� �

4 Conclusion

�9����"�5�������(����������(�������$��(�#�������(�����(���#����������(������� ���� ���� �%��������� ���� � �� �� �� � $����� � �� � � � �<����� �" � 5���� � "�����(�� � ���( � � � ���� � � � � �9�� � � � � � �9���"�����(������(����� ������5���� �A��"����������� ����������-����������������9�����5����#�����(����(������ ��"��������������(���(������������� �5�$��"������������"�$��������(������5����#������������"������������"�$��������(�������9��#�����������(����������-���������������"������

�������������� ����������������������3>

Page 9: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

A��"������������-������������$������������#�����O$���O����(���-������"���"������"�����(�������(�� � �" � ���� � � � ����� ��� � %�� � ������ � ��$�� � ��((������ � ���� � ���� �� � ���� � �� � ���������������"�������������4

(��� ,�� � �:����

�������������� �������������� �����

!�������"����(���-����� ��(��������

&��(�� �

.���������� ������� �(�����������5�����/ + �(�������� �

��������(���� *����� ����B����$��#����������������"���������$����

���

��������*�� �����������&�������������� ���� ����#���������"�$������ ((����

�(���������������������� �����(� ����(

2�����������������������"�� ����� �����$�"��"������5���� ��5E�����(���-���(�����������������

����$��#�$����"��� �������������������� �������$����

( ����� � ��� � =<��� �� �

6����� �����$������������������(���-��(���$��"���� ���#������"�����������������������(���-�������"� �� �������(����������"����������$������ ��� ��

5 References

/ [�'%���&!L]�������4�� "� ���$�< ��������"(��

+ [�5�A%]�������4�����+ 9��� ��� (�+,,)�(���,+�"9���������((�����

0 [�E�L1���!]�������4����� "9����9� � (�" �(���������P���$�������

8 [�E�L1���5=]�������4����� "9����9� � (�" �(��������?�V�����$���"������

3 [A�6;=5]���5�����5� ����#����"�A�����

) [A�6;=5#�&]�������������=�������������� ������ ���� ����#�&�����A����

> [1=%%=D%]�������4����� �� ����������������<���

* [1��1;=@�%%;=]�������4����� ����$����� (��

C [!�=5��I=%]�������4����� � �� -�� (��

/, [E�@�=52=]�������4����� 9$����� ( ����

// [���&�H�L]�������4����� 9����� �����9� ������(�7��

/+ [5�!;���5=]�������4����� ��$������ ��� ���

/0 [5�!;�&';%!@�%=] � � � � � ����� � �� "� � ���(�� � �������4������� (���9� ���(����$���P��P��������-��'� "����(��

/8 [5��=�]�������4������ ��$����� ������������ ��(��

/3 [5'@��&�H�L]�������4����� ���$� �����$����$���(�7 ���(��

/) [�==I]�������4����� ���- ( ����

/> [�%5=�&;!L=�]�������4�������(���" ������ ��� (��

/* [%�11�@;=]�������4����-� ��$������ ���������������� ����%����$�������B���

/C [%=�BL�5�%!]�������4����� �� ����� (��

+, [2!I;'L�]�������4���"������-��" (���(��������

3*����������������� �������������������

Page 10: A Rails/Django Comparison.  By Alan Green and Ben Askins.

��,�� �9�:��������������

+/ [6B==;=5]�������"�� �6����������� ����� �����4����� "������� (��� ����

++ [��&;]�������������&��-���;������ �����4����� ��(� ����

%������-������ ���"��"�����������������((�������$����L�((�� ������������-��+ 3�;� ��� �%����� � � � �� � � � ���� � �� ���# � ����� � ����4�� ������� ((� ����� �����$�� ����+ 3� � � � ��" � � � ������ � ���������� � �((�# � 380 � B���" � ������# � 3�� � A��# � �� � A�� �� # � ��������# � C8/,3# � '��

�������������� ����������������������3C