
- •Розділ і: еволюція інструментальних технологій в середовищі Ruby on Rails
- •1. Знайомство з Ruby on Rails
- •2. Поговоримо про Ruby
- •3 . Філософія Ruby
- •4. Можливості Ruby
- •5. Переваги Rails
- •6. Філософія Ruby on Rails
- •7. Як працює mvc в Ruby on Rails?
- •8. Active Record
- •9. Скаффолдинг
- •10. Ajax (Asynchronous JavaScript and xml)
- •1. Популярність серед користувачів
- •2. Мови програмування
- •3. Концептуальна суть Rails та Django
- •4. Модель і база даних
- •5. Url Роутинг та контроллери
- •6. Контроллер, вид
- •7. Шаблон і форма
- •8. Адміністрування користувача
- •9. Ajax
- •10. Засоби для тестування
1. Популярність серед користувачів
Певні особливості поширення Ruby on Rails і Django яскраво висвітлені у GoogleTrands(заадресоюhttp://www.google.com/trends?q=ruby+rails,+django+python&ctab=0&geo=all&date=all) і представлені у вигляді графіків:
ruby
rails
django
python
На даний момент існує безліч форумів, груп, присвячених Ruby on Rails і Django. І всі вони висвітлені на різними мовах. А це свідчить про розповсюдженість у всьому світі. І трохи статистики: на середину 2007 року у Google групі Ruby on Rails: Talk налічувалось 7485 учасників, на початок 2010 року їх кількість становить 20209. Щодо Django-users, то у 2007 році їх 4180, а на початок 2010 – 16642.
Крім веб підтримки кожна із платформ володіє доволі вагомою базою книг, які призначені як для початківця, так і для досвідченого програміста. Серед активу Rails: Aglie Web Development with Rails (Second edition), Ruby on Rails (Up and Running), Rails Recipes, Programming Ruby 1.9 та інші. Django налічує: The Django Book, Python Web Development with Django, The Definitive Guide to Django: Web Development Done Right.
Обидві платформи користуються послугами Plug-in, Tutorials, Supports. Але у Rails їх значно більше.
Збільшення популярності платформ – це добре, але у деяких випадках воно призводить до масового нерозумного використання такого потужного інструментарію. І, як результат, неякісні програмні продукти. Хоча з часом з’являється все більше й більше досвідчених людей, які вміють, знають і можуть надалі розвивати веб технології.
2. Мови програмування
Щоб висловити свою думку про мову програмування потрібно порівнювати її з іншою. Розглянемо перелік найрейтинговіших мов програмування на кінець 2009 р.- початок 20103.
Position Jan 2010 |
Position Jan 2009 |
Delta in Position |
Programming Language |
Ratings Jan 2010 |
Delta Jan 2009 |
Status |
1 |
1 |
|
Java |
17.482% |
-1.54% |
A |
2 |
2 |
|
C |
16.215% |
+0.28% |
A |
3 |
5 |
|
PHP |
10.071% |
+1.19% |
A |
4 |
3 |
|
C++ |
9.709% |
-0.41% |
A |
5 |
4 |
|
(Visual) Basic |
7.354% |
-1.81% |
A |
6 |
6 |
|
C# |
5.767% |
+0.16% |
A |
7 |
7 |
|
Python |
4.453% |
-0.28% |
A |
8 |
8 |
|
Perl |
3.562% |
-0.74% |
A |
9 |
9 |
|
JavaScript |
2.707% |
-0.65% |
A |
10 |
11 |
|
Ruby |
2.474% |
-0.67% |
A |
11 |
10 |
|
Delphi |
2.392% |
-0.91% |
A |
12 |
37 |
|
Objective-C |
1.379% |
+1.24% |
A |
13 |
- |
|
Go |
1.247% |
+1.25% |
A-- |
14 |
14 |
|
SAS |
0.809% |
+0.01% |
A |
15 |
13 |
|
PL/SQL |
0.718% |
-0.29% |
A |
16 |
18 |
|
ABAP |
0.641% |
+0.10% |
A-- |
17 |
15 |
|
Pascal |
0.624% |
-0.04% |
B |
18 |
23 |
|
Lisp/Scheme |
0.576% |
+0.14% |
B |
19 |
20 |
|
ActionScript |
0.566% |
+0.11% |
B |
20 |
24 |
|
MATLAB |
0.540% |
+0.11% |
B |
Python має більшу історію, і використовувався ширше, ніж Ruby. До прикладу, на ньому розроблялися проекти NASA. Щодо Ruby – то більшість людей з ним знайомились аж у контексті Rails проектів.
Якщо порівнювати їх на рівні синтаксису, то можна сказати, що:
обидві є потужними об’єктно-орієнтованими мовами, в яких все – об’єкт;
вони динамічні;
із строгою типізацією;
мають лаконічний синтаксис;
легко читаються (особливо це потрібно, при наявності великої команди, яка розробляє проект, або для зрозумілості власного тексту програми, який довший час не використовувався);
мають інтерактивний командний рядок;
тестову інфраструктуру;
де серед відмінностей:
Python має більш чистішу, формальнішу побудову, ніж Ruby;