Что такое фреймворк (framework)?

frameworkВсем привет. Сегодня я расскажу вам, что такое фреймворки и для чего они вообще используются в веб-разработке. Думал тут сам сформулировать определение, но подумал, что с этим лучше справляется Википедия:

Фреймво́рк (англицизм неологизм от англ. framework букв. – каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Употребляется также слово «каркас».

Здесь записано общее определение, ведь бывает веб-программирование, а бывает прикладное. Соответственно, свои фреймворки есть и там, и тут. Но я на своем блоге говорю только о веб-программировании, поэтому о нем мы и поговорим.

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

Фреймворки в веб-разработке

Фреймворк привязан к языкам, на которых он написан, поэтому и говорят, например: js-фреймворк, php-framework и т.д. Как правило, его создает один или несколько опытных разработчиков для того, чтобы в будущем использовать для своих целей. Некоторые фреймворки выкладывают в свободный доступ и их использование и кастомизация становятся доступными абсолютно для всех.

Пример свободно-распространяемого css-фреймворка — Bootstrap. С его помощью можно очень легко и быстро создать адаптивный шаблон, намного быстрее, чем с полного нуля. По сути, в полной версии фреймворка содержатся такие компоненты:

  • табы-переключатели;
  • модальные окна, оповещения;
  • адаптивная резиновая сетка;
  • кнопки, формы, таблицы и т.д.;

То есть при использовании css-фреймворка вам нет нужды писать код с нуля, очень многое уже реализовано, остается только применить нужные стилевые классы к элементам и все будет работать. Заметьте, что Bootstrap это не только css, но и js-framework. Подробнее о Bootstrap вы можете почитать здесь.

Пример php-фреймворка — известный в рунете Yii. Опять же, он существенно облегчает разработку сайта по сравнению с тем, если все делать на голом php. В фреймворках уже есть ряд готовых решений, поэтому вам, по сути, остается лишь изучить работу с ними. Про Yii я писал также тут.

У каждого фреймворка есть своя цель. Например, Bootstrap идеально подходит для разработки адаптивных шаблонов, сайтов с поддержкой на мобильных устройствах, с помощью Yii можно легко реализовать функционал интернет-магазина, Angular.js, о котором я говорил в недавней своей статье, идеально подходит для разработки веб-приложений.

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

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

Комментариев: 4
  1. Руслан

    Здравствуйте! Я хотел бы создать crm-систему с возможностью завязать ее на веб-сайт и мобильное приложение -По сути, одно большое веб-приложение. В нем по жполагается работа как менеджеров, так и мастеров и даже клиентов (оставлять заказы, комментарии, отслеживать статус выполнения заказа и т.п.)
    Какой фреймворк посоветуете?
    И сразу спрошу — на каком языке пишутся такие мобильные приложения как amocrm например? Я имею ввиду возможность оперировать базами данных без обновления веб-страницы? Ну и просто дружелюбный дизайн.
    Заранее огромное спасибо)

    1. Михаил (автор)

      Здравствуйте. Ну насколько мне известно, для работы с БД без перезагрузки в веб разработке используют один из следующих фреймворков:

      • Angular
      • Ember
      • React
      • BackBone

      Вроде наиболее популярные это Angular и React. Сам я посоветовать вам лучшее решение не могу, так как с подобными фреймворками еще не работал, только на Angular взглянул совсем чуть-чуть.

  2. Олег

    Здравствуйте,Михаил.А у вас будет на блоге детальный разбор Bootstrap? В интернете много всякой информации,но пока соберешь ее в кучу-сами понимаете.С уважением, Олег good

    1. Михаил (автор)

      Здравствуйте. Вообще в планах есть написать парочку статей по Bootstrap, пока есть только 1 статья общего плана, в этой статье есть ссылка.

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

      Если вам нужно максимально быстрое изучение фреймворка, могу только порекомендовать курс «Bootstrap практика адаптивной верстки от А до Я». Это платное обучение, но самое качественное, самое главное с практикой.

      Я же, конечно, в будущем напишу про Bootstrap пару статеек по самым важным темам. Как я уже говорил, описывать фреймворк ОТ и ДО нет смысла, потому что почти все есть в документации.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: