Зачем нужны js фреймворки?

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




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

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

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

Плюсы

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

Минусы

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

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

Плюсы

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

Минусы

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

Итог:

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

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

Просмотры: 1 336
(2 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

You have to agree to the comment policy.