Навіщо потрібні js фреймворки, web програмування


Для написання такого додатка існує кілька підходів:

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

Створення програми на jQuery

  • Швидкий старт.
    Тобто, щоб почати писати не потрібно ніякі настройки робити. Просто потрібно підключати бібліотеку - це швидко.
  • Не потрібно нічого вивчати.
    Багато знайомі з цією бібліотекою.

Створення програми на фреймворку

  • Структурований код, патерни.
    Будь-фреймворк несе в собі якийсь патерн програмування. Через це у нього дуже структурований код. Наприклад Backbone.js несе в собі патерн MVC, або наприклад AngularJS несе в собі патерн MVVM. Це значною мірою знижує подальшу розробку програми.
  • Багато потрібних інструментів йде вже «в коробці».
    Наприклад якісь інструменти для роутінга або для шаблонізаціі.
  • Висока продуктивність.
    Будь-фреймворк в десятки разів швидше ніж jQuery. Знову-ж на маленьких проектах це може бути не дуже актуально, але для більших це дуже помітно. Тобто додатки на jQuery можуть почати гальмувати бо операцій з DOM-му дуже затратні.
  • Легка розширюваність і підтримка коду.
    Через те що код структурований і все знаходитися в своєму модулі (модель, роутинг), дуже легко додати новий функціонал.
  • Швидка розробка.
    У початковому етапі придеться налаштувати якось фреймворк. Однак в наслідок можна буде просто користуватися вже тим що все структуровано і підвищитися швидкість розробки.
  • Вивчення фреймворка.
    Тобто в деяких фреймворками є власний синтаксис, як наприклад в React.js або Angular.js. У кожного фреймворка є своя «особлива» ідеологія (за рахунок цього і можна реалізувати цікаві речі).

Для маленьких програми не дуже доцільно будь-якої великої фреймворк.

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