Javascript-форум (https://javascript.ru/forum/)
-   Сайт Javascript.ru (https://javascript.ru/forum/site/)
-   -   [Обучение] Выбор продвинутого курса (https://javascript.ru/forum/site/39415-%5Bobuchenie%5D-vybor-prodvinutogo-kursa.html)

Magneto 30.06.2013 01:41

Цитата:

Сообщение от monolithed
Backbone.JS - MV (model + view (хотя очень спорно, т.к. за view они выдают HTML))

Немного непонятно. Такое впечатление что в канонах MVC написано что если вьюха использует HTML для вывода информации, то это автоматически делает ее не вьюхой. Или о чем речь?

Если совместно с Backbone.js использовать Chaplin.js, то мы получим полноценный MVC.

monolithed 30.06.2013 02:08

Цитата:

Сообщение от Magneto
Такое впечатление что в канонах MVC написано что если вьюха использует HTML для вывода информации, то это автоматически делает ее не вьюхой.

Имеется ввиду, что пассивное предствление не может полноценно рассматироваться как часть паттерна MVC (также как и отстутствие контроллера), т.к. модель в данном случае связана лишь косвено с представлением.

Magneto 30.06.2013 02:18

Цитата:

Сообщение от monolithed
пассивное предствление

Имеется ввиду что в Backbone.js View нету двухстороннего биндинга?
Цитата:

Сообщение от monolithed
т.к. модель в данном случае связана лишь косвено с представлением.

Это как? Пример не косвенной связи приведи или как то по другому сформируй.

monolithed 30.06.2013 03:09

Цитата:

Сообщение от Magneto
Имеется ввиду что в Backbone.js View нету двухстороннего биндинга?

Click Me!
<script>
var Lib = function() {};

Lib.prototype = {
       constructor: Lib,

       data: {},

       on: function(event, data, callback) {
              if (typeof data == 'function') {
                     callback = data;
                     data = {};
              }

              this.data[event] = new CustomEvent(event, {
                     detail:     data,
                     bubbles:    true,
                     cancelable: true
              });

         
              document.addEventListener(event, callback, false);
              return this;
       },

       off: function(event) {
              document.removeEvent(this.data[event]);
              return this;
       },

       trigger: function(event) {
              document.dispatchEvent(this.data[event]);
              return this;
       }
};

var lib = new Lib;
  
lib
   .on('click', function(event) {
      lib.trigger('foo');
   })

   .on('foo', {
       message: 'Hellow World!'
   },
   function(event) {
       var element = document.body;       

       element.style.cssText = 'text-align: center; font-size: 20px; background: red; color: white';  
       element.innerHTML = event.detail.message;         
   });
</script>


Где тут MVC?

Цитата:

Сообщение от Magneto
Это как? Пример не косвенной связи приведи или как то по другому сформируй.

Angular, ExtJS

Хотя, Backbone.View. + _.template, вполне себе View ;)

Илья Кантор 01.07.2013 11:27

Спасибо за участие! Опрос закрыт, выводы сделаны ;)

Итоговое распределение по голосам такое:
1. Angular
2. Node
3. Backbone
4. Knockout

...Но где-то посередине опроса была накрутка по Angular. Но шёл вторым, после Node, с небольшим отрывом от Backbone, когда ему резко прибавилось много голосов. Подозреваю, что какой-то коллектив или "доброжелатель" постарался. Если накрутку вычесть, то Angular будет идти после Node, но немного перед Backbone.

Детали курса будут разосланы по рассылке http://javascript.ru/courses, сначала по Node, так как по нему курс фактически готов, а затем - по Angular.

askinemeniksa 01.07.2013 14:17

полтора годика назад все следили за противостоянием Backbone vs. Knockout, теперь видно что второй слил Angular'у.
для желающих Angular - советую курс http://www.egghead.io/

Shaci 01.07.2013 15:50

Цитата:

Сообщение от askinemeniksa
теперь видно что второй слил Angular'у.

почему это слил?
Angular - http://spb.hh.ru/applicant/searchvac...0&noMagic=true

Knockout - http://spb.hh.ru/applicant/searchvac...0&noMagic=true

Я правда не знаю, можно ли эти продукты вообще сравнивать, с ангуляром не знаком

Илья Кантор 01.07.2013 18:29

Для определения положения библиотек - по Knockout результаты не репрезентативны, так как эта библиотека входит в базовый курс JavaScript как пример MVVM, и многие из голосовавших уже умеют с ней работать.

Что же касается Backbone, то как и Angular это несовершенный инструмент со своими + и -. Есть и другие библиотеки с ними же. Есть проекты, для которых лучше Backbone, а есть - Angular, а есть - Vanilla.JS :)

P.S. Вакансий по Backbone, безусловно, больше чем с Angular, который на текущий момент является более "горячим" и менее устоявшимся продуктом.

askinemeniksa 05.07.2013 18:12

Knockout был единственным известным MVVM-фреймворком, лоббируемый самим Microsoft'ом. в итоге его взяли в работу многие .NET команды, и понятно что более ранний продукт имеет больше вакансий, чтоб саппортить и развивать то, что есть.
но концептуально Ангулар уже похоронил Нокаут, да и Майкрософт чтото не сильно за детище держится.

Цитата:

Сообщение от Shaci (Сообщение 259449)
почему это слил?
Angular - http://spb.hh.ru/applicant/searchvac...0&noMagic=true

Knockout - http://spb.hh.ru/applicant/searchvac...0&noMagic=true

Я правда не знаю, можно ли эти продукты вообще сравнивать, с ангуляром не знаком


mcpro 13.07.2013 00:11

Илья, а почему в этом списке нету ext.js?


Часовой пояс GMT +3, время: 23:03.