Обзор кода Ember.js

Я нашел Ember.js через эту статью.

Беглый взгляд на документацию promises очень впечатляющий инструмент. Беглый взгляд на исходный код показывает монстра. "Скомпилированная" версия источника составляет около 15000 строк кода, а GIT repo заполнен файлами, разбросанными вокруг.

Я бы не захотел приступить к изучению рамки JavaScript, если бы чувствовал, что не мог бы иметь по крайней мере глобального понимания кода. (Одно из качеств jQuery или Backbone - это то, что база кода относительно проста.)

Есть ли у вас какие-либо советы по навигации (и, в конечном счете, к пониманию) кода?

Ответ 1

Ember.js состоит из нескольких пакетов, включая наиболее релевантные:

  • уголек-металл
  • уголек-среда
  • уголек-просмотры
  • уголек-рули
  • уголек-маршрутизации

Он также имеет пару связанных зависимостей:

  • Рули
  • Metamorph

Металл состоит из нескольких технологий основания: наблюдателей, привязок, вычисленных свойств и цикла выполнения.

Runtime предоставляет систему объектов Ember наряду с несколькими полезными классами. Объектная система построена с использованием многих основополагающих технологий, реализованных в металле, но предоставляет их гораздо более чистым способом разработчику приложения.

Пакет ember-views довольно понятен, это система просмотра Ember, построенная поверх среды исполнения. Кроме того, пакет ember-handlebars, который зависит от ember-views, обеспечивает автоматическое обновление шаблонов поверх системы шаблонов Handlebars.

Пакет ember-routing обеспечивает систему, отвечающую за сохранение структуры и состояния приложения. Он позволяет подключать представления к определенным частям вашего приложения, а также переходить между состояниями. Подробнее см. Источник кода маршрутизатора

Для получения дополнительной информации о Handlebars посетите веб-сайт Handlebars.

Metamorph - небольшая библиотека, написанная Yehuda и Tom, которая предоставляет Ember возможность обновлять определенные части DOM, что позволяет Ember DOM.