Разработка MVC-приложения на
               JavaScript
Олег Воробьев
Разработчик
Обычный сайт на PHP

             GET /index.php




Сервер
                               Браузер



                  HTML
Типичный код JavaScript
Клиент на JavaScript

         GET /products




Сервер
           JSON                            Пользователь
                                    HTML
Backbone.js
Пример


         #header



#left         #main
index.html
Model




  REST
  GET /categories[/id]
  POST / categories
  PUT /categories/id
  DELETE /categories/id
View
View
View
View
View
Router




http://appstore/

http://appstore/#store
http://appstore/#store/12
Router
index.js
index.html
index.html
index.html
index.html
index.html
Что получилось




GET /categories

[{id: 1, name: 'Популярные'},
{id: 2, name: 'Игры'},
{id: 3, name: 'Музыка и видео'},
{id: 4, name: 'Развлечения'},
{id: 11, name: 'Образ жизни'},
{id: 5, name: 'Дети и семья'},
{id: 6, name: 'Путешествия и навигация'},
{id: 7, name: 'Здоровье и фитнес'},
{id: 8, name: 'Фотографии'},
{id: 9, name: 'Социальные сети'},
{id: 10, name: 'Спорт'}]
Product
Product view
Product view
View events
Router
Что получилось




GET /categories

[{id: 1, name: 'Популярные'},
                                            GET /products
{id: 2, name: 'Игры'},
{id: 3, name: 'Музыка и видео'},            [{id: 2, name: 'YouTube', icon: 'youtube.jpg'},
{id: 4, name: 'Развлечения'},               {id: 3, name: 'Gmail', icon: 'gmail.jpg'},
{id: 11, name: 'Образ жизни'},              {id: 1, name: 'Angry Birds', icon: 'angrybirds.jpg'},
{id: 5, name: 'Дети и семья'},              {id: 4, name: 'Plants vs Zombies', icon: 'plants.jpg'},
{id: 6, name: 'Путешествия и навигация'},   {id: 5, name: 'Google Maps', icon: 'googlemaps.jpg'},
{id: 7, name: 'Здоровье и фитнес'},         {id: 6, name: 'Evernote', icon: 'evernote.jpg'}]
{id: 8, name: 'Фотографии'},
{id: 9, name: 'Социальные сети'},
{id: 10, name: 'Спорт'}]
Вопросы?

разработка Mvc приложений на java script