добавить
ссылку в
Email
Fb
подписка
RSS
Twitter
Email
Fb

Фреймворк (Framework)

Что такое «Фреймворк (Framework)»?

Набор библиотек, связанный общей целью для автоматизации рутинных действий, упрощения связи между различными частями приложения и внесения в процесс разработки большего комфорта и предсказуемости. Объем и сложность фреймворка зависит от решаемых задач. Так низкоуровневый фреймворк на С, инкапсулирующий работу с потоками, сокетами и файлами, может быть заключен в 3-4 файлах по 5-10 кБ. В то же время, веб-фреймворк на PHP, решающий все возможные вопросы, начиная от доступа к данным и заканчивая автоматической генерацией AJAX интерфейсов, вполне может весить 20-30 MB, а число файлов в нем перевалит за две тысячи.

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

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

Примеры фреймворков

В данный момент времени самыми известными являются фреймворки создающие каркас приложения и определяющие его логику. Для веба это будут такие системы как:

  • Zend framework для PHP
  • Django для Python
  • Ruby on Rails для Ruby
  • Spring для Java
  • ASP.Net для языков способных работать в среде .Net.
  • и много других.

Причина их известности и популярности — они включают в себя почти все необходимое для полноценной работы, следовательно, нет необходимости использовать дополнительные библиотеки для реализации отдельных частей приложения. Например, используя RoR, разработчику уже не придется работать напрямую с SQL, кроме совсем уж экзотических случаев.

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

Так же достаточно известны фреймворки решающие меньшие задачи, но зато делающие это хорошо, такие как Prototype или JQuery на JavaScript. С некоторой натяжкой, к фреймворкам можно отнести и системы генерации HTML, такие как haml для Ruby.

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

программирование  фреймворк