Фреймворки JavaScript: как их выбирать. Основные библиотеки, инструменты и фреймворки JavaScript, которые вы должны знать

Сегодня получил письмо от читателя блога с просьбой посоветовать «хороший» фреймворк для изучения JavaScript . Письмо было достаточно длинным, но суть такая: парень не пытался изучать ванильный JavaScript , имеет базовые знания по применению библиотеки jQuery и хочет «прокачать» свои скиллы, изучив один из «крутых» фреймворков. Я начал набивать текст ответа - с подобными вопросами обращались уже неоднократно, но потом решил, что проще ответить сразу всем.

Начну с главного – нельзя стать хорошим разработчиком, начав изучать язык с фреймворка/библиотеки. Первым делом надо изучить сам язык: синтаксис, преимущества, недостатки, проблемы и т.д. Чтобы прочувствовать все выше перечисленное, недостаточно просто прочитать чью-то умную статью. Желательно познакомиться со всем на практике, т.е. выполняя реальные проекты. Пусть это будут маленькие, но все же проекты, решающую реальную задачу. Таким образом, вы сразу сможете понять, какие проблемы решаются выбранным языком программирования наиболее комфортно, а какие нет.

Вот здесь хочется кинуть камень в огород jQuery. Нет, не подумайте, это отличная библиотека, сумевшая решить кучу разных проблем элегантным способом, но многие разработчики ее поняли неправильно. Они зачем-то стали превращаться в интеграторов плагинов и использовать jQuery везде, где только можно. Слышали фразу «лапша из jQuery?» , в этом виновата не сама библиотека, а неправильное ее применение. Ее просто подключали, и решали все в контексте библиотеки, а не языка.

Сегодня jQuery применять не модно, ее место заняли другие, более продвинутые инструменты. Вот только бежать сломя голову и браться за их изучение, не имея прочного фундамента в виде знания самого языка, по меньшей мере, глупо. Да, приложив усилия, вы сможете применять определенный фреймворк, невзирая на его внутренности. Возможно, вы даже сможете написать таким способом реальное приложение. Многочисленные демки приложений, основанных на популярных фреймворках, существенно уменьшают порог входа. Но без знания платформы (в данном случае языка программирования), вы рискуете быстро растерять полученные знания.

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

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

Если вы новичок, изучите и получите практику применения языка программирования. Начните просто программировать и решать задачи. Совершенствуйте свой код и архитектуру постепенно, не пытайтесь разрешить несуществующие проблемы. Во-первых, у вас это вряд ли получится (вы же новичок), а во-вторых, всех проблем заранее не предвидишь. Требования к программам постоянно меняются и рано или поздно куски кода придется выбрасывать. Это нормально ©.

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

  • Элегантное решение нескольких проблем. Возможно, из этого перечня у вас только одна проблема;
  • Дополнительные ограничения при написании кода. Выбирая фреймворк, вы должны играть по «его правилам»;

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

Резюмируя все выше сказанное: не начинайте с сложного. Изучайте основы и базовую технологию (язык программирования). Только после изучения базы, беритесь за вспомогательные инструменты (фреймворки, библиотеки, системы сборки и т.д.). Помните, все эти штуки создавались с целью решения проблем/недостатков исходной технологии. Используйте их и вы по этому назначению.

JS-framework’и — это инструменты для построения динамических веб/мобильных/настольных приложений на языке Javascript. Как и к любым другим инструментам,
разработчики прибегают к использованию js-фреймворков там, где невозможно/очень сложно/очень долго выполнять задачу обычными средствами. В подавляющем большинстве случаев, фреймворки используются для написания, так называемых, Single Page Applications. Т.е. все, что проиходит на сайте, проиходит на одной страничке, без прямого перехода с нее.

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

Давайте сначала немного поговорим именно о фреймворках. Они предоставляют четкую структуру приложения и реализуются с использованием так называемых «паттернов проектирования» (понятие перекочевавшее больше из бекенда, но явно имеющее место во фронтенд разработке с использованием js-фреймворков). Наиболее широко рапространены следующие паттерны: MVC (Model-View-Controller), MVP (Model-View-Presenter) и MVVM (Model-View-ViewModel). В интернете имеется огромное количество информации, подробно описывающее каждый из них, и раскрытие этой темы не является основной задачей статьи, потому кому будет интересно — может самостоятельно ознакомиться с этими понятиями.

