Ember.Js

Автор:Игорь Тельменко

Ember.Js

Продолжаю знакомство с различными MVC JS решениями. И сегодня черед Ember.JS, который во многом похож на Angular.JS и является ответвлением SproutCore.

В статье про Angular  у нас был пример с формой, которая отображала результат мгновенно, как только пользователь введет что-нибудь в поле ввода.

Так вот на официальном сайте Ember.JS есть похожий пример.

Пример интерактивной формы Ember.js

Ember, как и Angular имеет двустороннее связывание. Но в отличие от последнего он не использует атрибуты html для связывания. Вместо этого используется шаблонизатор Handlebars и магия маршрутов (routes).

Говорят, что Ember - штука сложная, с высоким порогом вхождения. Похоже, что это на самом деле так. Прежде чем сделать мало мальски сносное приложения необходимо понять как работает Ember и какой объект в каком месте работает. Этому я посвящу следующую статью, а сейчас еще немного в общем.

Конечно у Ember.JS есть то, за что одностраничное приложение называется одностраничным - роутинг. При, практически, любых действиях пользователя у нас меняется URI в строке URL браузера. Этот адрес мы можем использовать для передачи кому-нибудь.

Так же как и у Ангуляра, у этого фреймворка есть средства тестирования, которые позволяют тестировать как отдельные компоненты приложения (модульное тестирование), так и группами (интеграционные тесты).

Есть свой инструмент отладки - Ember Inspector. Это плагин для FireFox и Chrome, который позволяет видеть, что происходит внутри приложения. Например, видеть какие шаблоны загружаются при определенном URI.

Встроенных инструментов для построения и валидации форм похоже нет, но есть надстройка Ember Forms, которая позволяет это делать.

Есть такой инструмент, как Ember CLI. Это консольная утилита, которая служит примерно тем же целям, что и генераторы кода в Ruby On Rails.

Есть большая библиотека дополнений для Ember.

Как видно Ember и Angular во многом похожи, но все же они разные. Сломано не мало копий в темах о том, что же лучше одно или другое. По сообщениях в этих спорах видно, что Ember более многословен и потребует больше кода при написании приложения. Angular дает больше свободы в том, как именно реализовывать задачу. Однако создается впечатление, что код Ember легче будет поддерживать, так как он более структурирован. Хотя кажется мы сейчас начнем скатываться в холивар. Интересный комментарий на Хабре со сравнением Ember и Angular. Если вдруг потонет в пучинах сети, то можно почитать копию здесь.

Если бегло говорить об Ember, то пожалуй это всё. Конечно же теперь интересно сделать небольшое, но реальное приложение на этом фреймворке. В этом нам поможет следующая статья.

 

Оставить ответ