Состоялся (http://weblog.rubyonrails.org/2016/6/30/Rails-5-0-final/) релиз MVC (Model-View-Controller) web-фреймворка Ruby on Rails 5.0 (http://guides.rubyonrails.org/5_0_release_notes.html).
В состав Rails 5.0 включен новый фреймворк Action Cable (https://github.com/rails/rails/tree/master/actioncable) для применения WebSockets в Rails, значительно упрощающий создание таких приложений как чаты и системы уведомления. Фреймворк предоставляет интегрированное решение для управления соединениями, канальный слой для выполнения операций на стороне сервера и JavaScript-слой для организации взаимодействия на стороне клиента. В том числе предоставляются возможности доступа к
Active Record и доменной модели PORO из обработчиков WebSockets. Для обеспечения отрисовки шаблонов вне контроллеров (например, для использования серверных шаблонов для формирования ответов WebSocket) представлена система ActionController::Renderer. При разработке Action Cable выполняется в основном процессе приложения, а в готовом продукте может быть вынесен в отдельный процесс.
Вторым важным новшеством является появление режима API, включаемого при создании (http://edgeguides.rubyonrails.org/api_app.html) каркаса проекта с флагом "--api". В отличие от обычного использования Rails для создания серверных приложений, формирующих вывод на основе шаблонов HTML, режим API рассчитан на создание серверных бэкендов для обеспечения работы JavaScript-интерфейсов или web-приложений, работающих на стороне браузера и взаимодействующих с сервером при помощи JSON.
Из других изменений (http://guides.rubyonrails.org/5_0_release_notes.html) можно отметить:
- Новый API Attributes (https://github.com/rails/rails/blob/8c752c7ac739d5a86d4136ab...);
- В Test Runner обеспечен вывод ошибок по мере их возникновения;
- Поддержка вызова комадн Rake через CLI-интерфейс rails;
- В состав включена библиотека для создания одностраничных интерфейсов Turbolinks 5 (https://github.com/turbolinks/turbolinks/) с полной поддержкой iOS и Android;
- Добавлена библиотека Sprockets 3 (https://github.com/rails/sprockets) для сборки и управления web-ресурсами;- Для использования Rails 5.0 теперь требуется наличие Ruby 2.2.2 или более новой версии.URL: http://weblog.rubyonrails.org/2016/6/30/Rails-5-0-final/
Новость: http://www.opennet.me/opennews/art.shtml?num=44713
>> В состав Rails 5.0 включен новый фреймворкфреймворк внутри фреймворка!!!!111
Ну вот пройдёт мода на всю эту MVC-шную чушь - что, будем перекраивать фрэймворк? Переименуем в КПСС-фрэймворк? Каким образом вообще _архитектурная_модель_ (одна из многих) влезла как основная фича библиотеки? Хардкоженная поделка, вот как это называют.
> пройдёт мода на всю эту MVC-шную чушьНе пройдёт. Уже сейчас человек в 18 лет начинает заниматься разработкой промышленного ПО, в 20 лет становится ведущим специалистом, в 25 руководителем отдела (и уже не работает с кодом), в 30 открывает свою компанию, куда нанимает 18-летних.
Он _в принципе_ не успевает понять, какое овно использует и создаёт, потому что к тому моменту, как начинают проявляться последствия, он уже и не помнит, как вообще пишется код, так как уже несколько лет лишь ездит по конференциям и рассказывает, какие гениальные решения использовал и создал. А 18-летние, которые его слушают, верят в его правоту и снова садятся на mvc.
Так это же сетевой маркетинГ!
Если каждый будет проходить такой путь, то на почти каждого предпринимателя/ездуна_по_конференциям будет приходится один начальник отдела, один отдел и в этом отделе один программист. Как-то совсем не похоже на реальную картину мира. В реальном мире очень небольшое количество людей интересуется такой карьерой. Более того, чаще всего начальниками и владельцами фирм являются люди вообще не начинавшие с позиции рядового программиста.
«будет приходиться», бестолочь
да вы, я погляжу, много поколений программистов пережили, по-прежнему работая php-junior'ом
Проще будет написать в своё время новый фреймворк по новой модели, чем сейчас переписывать "с прицелом на многомодельность" уже имеющийся и заточенный под mvc.
Может уважаемый предложит что-то лучше MVC?
Ответ: MVVM.
А MVC устарел еще в прошлом веке.
>Шаблон Model-View-ViewModel (MVVM) — применяется при проектировании архитектуры приложения. Первоначально был представлен сообществу Джоном Госсманом (John Gossman) в 2005как бы не мог он в прошлом веке устареть, да и это паттерн он в принципе не может устареть
Да, MVVM - частный случай MVC. Это известный факт. А теперь, может все-таки, предложите альтернативу, уважаемый?
"X имеет некоторые сходства с Y" и "X - частный случай Y" -- несколько разные вещи> Это известный факт
У тебя две ошибки в слове "неизвестное" и шесть - в слове "мнение". А еще пропущены слова "мое личное субъективное".
А мозги включить не пробовал? Ну, вместо того чтобы демагогию разводить? Например о том как практика некоторых реализаций MVC и двойное связывание привели к MVVM? КДПВ
http://www.beyondjava.net/blog/images/mvw/MVW_all_in_one.png
> практика некоторых реализаций MVC и двойное связывание привели к MVVMХимия - тоже частный случай алхимии.
В какой-то короткий исторический период - да. И в этом нет противоречия. Попробуй ещё.
> Каким образом вообще _архитектурная_модель_ (одна из многих) влезла как основная фича библиотеки?Не библиотеки, а фреймворка. Библиотеки -- лишь часть фреймворка. Кроме библиотек там присутствует куча соглашений и заранее принятых технических решений, о которых конечному программисту уже думать не надо. И следующему программисту, который будет читать код первого, тоже не надо будет думать о том, как же думал предыдущий, потому что он, зная соглашения фреймворка, уже заранее знает архитектуру конкретного веб-приложения. Ну, в идеале так должно быть, на практике выходит сложнее, и не только потому, что конечные программисты -- конченые дебилы, но и в силу вполне пристойных причин. В частности потому, что любая архитектура ущербна и не всё в неё укладывается. Потому что фреймворк -- это всегда сужение пространства возможных решений задачи. Для того он и фреймворк, чтобы сузить и, таким образом, упростить.
ну микроскопом тоже гвозди можно забивать, если вы понимаете о чем я
микроскоп нужен именно для забивания микроскопических гвоздиков микроскопическим молотком.пс: скоро ваще все отучатся программировать, будет весело и всё встанет на место, программинг будет академическим
софистика сэр
Господа, давайте разберемся, чем отличается фреймворк от библиотеки?
Допустим, преобладанием (существенным весом) IoC в архитектуре + набором служебных утилит.
Или так - в случае библиотеки, она встраивается в приложение. В случае фреймворка - приложение встраивается в него.