Преимущества построения приложения на JS-фреймворке:

  • можно легко реализовать SPA (Single Page Application);
  • использование js-фреймворка обязывает нас иметь структуру приложения (скажем решительное «нет» спагетти-коду);
  • кода становится заметно меньше и он чище, что позитивно отражается на скорости разработки, а также поддержке и устранении ошибок в коде приложения;
  • наличие структуры подразумевает модульность приложения, а это дает возможность проще работать над приложением нескольким разработчикам одновременно;
  • следующее преимущество больше вытекает из использования самого javascript, но значительно усиливается при использовании фреймворка: возможность быстро создать мобильное и/или настольное кроссплатформенное приложение из веб-версии с помощию систем типа PhoneGap или Apache Cordova.

Из существенных недостатков можно выделить только временно неполную поддержку поисковыми системами, но эта задача редко совпадает с задачей по реализации SPA (Single Page Application), тем более, что ведущие поисковые системы (как минимум, Google), уже практически полностью решили эту проблему.

Приложений на js-фреймворках уже выпущенно очень много и этот сегмент только набирает темп. Под примеры выполненных проектов на Angular.js, например, выделен целый сайт builtwith.angularjs.org , списки сайтов и приложений, использующих другие фреймворки можно найти внизу на главных страницах официальных сайтов: backbone.js , ember.js .

Javascript библиотеки

Напоследок немного слов об упомянутых выше js-библиотеках. Самые распространенные — jQuery, mootools, knockout, polymer, reactjs. Они сильно упрощают процесс написания не сложных отдельных функциональных модулей, реализуемых на javascript, но не являются и никогда не будут js-фреймворками. Да, они отлично вписываются в уже готовый сайт, и да, их используют те же js-фреймворки для работы с DOM’ом (например, Ember.js). Но на этом их функциональности и полезности заканчиваются: они не подходят для полноценной реализации одностраничных приложений.

В данном уроке разберём зачем вообще нужны JS фреймворки. Предположим нам нужно создать SPA (Single Page Application), это такое веб приложение которое состоит из одной страницы, а всё остальное делается средствами . Такие приложения характерны тем что они очень динамичны и работают на много быстрее чем статические сайты.

Для написания такого приложения существует несколько подходов:

  1. Писать на нативном JS.
    То есть без использования сторонних библиотек. Данных подход не разберём так как это очень тратит Ваши ресурсы, и в большинстве случаем в пустую.
  2. Используя библиотеки.
    В данном уроке для примера рассмотрим jQuery.
  3. Писать на фреймворке.
    И данный способ тоже рассмотрим.

Создание приложения на jQuery

Плюсы

  • Быстрый старт.
    То есть, чтобы начать писать не нужно никакие настройки делать. Просто нужно подключать библиотеку – это быстро.
  • Не нужно ничего изучать.
    Многие знакомы с данной библиотекой.

Минусы

  • Медленная библиотека.
    jQuery работает в десятки раз медленнее чем любой JavaScript фреймворк, или нативный JS.
  • Нет структуры.
    У данного подхода нет определенной структуры. То есть jQuery это просто библиотека которая основана на селекторах и не несёт в себе какого-то паттерна программирования. В ней мы просто пишем код и всё.
  • Сложная поддержка кода.
    Данный пункт это последствие предыдущего пункта. Если нет структуры сложно разобраться где и что лежит, по этому поддерживать такой код – трудно (и это уже знаю по личному опыту).
  • Плохая расширяемость.
    Когда приложение вырастит до больших объёмах, очень сложно будет добавить новый функционал так как не понятно будет что и где находиться. То есть для маленьких приложений это не очень актуально, однако для серьёзные приложения это будет сольдный минус.

Создание приложения на фреймворке

