
Ты, наверное, заметил, что в мире программирования много интересных словечек? Одно из них – framework, которое можно дословно перевести с английского как «каркас», «структура», «конструкция».
Что же такое фреймворк? Если говорить скучным академическим языком, то это некий набор библиотек, который облегчает разработку любых продуктов: web-сайтов и web-сервисов, мобильных или десктопных приложений. В свою очередь, библиотекой мы называем совокупность файлов (или один файл), в которых хранятся подпрограммы, объекты, функции и другие данные, используемые программистом в работе. Кстати, в некоторых ЯП, например, в Python, библиотеки называются модулями.
Если же говорить более простым языком, то фреймворк – это рабочая среда, которая помогает разработчику быстро и качественно создавать программный продукт, не отвлекаясь на мелочи. Собрал каркас – прикрутил модули – тестируй.
Если продолжить рассуждения и перейти на метафоры (мы и так умеем, да), то framework можно сравнить с набором инструментов, который есть в распоряжении, скажем, автослесаря. Как он будет их использовать – зависит от его опыта, характера поломки автомобиля и других факторов. Так понятнее? Ну и отлично.

Первый вопрос, который задает себе программист, осваивающий огромный арсенал инструментов – какой фреймворк выбрать? Ну что ж, для начала разберемся, какие из них бывают и где они применяются.
Виды фреймворков
Стоит навсегда уяснить, что каждый framework привязан к конкретной технологии и/или языку программирования. Приведем примеры:
- Zend Framework. Это программный продукт используют многие профессиональные PHP-программисты. Он делает жизнь web-разработчика легче, прежде всего, потому, что содержит множество полезных библиотек. К ним относятся возможность интеграции проекта с YouTube и другими сервисами, упрощение работы с базами данных, пользователями, кэшированием и пр.
- Bootstrap. Популярный фреймворк, помогающий быстро и качественно верстать макеты сайтов. Включает в себя шаблоны для создания слоев, кнопок, форм, блоков навигации и других элементов web-страниц.
- Yii. Объектно-ориентированный фреймворк для создания масштабных web-приложений: интернет-магазинов, CRM-систем и пр. Главными достоинствами Yii является высокая производительность и безопасность.
- Corona SDK. Богатейший инструментарий для разработки игр и приложений для Android. Его отличительной особенностью является то, что он работает на собственном языке программирования, который носит название Lua.
Получается, что выбрать фреймворк – задача не такая уж и сложная. Достаточно понять, в какой области деятельности ты хочешь развиваться, и – вперед.

Преимущества и недостатки framework’ов
Безусловно, использование фреймворков имеет массу достоинств. Приведем лишь некоторые из них:
- Повышение скорости и удобства разработки
- Сокращение затрат на создание приложения
- Оптимизация рабочего времени
- Написание чистого кода, не требующего существенного рефакторинга (переработки) в дальнейшем
Проще говоря, фреймворк берет на себя большую часть работы. К примеру, программисту не нужно думать, как записать данные в файл – достаточно нажать соответствующую кнопку и вызвать метод, который решит эту задачу.
Однако в нашем мире нет ничего идеального. Именно поэтому у фреймворков есть серьезные недостатки:
- Проблемы с безопасностью. Почти все framework’и имеют открытый исходный код, что, конечно, напрямую влияет на их защищенность от внешних угроз.
- Сложность освоения. По сути, любой фреймворк – это результат работы другого программиста, и не всегда до конца ясно, как он функционирует (фреймворк, конечно, а не программист :-)).
- Необходимость переучиваться при смене продукта. Представь: ты освоил Zend Framework, но попал в команду, которая использует совершенно другой инструментарий. К сожалению, в природе не так много фреймворков, которые идеально похожи друг на друга, так что – ничего не поделаешь – придется переучиваться.
Подводим итоги
Вы все еще спрашиваете «что такое фреймворк»? Подытожим: это программный продукт, который в определенной степени упрощает разработчику жизнь – он предоставляет готовые решения, что очень важно при работе с проектом.
Пожалуй, мы ответили и на другой вопрос: «зачем нужен фреймворк?». Для увеличения скорости разработки, для получения нового опыта, для повышения своего профессионального уровня, наконец. Он является тем инструментом, владение которым сразу отличает профессионала от новичка.
И последнее, но очень важное: не нужно приступать к изучению какого-либо фреймворка, если ты не имеешь прочных знаний в конкретной области, ее материальной части. Сфера программирования устроена так, что сначала ты должен пропустить через себя тонны информации, до многого дойти своим умом, методом проб и ошибок понять главное…
Когда же ты заберешься по этой отвесной стене, тогда и получишь право использовать готовые инструменты, одним из которых является фреймворк.
Ты готов к этому? Приходи к нам на курсы.