Шаблони для веб-додатків Ajax-важкі


12

Дотепер я був великим шанувальником шаблону MVC для розробки веб-додатків. Для Інтернету я розвивався здебільшого в PHP (з рамками Kohana та CodeIgniter) і Ruby (RoR).

Коли мої програми стають важчішими на стороні Ajax (односторінкові додатки тощо), я помітив, що не можу не зрадити самих основних понять MVC: Javascript робить більшість робіт; виклик контролерів просто для запиту подання чи більше js / json-коду здається неправильним.

Після прагнення зберегти всі завдання маршрутизації в контролерах, тепер я принципово розділив його між ними та Javascript (тобто з PoV рамки, частина поглядів). Коли ви запитуєте про json, підрив MVC виглядає ще більш очевидним: код js, який виконує запит, є контролером; контролер фреймворку просто виступає як проксі для даних моделі - про що я насправді прошу.

Отже, на що слід звернути увагу?

Я думав про додатки з чистим JavaScript, наприклад, про backbone.js та базу даних, що базується на json, що базується на документах (couchDB) як бекенд, але я люблю свої реляційні бази даних.

Іншим варіантом було б таке: я б просто робив "маршрутизовані моделі" в PHP / ruby ​​/ go / whatnot. Вони проаналізують запит, зателефонують в db, повернуть трохи json.

Такий підхід мені здається цікавим, але йому не вистачає будь-якої суттєвої документації чи академічного аналізу, тому я трохи боюся цього стрибка.

Ідеї?


Ви хочете перейти на щось на зразок Socketstream . Що розроблено для реального часу, для клієнтів важкі додатки
Raynos

2
Не бійтеся змін. Реляційні бази даних мають своє місце, але якщо ваш проект не вимагає створення реляційної бази даних, не використовуйте його.
beatgammit

Відповіді:


1

Якщо немає ніякого академічного аналізу, зробіть це самостійно. Просто експериментуйте над наступним невеликим масштабним проектом і подивіться, як вам це подобається. Прочитайте есе Пола Грема про те, чому він обирає Лісп для свого стартапу, навіть якщо це не часто використовувалося. http://www.paulgraham.com/avg.html

Існує безліч кадрів JavaScript MVC там. Якщо ви хочете створити головним чином javascript-додаток, то зробіть це.

Просто побудуйте спокійний API в рейках або будь-якій структурі, яку ви використовуєте, це лише обгортка для бази даних, і вам не доведеться відмовлятися від реляційної бази даних. Просто зателефонуйте до api так, як ви б викликали базу даних, якби це була логічна програма на основі сервера.

Крім того, якщо ви будуєте свою програму таким чином, ви можете вбудувати підтримку в режимі офлайн дуже легко.


Я спробую це для свого наступного проекту. Що стосується javascript фреймворків, що ви пропонуєте? Єдиний, на який я зараз придивився, - це хребет.
cbrandolino

@cbrandolino хребет добре виглядає через обмежений час, який мені довелося грати з ним. Ви можете перевірити sammyjs.org на менший проект.
Сет Арчер Браун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.