Плюсы

  • Структурированный код, паттерны.
    Любой фреймворк несёт в себе какой-то паттерн программирования. Из за этого у него очень структурированный код. Например Backbone.js несёт в себе паттерн MVC, или например AngularJS несёт в себе паттерн MVVM. Это сильно упрощает дальнейшую разработку приложения.
  • Много нужных инструментов идёт уже “в коробке”.
    Например какие-то инструменты для роутинга или для шаблонизаций.
  • Высокая производительность.
    Любой фреймворк в десятки раз быстрее чем jQuery. Опять-же на маленьких проектах это может быть не очень актуально, однако для больших это очень заметно. То есть приложения на jQuery могут начать тормозить потому что операций с DOM-ом очень затратны.
  • Лёгкая расширяемость и поддержка кода.
    Из за того что код структурированный и всё находиться в своём модуле (модель, роутинг), очень легко добавить новый функционал.
  • Быстрая разработка.
    В начальном этапе придёться настроить как-то фреймворк. Однако в последствие можно будет просто пользоваться уже тем что всё структурировано и повыситься скорость разработки.

Минусы

  • Изучение фреймворка.
    То есть в некоторых фреймворках есть собственный синтаксис, как например в или Angular.js. У каждого фреймворка есть своя “особенная” идеология (за счёт этого и можно реализовать интересные вещи).

Итог:

Для маленьких приложения не очень целесообразно какой либо большой фреймворк.

Однако для SPA нужно использовать фреймворк.

В поисках полезных JavaScript фреймворков и библиотек? Ознакомьтесь с нашим обзором и выясните, что именно подойдет для вашего проекта.

JavaScript (JS) – один из самых популярных ЯП во всем мире. Веб-разработчики активно используют JS для проектирования, анимации и создания веб-страниц. Наряду с HTML и CSS, JavaScript может сворачивать горы, а именно делать веб-страницу интерактивной и максимально интересной для пользователей.

JavaScript не ограничивает себя. Вместо этого он продолжает развиваться. Это наиболее универсальный язык программирования, что подкреплено его способностью разрабатывать приложения для широкого спектра платформ, таких как Android, Windows и iOS.

Основные преимущества JS:

  1. Гибкость – приветствуются изменения.
  2. Надежность – работает и изменяется в соответствии с определенными приоритетами.
  3. Масштабируемость.
Давайте же рассмотрим несколько JavaScript фреймворков и библиотек, которые все так же актуальны в 2018 году.

Vue.js

Open Source фреймворк для работы с UI, который продолжает развиваться. Заслуженно наиболее популярный JS-фреймворк по статистике GitHub. Vue.js перерисовывает минимальное количество компонентов и поддерживает интеграцию сторонних библиотек. Как и React.js, Vue.js очень быстрый, использует Virtual DOM, а также предоставляет реактивность и компонентную структуру.

Плюсы:

  1. Легкая интеграция в проекты с использованием других библиотек.
  2. Может работать как фреймворк для создания продвинутых одностраничных приложений.

Минусы:

  1. Система рендеринга предоставляет меньше возможностей для отладки, чем аналогичная система React.
  2. Компонентный подход в React более гибок и очевиден.

Angular

Эта разработанная Google платформа JS установила новую планку. Незаменимый фреймворк предназначен не только для разработчиков ПО, но и для дизайнеров. AngularJS, Angular 2 и Angular 4 прочно обосновались среди востребованных фреймворков. Это открытая платформа, которая поможет создавать SPA-приложения (Single Pages Applications), осуществлять двустороннее связывание для динамического изменения данных, etc.

Плюсы:

  1. Разработчики сталкиваются с меньшим количеством ошибок, поскольку привязка данных строится на базе Angular-элементов.
  2. Поддерживаются различные элементы MVC.
  3. Хорошо работает в среде Agile.

Минусы:

  1. Vue проще в плане архитектуры.
  2. API Angular огромное, и нужно разобраться со многими концепциями.

jQuery

jQuery и JavaScript давно и прочно связаны. С лицензией MIT эта библиотека предоставляет разработчикам приложений возможность писать более короткий код, сокращая тем самым рабочую нагрузку. Поддерживает DOM-манипуляции и в тандеме с CSS может пригодиться для решения любой задачи.

