Статьи

3 библиотеки JavaScript, за которыми нужно следить в 2015 году

Наслаждайтесь созданием невероятных вещей с помощью JavaScript? Вам может понравиться наш курс о том, как создать ваше первое метеорное приложение на нашей обучающей платформе Learnable .

Как разработчики, мы все знаем, что наша отрасль развивается очень быстрыми темпами. Действительно, настолько быстро, что часто бывает трудно следить за всеми новыми библиотеками, фреймворками и новыми версиями инструментов, которые мы используем ежедневно. Тем не менее, важно оставаться в курсе как можно больше. Это позволяет нам оставаться продуктивными и соответствовать ожиданиям наших руководителей и клиентов.

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

React.js

реагировать-логотип

React.js , иногда называемый просто React, — это библиотека JavaScript для создания пользовательских интерфейсов, созданная в результате сотрудничества Facebook и Instagram. В настоящее время он поддерживается этими двумя компаниями с помощью других разработчиков и используется такими компаниями, как Yahoo, Airbnb, Sony и (конечно) Facebook и Instagram.

React.js не является полной структурой, поэтому он не предоставляет все компоненты, которые вы найдете в других проектах, таких как Ember или AngularJS . Он поощряет создание повторно используемых компонентов пользовательского интерфейса, которые представляют данные, которые со временем меняются. Многие люди любят называть React буквой V в MVC. Важное отличие от таких сред, как AngularJS, в которых используется модель двустороннего связывания данных, заключается в том, что в React используется модель одностороннего связывания данных .

Одна из самых важных концепций этого проекта — виртуальный DOM. Вы можете думать об этом как о наборе элементов, которые вы можете изменить с помощью своих данных и которые, в конце концов, изменят реальный DOM страницы. Виртуальный DOM используется для эффективного повторного рендеринга DOM с использованием алгоритма diff, который только повторно отображает измененные компоненты. Это, в свою очередь, позволяет библиотеке быть очень быстрой.

Еще одна замечательная особенность заключается в том, что он также может отображать на сервере, используя Node.js. Таким образом, вы можете использовать те же знания, которые вы получили как на клиенте, так и на сервере. Это имеет большую производительность и преимущества SEO. Многие разработчики используют React.js для рендеринга первой статической версии страницы на сервере, что быстрее, чем на клиенте, а также оптимизировано для SEO. Затем они обеспечивают быстрое взаимодействие с пользователем и обновления пользовательского интерфейса с помощью React.js на стороне клиента.

Это только краткое введение в эту библиотеку, и я действительно призываю вас узнать больше, посетив веб-сайт React.js . Он содержит много полезных руководств, которые помогут вам в процессе обучения.

метеор

неназванный

Meteor — это JavaScript-инфраструктура с открытым исходным кодом, написанная поверх Node.js, которая ориентирована на веб-приложения в реальном времени. Он не очень новый, так как он уже достиг стабильной версии (1.0), но в последнее время я вижу, как все больше людей обсуждают и принимают его для создания своих приложений.

Один из главных плюсов Meteor заключается в том, что он привносит в мир JavaScript знаменитый девиз «Пиши один раз, беги везде». Используя Meteor, вы пишете код, который запускается как на клиенте, так и на сервере, и вы даже можете превратить свое веб-приложение в мобильное приложение, используя Cordova за кулисами. Такое приложение называется изоморфным приложением, то есть приложением, которое может работать как на стороне клиента, так и на стороне сервера. Бэкэнд и внешний интерфейс используют один и тот же код. Если вам нравится тот факт, что вы можете превратить приложение Meteor в мобильное приложение, вы можете прочитать статью Дэвида Тернбулла « Руководство для начинающих по разработке мобильных приложений с Meteor ».

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

meteor create --example todos

Одна из моих любимых функций этого фреймворка заключается в том, что он реагирует , а это означает, что любое изменение ваших данных автоматически отражается повсюду в приложении без необходимости обратных вызовов. Кроме того, как я уже упоминал ранее, Метеор фокусируется на приложениях реального времени. Таким образом, изменения, сделанные вами или другими пользователями, мгновенно отражаются в пользовательском интерфейсе.

Если это введение кажется вам привлекательным, я предлагаю посетить официальный веб-сайт Meteor или прочитать статьи « 7 причин для разработки вашего следующего веб-приложения с Meteor» и « Что вам нужно знать о Meteor 1.0» , опубликованные здесь на SitePoint.

Rendr

логотип рендр

В последние месяцы я много читал об изоморфных приложениях, и Rendr — еще одна библиотека, использующая эту концепцию. Это небольшая библиотека, разработанная Airbnb, которая позволяет запускать приложения Backbone.js как на клиенте, так и на сервере. Преимущества те же, что указаны в разделе React.js: быстрое обслуживание статичных и оптимизированных для SEO HTML-страниц.

Облегчение — одна из целей этого проекта. Как уже упоминалось в этой статье :

В истинном стиле Backbone Рендр стремится быть библиотекой, а не фреймворком.

Рендр также пытается быть независимым от среды, сводя к минимуму код, например if (server) {…} else {…}

К сожалению, я не знаю о реальных приложениях, созданных с использованием этой платформы (за исключением того, что упомянуто в связанном посте Airbnb), поэтому я не уверен, что он достаточно зрел, чтобы использоваться в производстве.

Вывод

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

В последние недели я играл с React.js, и должен признаться, что мне это нравится. Я все еще изучаю эту библиотеку, поэтому у меня пока нет четких мнений о ней, и мне нужно использовать ее в крупном проекте, чтобы проверить ее должным образом. Но если он может обслуживать базу пользователей Instagram, я уверен, что он может надежно работать в малых и средних приложениях. Мне смешно, что, хотя Google не использует свой собственный AngularJS для таких приложений, как Gmail, Facebook внедряет React в производство.

Вы когда-нибудь использовали одну или несколько из этих библиотек и фреймворков? Если да, какой у вас был опыт с ними? И если вы не использовали их, готовы ли вы попробовать?