Vue.js provide/inject

При создании сложных Vue приложений приходится решать много задач по разделению кода на части (компоненты и прочее). Когда мы уже разбили большой кусок кода на некую иерархию компонентов, то обычно передаем вложенным компонентам данные через свойства. Но если глубина, на которую необходимо передать данные вниз по дереву больше 1 уровня, то передавать через свойства не то, что неудобно, но и неправильно.

Читать далее

Vue.js scoped slots и renderless component

Продолжая рассматривать способы повторного использования кода в vue.js можно встретить упоминания некоего приема с использованием не отображаемых компонентов и слотов с ограниченной областью видимости (scoped slots).

Читать далее

Vue.js Composition API

Продолжая разбирать тему повторного использования кода Vue.js, я пришел к Composition API, который является основным новшеством Vue 3. Его также можно использовать во 2 версии Vue, если установить как отдельный пакет. В сети эти изменения вызвали бурное обсуждение, зачастую негодование, среди тех, кто пользуется данным фреймворком и  создал не мало кода на старом API (Options API). Давайте разберемся почему появился новый API, как его использовать и в чем его плюсы.

Читать далее

Повторное использование кода Vue.js

По мере усложнения приложения, в котором львиная доля кода использует Vue.js, возникает вопрос повторного использования кода. Когда возможности расширить тот или иной компонент с помощью параметров или слотов уже не удовлетворяют всех потребностей, можно прибегнуть в другим способам.

Читать далее

Web Workers API

Web Workers API служит для запуска скриптов в фоне. Если нам необходимо запустить в фоне какие-либо вычисления, да еще и в несколько потоков, то это подходящий инструмент для таких целей. Так как работа происходит в фоне, то при этих вычислениях рендеринг страницы не блокируется. Все происходит параллельно.

Читать далее

Angular Light

Одной из проблем AngularJS называют его сложность. Однако принцип описания поведения веб-приложения через директивы в html коде все же интересен. Поэтому на свет появились такие библиотеки как CornerJs и Angular Light (aLight).

И если первая не развивается уже около года, то вторая продолжает радовать своих последователей новым функционалом. По заявлению автора, некоторых возможностей aLight нет в самом AngularJS.

Читать далее

ReactJs

React.js — фреймворк для создания интерфейсов от Facebook. Он позволяет создавать интерфейсы. В известном паттерне Model-View-Controller наш React ближе всего к пользователю. Он отвечает за представление данных, получение и обработку ввода пользователя. Где и в каком виде вы храните данные, как вы общаетесь с хранилищем, дело ваше. React — это только представление (View) вашего приложения, а не фреймворк на все случаи жизни.

Читать далее

KnockoutJs

Сегодня решил покрутить в руках следующий js-фреймворк — Knockout.JS и отметить его различия с другими. Он, как выяснилось, реализует Model-View-ViewModel шаблон проектирования. В данном шаблоне есть следующие составляющие:

  • Модель. Сущность (данные), как и в MVC
  • Представление. Это графический интерфейс
  • Модель представления (ViewModel). Связующее звено между Представлением и Моделью. Представление подписано на события ViewModel, а сама ViewModel содержит методы, с помощью, которых Представление может влиять на Модель.

Для того, чтобы пощупать Knoickout у них на сайте есть прекрасный интерактивный учебник. По нему очень удобно можно шаг за шагом освоить принципы построения приложения на данном фреймворке.

Читать далее

Ember.Js

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

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

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

Читать далее

BackBone.Js

В прошлой статье был описан фреймворк Angular.JS. И конечно же уже давно в воздухе висит вопрос «как там дела в других фреймворках?». Вот перехожу к разбору BackBone. Хотя формально Backbone — это библиотека, а не фреймворк.

На примерах изучать все гораздо веселее, поэтому давайте разберем крохотный пример, в котором показывается реализация списка книг.

HTML-код примера совсем простой. Здесь пара кнопок и место под будущий список.

Читать далее

AngularJS

AngularJS — один из самых известных Javascript MVC феймворков. В данной статье будут изложены его особенности. Статья носит ознакомительный характер и не ставит целью научить читателя работе с данным продуктом.

Для создания приложения с помощью Angular, элементам в HTML-разметке добавляются специальные атрибуты (типа ng-model и ng-app), который называются директивами (Directives) и добавляют на страницу магию связывания (Data Binding) одного с другим. Например, можно связать элементы управления (input, например) с блоками на странице, которые будут автоматически меняться в зависимости от значений элементов управления. Такие блоки называют выражениями (Angular Expressions). Они обрамляются фигурными скобками.

Читать далее