Что такое фреймворки

и зачем они нужны?

Фреймворк — это каркас для создания приложений, который упрощает разработку. Архитектура приложения, кроме неизменного каркаса, может оснащаться сменными модулями и другими компонентами.

Приложение, создаваемое на фреймворке, образно можно сравнить со зданием, которое уже построено, но в нём не проводились отделочные работы. Уже есть несущие конструкции, подведены коммуникации, а на долю жильцов приходится только внутренняя отделка. И выполнить её они могут по собственному вкусу. По желанию, могут установить перегородки, кондиционер. Могут расположить освещение — так, как именно им удобно. Т.е. возводить весь дом с нуля не нужно, а дизайн и комфорт можно получить какой хочешь.

Фреймворк это что



В чём отличие фреймворков от библиотек


Их часто путают. Но между ними есть очевидная разница. В глубокой древности, в прошлом веке :), все приложения целиком писались вручную. Потом стали замечать, что некоторые фрагменты кода в них повторяются.

Отличие фреймворков от библиотек

Программисты заново решали задачи, с которыми они уже сталкивались раньше. И стало понятно, что этот опыт пропадает впустую, он никак не используется в дальнейшем. Каждый раз — всё сначала — писать код, тестировать, вылезают баги, в общем, и вся песня с припевом.

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

По сути, библиотеки — это подборки подпрограмм, близких по тематике. Написал две строчки кода, и вызвал библиотеку, под капотом у которой может быть несколько тысяч строк. Т.е. исполняется базовый самописный код, который подтягивает сторонние готовые фрагменты из библиотек. И это никак не влияет на архитектуру самого приложения.

Библиотеки это что

А вот фреймворки — совсем другое дело. Внутри них самих содержится много разнообразных библиотек. У них общая архитектура — готовый каркас, к которому программист дописывает только части с бизнес-логикой, иными словами, с нужным ему функционалом. И базовым здесь является код самого фреймворка. Он выполняется, и когда нужно — вызывает эти самописные участки.



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


Так что нам дают фреймворки в практическом плане? Буду ориентироваться на веб-разработку.

1. Скорость разработки.
Они увеличивают скорость разработки во много раз. Нам же не нужно писать всё приложение целиком. Более того, даже модули для реализации типичных задач идут уже «из коробки». Разработчику даже знать не нужно по каким граблям пришлось ступать программистам, которые эти модули написали. Он просто использует готовые решения. Такие, как обработка форм, авторизация, работа с БД и т.д.

Скорость разработки на фреймворке

2. Преемственность.
Все сайты нуждаются в дальнейшей поддержке. И что делать, если специалист, который изначально вёл проект, перешёл в другую компанию? Как раз тут фреймворки незаменимы. Они делают возможным передачу проекта другим разработчикам с наименьшими издержками. Кроме того, всегда можно получить помощь в сообществе, конечно, если ваш фреймворк популярный.

3. Кибербезопасность.
Фреймворки протестированы и обладают фундаментальной защитой от самых известных уязвимостей: SQL-внедрений, XSS, запросов CSRF. В отличие от самописных решений они позволяют избегать критичных ошибок.

4. Востребованность у работодателей.
Все эти качества делают ценным навык владения фреймворками в глазах работодателей. Ну и это ещё не всё. Проекты на фреймворках, как нельзя лучше, подходят для кастомизации. Расшифрую. Это возможность доработки продукта под индивидуальные потребности заказчика.

Кстати, а почему мы отметаем в сторону Системы Управления Контентом (CMS), тот же WordPress, например? Ведь сделать сайт на нём гораздо проще и быстрее? А потому, что они как раз не подходят для кастомных решений. Если заказчик говорит: «А у вас есть такой же, только с перламутровыми пуговицами?», то вам и крыть нечем. К примеру, требуется личный кабинет с кучей сценариев. И это сразу упирается в ограниченный функционал. CMS это просто не потянет.

А с фреймворком мы можем сделать всё, что только пожелаем. И это далеко не все преимущества, которыми они обладают.



Популярные веб-фреймворки


Наиболее популярные фронтенд-фреймворки — это React, Angular и Vue. Здесь, понятно, весь пьедестал занимает JavaScript. Кстати, React — это, формально, библиотека. Но это настолько мощная платформа, что её часто ставят в один ряд с другими фреймворками.

Популярные веб-фреймворки для фронтенда

А вот в бэкенде разнообразия больше. Тут надо, первым делом, отметить Node.js, которая на сегодня стремительно завоевала популярность у веб-разработчиков? А почему? Если раньше JavaScript использовали исключительно во фронтенде, то сейчас, благодаря Node.js, он стал универсальным языком программирования. Теперь его используют и в бэкенде.

Далее у нас идёт фреймворк Django — это Python. Среди всех PHP-фреймворков явный лидер — Laravel. Он на голову обходит даже своего ближайшего собрата — Symfony. И стоит ещё упомянуть Rails для языка Ruby.

Популярные веб-фреймворки для бэкенда

Популярное

Полезное

Получить книгу

Мы здесь

Поделиться материалом с друзьями:

Вверх