Плюсы:

  1. Широко используется благодаря быстрой обработке.
  2. Во всех браузерах ведет себя одинаково.

Минусы:

  1. Множество функций, облегчающих работу с DOM, уже реализованы нативно.

React.js

Следующей для вступления в лигу является библиотека для работы с UI React.js. Это сердце и душа IT-компаний и различных бизнес-сайтов. Данная JS-библиотека вступает в игру, когда нужно решить проблему частичного обновления содержимого веб-страницы. Идеальный инструмент для масштабных веб-проектов. Функционал React.js способствует улучшению работы UI.

Плюсы:

  1. Free and Open Source.
  2. Может использовать уже написанный код.
  3. Поддерживает виртуальную функциональность DOM.

Минусы:

  1. Алгоритм Virtual DOM неточный и медленный.
  2. Требуется сложное асинхронное программирование при общении с сервером.

Node.js

Эта серверная JS-платформа будет следующей. Отзывчивый, неблокирующий и быстрый инструмент. GoDaddy и Paypal – лишь некоторые из именитых компаний, которые используют Node.js. Он лучше всего подходит для приложений, связанных с I/O и приложений для потоковой передачи данных.

Плюсы:

  1. Такие ПО могут работать на нескольких хостах.
  2. Включение быстрых серверов.

Минусы:

  1. Не для «не сквозных» операций.
  2. Без тестов в Node.js делать нечего.

Titanium

Titanium – это и SDK, и облачная платформа для сборки/распространения ПО. Качественный, доступный и простой в освоении инструмент. Titanium предназначен для кроссплатформенной разработки, что идеально подходит для создания функционально насыщенных приложений.

Плюсы:

  1. Простота обучения и реализации.
  2. Высокопроизводительная структура.
  3. Для десктопных и мобильных кроссплатформенных ПО.

Минусы:

  1. Не самый эффективный и оригинальный подход к созданию UI, в отличие от того же React.

Ember.js

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

Плюсы:

  1. Легко настраивается в системе.
  2. Разворачивает большие пользовательские интерфейсы.

Минусы:

  1. Жесткая структура проектов.
  2. Нет стандартного набора UI-элементов.

Продолжаем сравнение ведущих Javascript Frameworks для 2011 года. В мы выделили строго научными методами, избежав субъективности и ненужного экспрессизма, этих самых мировых лидеров, ну, а сегодня мы рассмотрим их уже непосредственно и в близи — шесть ведущих мировых javascript-библиотек в порядке убывания их популярности.

1 место:

Размер: 155Kb (миним.версия - 72Kb), лицензия: MIT и GNU GPL, Последняя версия: 1.6 (3 мая 2011)

jQuery - самая популярная и распространенная библиотека на JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Также jQuery предоставляет удобный API по работе с Ajax. Данный фреймворк один из первых удачно реализовал . Другой секрет популярности этой библиотеки, это реализация очень выдержанного баланса между хорошей функциональностью и при этом удачной попыткой создания достаточно компактного универсального ядра. Если дополнить сюда компромиссную возможность очень просто расширять функциональность базовой библиотеки за счет включения дополнительных плагинов (количество которых сейчас зашкаливает уже за 1000) - то на выходе мы получаем по-настоящему очень универсальный, гибкий и быстрый продукт.

Для желающих получить более продвинутые UI-эффекты (UI, user interface), такие как масштабирование, сортировка, поддержка drag and drop, и стандартные виджеты, такие как закладки, слайдер, прогрессбар и т.д., — рекомендуется использовать родственную библиотеку , которая специализируется именно на графических эффектах и созданию сложного пользовательского интерфейса.

В целом, jQuery очень выгоден для малых и средних проектов, но при разработке крупных проектов может быть проблематичен, так как приводит к дефициту проектирования, хотя весьма производителен благодаря простому содержанию и коду. Ну, о популярности продукта говорит хотя бы то, что былые конкуренты, например xajax (xajaxproject.org), сами переходят в итоге на использование jQuery, Microsoft собирается популяризовать совместное использование jQuery со своими технологиями, а Nokia заявляет о намерении интегрировать jQuery для своих мобильных виджетов.

