Тематические статьи →

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

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

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

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

Одним из глав­ных пре­иму­ществ при исполь­зо­ва­нии фрейм­вор­ков явля­ется то, что веб-при­ло­же­ния часто исполь­зуют стан­дар­ти­зи­ро­ван­ную струк­туру орга­ни­за­ции ком­по­нен­тов. Сооз­да­ние струк­туры при раз­ра­ботке на фрейм­вор­ках очень упро­ща­ет­ся. По сути, фрейм­ворк — это мно­же­ство кон­крет­ных и абстракт­ных клас­сов, а также опре­де­ле­ний спо­со­бов их вза­и­мо­от­но­ше­ния. Кон­крет­ные классы обычно реа­ли­зуют вза­им­ные отно­ше­ния между клас­са­ми, а абстракт­ные классы пред­став­ляют собой точки рас­ши­ре­ния, в кото­рых кар­касы могут быть исполь­зо­ваны или адап­ти­ро­ва­ны. Для обес­пе­че­ния рас­ши­ре­ния воз­мож­но­стей обычно исполь­зуются тех­ники объ­ектно-ори­ен­ти­ро­ван­ного про­грам­ми­ро­ва­ния (напри­мер, части при­ло­же­ния могут насле­до­ваться от базо­вых клас­сов фрейм­ворка).

Перед веб-раз­ра­бот­чи­ками часто стоит выбор между коро­боч­ными CMS и фрейм­ворками для реа­ли­за­ции про­ек­та. У каж­дого из под­хо­дов есть свои плюсы и мину­сы, ниже мы рас­смот­рим пре­иму­щества и недо­статки раз­ра­ботки на фрейм­вор­ках.

Плюсы фрейм­вор­ков

Раз­ра­ботка на фрейм­ворке (в отли­чие от само­пис­ных реше­ний) поз­во­ляет добиться про­стоты сопро­вож­да­е­мо­сти про­ек­та.

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

Реше­ния на фрейм­вор­ках, как пра­ви­ло, рабо­тают зна­чи­тельно быст­рее и выдер­жи­вают боль­шую нагрузку, чем CMS и само­пис­ные систе­мы. Именно поэтому много попу­ляр­ных интер­нет-мага­зи­нов рабо­тают не на коро­боч­ных CMS, а на фрейм­вор­ках. По уровню без­опас­но­сти реше­ния на фрейм­вор­ках зна­чи­тельно пре­вос­хо­дят само­пис­ные системы и срав­нимы с CMS (как пра­ви­ло, сайты на фрейм­вор­ках даже без­опас­нее).

Минусы фрейм­вор­ков

Сроки раз­ра­ботки типо­вого функ­ци­о­нала на фрейм­вор­ках боль­ше, чем при исполь­зо­ва­нии CMS. Фрейм­ворки содер­жат только базо­вые ком­по­ненты биз­нес-логики уровня при­ло­же­ния, поэтому мно­гие функ­ции реа­ли­зо­вы­ва­ются инди­ви­ду­аль­но.

Для раз­ра­ботки на фрейм­ворке тре­бу­ется пони­ма­ние биз­нес-про­цес­сов, кото­рые тре­бу­ется реа­ли­зо­вать. Напри­мер, если в CMS уже есть некий пред­уста­нов­лен­ный про­цесс обра­ботки зака­зов, то фрейм­ворки такого не предо­став­ля­ют.

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

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

Наи­бо­лее попу­ляр­ные ruby-фрейм­ворки:

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

  • Spring MVC
  • JSF
  • GWT

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

  • Django
  • Plone
  • Twisted
  • Flask
  • Tornado

Фрейм­ворки от Microsoft (муль­ти­я­зы­ко­вые):

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


Информация о публикации:

Материал опубликован в 2014 году. Эта статья про фреймворки для разработки веб-приложений, о веб-разработке, про бэкенд-разработку и про программные платформы для разработки сайтов. При пере­пуб­ли­ка­ции обя­за­тельно ука­за­ние пер­во­ис­точ­ника в виде гипер­тек­сто­вой ссылки на сайт web-creator.ru

Воспользуйтесь нашими
знаниями и опытом

Отправьте нам сообщение при помощи формы. Или напишите на e-mail s@web-creator.ru

Мы максимально оперативно ответим Вам по электронной почте или перезвоним.

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

Либо просто позвоните нам по номеру: +7 495 215-1501

Мы работаем по будним дням с 10 до 19 часов.

Комплексные услуги

Реализация «под ключ» проектов по созданию различных видов сайтов, разработка веб-приложений для автоматизации бизнес-процессов, ведение контекстных и медийных рекламных кампаний, поисковое продвижение, комплексная поддержка веб-проектов, консалтинговые услуги.