Фреймворк (в перекладі з англ. Framework- каркас) - це набір бібліотек для автоматизації рутинних дій, внесення в процес розробки більшої передбачуваності і комфорту, спрощення зв'язку між різними частинами програми.

Складність і обсяг фреймворка визначаються вирішуваних завдань. Наприклад, низькорівневий фреймворк на С, який інкапсулює роботу з сокетами, файлами і потоками, може складатися з 3-4 файлів по 5-10 Кб. Веб-фреймворк на PHP, який вирішує різні завдання - від доступу до бази даних до автоматичної генерації AJAX інтерфейсів, може складатися з двох тисяч файлів загальним розміром до 20-30 Мб.

Від фреймворка залежить програмний інтерфейс (API), а також архітектура побудованого з його допомогою майбутнього програми. Тому розробник повинен не тільки знати бібліотеки, а й розуміти основні патерни проектування.

Багато з рішень, крім самих бібліотек, включають додаткові утиліти для створення каркаса вихідного коду, виконання комплексного і функціонального тестування, міграцій даних.

Приклади фреймворків

Найбільш відомі фреймворки, які генерують каркас додатка і визначають його логіку:

  • Zend framework для PHP,
  • Ruby on Rails для Ruby,
  • Django для Python,
  • ASP.Net для мов .Net,
  • Spring для Java і ін.

Ці фреймворки популярні завдяки тому, що мають практично все необхідне для роботи, а значить, використання додаткових бібліотек для реалізації окремих компонентів програми не потрібно. Наприклад, розробнику, використовуючи RoR, безпосередньо працювати з SQL не доведеться.

Для декстопних програм існують фреймворки, побудовані на тій же основі або реалізують аналогічний функціонал, наприклад, .Net від Microsoft.

Як стати клієнтом GoToTOP?

Для замовлення стратегії в Львові або Львівській області просто заповніть заявку. Менеджер по роботі з клієнтами зв'яжеться з вами і підготує персональне комерційну пропозицію performance-marketing агентства GoToTOP, складене з урахуванням ваших цілей і можливостей.

Відправляючи форму, ви погоджуєтеся на обробку персональних даних, захищених політикою конфіденційності та оброблюваних для виконання вашої заявки.