Digg, BBC, Dell, IsoHunt, Break.com, TinyPic, eMusic, Box.net, Яндекс Карты.

Ключевики для SEO: меню jquery, ойгукн, jquery примеры ajax, javascript справочник, ойгукн

2 место:

Размер: 278Kb (миним.версия - 56Kb), лицензия: MIT, последняя версия: 1.7 (22 ноября 2010)


Второй по популярности js-фреймворк, который существенно упрощает работу с Ajax и некоторыми другими продвинутыми js-возможностями. Несмотря на его доступность в виде отдельной библиотеки, он чаще всего используется программистами вместе с Ruby on Rails, Tapestry, script.aculo.us и Rico. Часто именно близкой интеграцией с распространенным Ruby on Rails, пытаются объяснить его популярность (хотя уже рассмотренный jQuery на уровне плагинов также может взаимодействовать со многими популярными платформами, например, с тем же Ruby on Rails или PHP (jquery.hohli.com)).

С точки зрения проектирования фреймворк очень удобен для средних проектов, так как предоставляет элементарный способ эмулирования классического ООП вдобавок к своему простому функционалу. Производительность у него несколько нестабильна, т.е. на некоторых операциях он может быть быстрым, на других - производительность заметно падает. Prototype один из немногих фреймворков, который не включает в себя UI-компоненты или UX-улучшения, — для использования подобных эффектов рекомендуется использовать его дочернюю библиотеку — script.aculo.us (или Scripty2), которая добавляет огромное количество графических эффектов, поддержку drag-and-drop, слайдеры, Ajax-редакторы и т.д.

Примеры известных сайтов на базе этого фреймворка: CNN, The New York Times, Apple, Fox News Channel, Last.fm, Twitter, Hakia.

Ключевики для SEO: джава скрипт, prototype скачать, javascript js, js document, script js, сравнение фреймворков

3 место:

Размер: 101Kb (миним.версия - 60Kb), лицензия: MIT, последняя версия: 1.3 (11 октября 2011)


MooTools является модульным, объектно-ориентированным фреймворком. Он очень похож в своем подходе к дизайну ядра на jQuery и Prototype - он не включает в себя UI-контролы и виджеты, ограничиваясь минимальным набором эффектов и возможностей.

Это очень хорошая JavaScript-библиотека - шустрая, небольшая, разбита на множество маленьких модулей, отлично документирована. По нашему единодушному мнению код здесь более понятен и лучше организован по сравнению с лидером - jQuery. Модульность это отдельный жирный плюс: есть возможность скомпилить нужную для конкретной цели библиотеку - хотя экономия килобайт по сравнению с jQuery практически никакая. Сложилось стереотипное мнение, что новичкам лучше использовать jQuery, а опытным программистам - MooTools, мы же считаем, что MooTools лучше подходит и тем и другим.

Кроме того, этот фреймворк содержит очень интересный плагин MooTools.More.js, который на самом деле несколько больше чем просто плагин: он позволяет очень сильно наращивать возможности сторонними библиотеками, и имеет при этом очень интересные add-ons, для манипуляций с массивами, датами, хэшеми, строками и т.д. Нас очень впечатлила возможность локализовать англоязычный синтаксис языка самого mootools на любой национальный язык, что позволяет программировать на нем максимально комфортно, например, на русском языке.

Примеры известных сайтов на базе этого фреймворка: MooTools используется в CMS Joomla, поэтому таких сайтов чрезвычайно много. Его также использует (Консорциум Всемирной паутины)

Ключевики для SEO: mootools joomla, mootools jquery, mootools js

4 место:


Библиотека Yahoo! UI Library (YUI) - это набор утилит и контролов, написанных на JavaScript и CSS, для создания интерактивных web-приложений, использующих техники DOM-скриптинга, DHTML и Ajax. В этом фреймворке доступны два типа компонентов: утилиты и контролы. Утилиты упрощают браузерную разработку, связанную с DOM, DHTML и Ajax. Контролы - это набор уже готовых, высоко-интерактивных визуальных элементов для проектирования веб-страниц. Все эти элементы создаются и работают только на клиентской стороне и не требуют обновление страницы для их изменения. Вся библиотека распространяется под BSD-лицензией и бесплатна для всех пользователей. YUI создана совместными усилиями ведущих инженеров Yahoo, а также разработчиками со всего мира. Сейчас это один из ведущих js-фреймворков, полностью готовый для промышленного использования, где очень продвинутые UI- и UX-составляющие интегрированы в одно целое в рамках одной поставки, образуя полностью завершенный, независимый и универсальный продукт. Если к этому добавить её очень либеральную лицензию, то понятна та популярность, которую справедливо снискала эта библиотека, особенно в коммерческих разработках и многочисленных форках, где она была взята за основу.

Примеры известных сайтов на базе этого фреймворка: Yahoo! Shopping, Bebo, ImageShack, LinkedIn, Walmart.com.

Ключевики для SEO : скачать yui, нфрщщ

5 место:

Размер: 502Kb (миним.версия - 84Kb), лицензия: GPLv3 и коммерческая, последняя версия: 4.0 (26 апреля 2011)


Проект начинался, как попытка расширить вышерассмотренный фреймворк Yahoo! User Interface, но на данном этапе - это уже полностью самобытный, практически никак не связанный с YUI проект. Движущей силой, основателем и бессменным лидером проекта остается Джэк Слоцум, — известный специалист в среде JavaScript-программистов.

ExtJS - это не самый производительный из существующих фреймворков, его главная отличительная черта в том, что он предоставляет собой наиболее приближенную среду к классическому программированию, реализуя очень развитые графические средства отображения и взаимодействия с пользователем в среде Web 2.0. Начиная с версии Ext JS 3.0 библиотека логически разбивается на две части: Ext Core (набор JavaScript-функций, позволяющий создавать динамические веб-страницы с унификацией обработки в различных браузерах и распространяемый по MIT-лицензии) и Ext JS (набор виджетов для создания пользовательских интерфейсов с двойным лицензированием по GPL v3 или по коммерческой лицензии).

В целом же, ExtJS производит весьма благоприятное впечатления - у этого фреймворка действительно большие графические возможности. Здесь грань между веб- и десктоп-приложениями становится всё тоньше.

Ключевики для SEO: ext скачать, ext 4, ext js, ext 3, ext 2, ext yst pfdtltybz

6 место:

Размер: 123Kb (миним.версия - 65Kb), лицензия: BSD и AFL, последняя версия: 1.6.0 (15 Марта 2011)


Ещё один пример из списка популярных фреймворков, который кроме того что во многом повторяет плюсы своих аналогов, имеет и свои особенности. Среди самых важных хотелось бы упомянуть очень серьёзную попытку добиться полной независимости от каждого конкретного js-интерпретатора, для чего разработчиками проводится просто титаническая работа по тестированию и поиску максимально универсальных и простых решений. Поэтому как следствие - сфера применения этого фреймворка максимально широка: это не только обычные решения на стороне клиента, но также и на стороне сервера и десктопных компьютеров, — везде, где имеется возможность запуска JavaScript. Вторая важная техническая особенность Dojo, это поддержка дизайна множественности точек входа (Multiple Points Of Entry), что дает ему множество очевидных технических преимуществ. Также хочется упомянуть Dojo Extensions for Adobe AIR, призванный помочь разработчикам применять весь потенциал платформы AIR в приложениях с использованием Dojo Toolkit.

Примеры известных сайтов на базе этого фреймворка: Dogo Toolkit активно используется в знаменитом расширении PHP — Zend Framework, поэтому таких сайтов чрезвычайно много.

Ключевики для SEO : скачать dojo подробное руководство, dojo zend dojo toolkit, dojo примеры

В заключительной, этого опуса, я рассмотрю уже не лидеров, но просто — очень перспективные фреймворки. Как всегда в своих статьях, стараюсь смотреть не только под ноги, констатируя при этом подчас банальные факты, но и чуть вперед — заглядывая по возможности в будущее. С этой точки зрения и приводится мой дополнительный Top 3 + философское заключение по теме (специально для молодых js-программистов).