Вэб-фрэймворк

Вэб-фрэймворк (WF) або фрэймворк вэб-праграм (WAF) — праграмная аснова, прызначаная для падтрымкі распрацоўкі вэб-праграм, уключаючы вэб-сэрвісы, вэб-рэсурсы і вэб-інтэрфейсы. Вэб-фрэймворкі забяспечваюць стандартны спосаб стварэння і разгортвання вэб-праграм у Сусветнай павуціне. Вэб-фрэймворкі закліканы аўтаматызаваць працавыдаткі, звязаныя са звычайнымі дзеяннямі, якія выконваюцца пры распрацоўцы вэб-праграм. Напрыклад, шматлікія вэб-фрэймворкі прадастаўляюць бібліятэкі для доступу да баз даных, шабланізатары, кіраванне сеансамі і часта спрыяюць паўторнаму выкарыстанню кода. Хоць яны часта арыентаваны на распрацоўку дынамічных сайтаў, іх можна прымяняць і для статычных старонак.

 Гісторыя 
Паколькі дызайн WWW не быў дынамічным па сваёй сутнасці, раннія гіпертэксты ўяўлялі сабой тэкставыя файлы HTML з ручным кадаваннем, якія публікаваліся на вэб-серверах. Любыя мадыфікацыі апублікаваных старонак мусілі выконвацца іх аўтарам. У 1993 годзе быў уведзены стандарт Common Gateway Interface (CGI) для ўзаемадзеяння знешніх праграм з вэб-серверамі, які дазволіў ствараць дынамічныя вэб-старонкі з карыстальніцкім ўводам.

Аднак першапачатковыя рэалізацыі інтэрфейсу CGI звычайна негатыўна ўплывалі на нагрузку сервера, паколькі кожны запыт запускаў асобны працэс. У больш сучасных рэалізацыях нараўне з іншымі прыёмамі выкарыстоўваюцца пастаянныя працэсы, што дазваляе паменшыць нагрузку на рэсурсы сервера і павысіць агульную прадукцыйнасць.

У 1995 годзе ўпершыню з’явіліся асяроддзі распрацоўкі вэб-праграм на існуючых мовах праграмавання, а таксама новыя мовы, арыентаваныя на працу ў Інтэрнэце, такія як ColdFusion, PHP і Active Server Pages.

У канцы 1990-х гадоў сталі з’яўляцца развітыя «full stack» фрэймворкі, якія часта аб’ядноўвалі мноства бібліятэк, карысных для вэб-распрацоўкі, у адзіны праграмны стэк. У якасці прыкладу можна прывесці ASP.NET, Java EE, WebObjects, web2py, OpenACS, Catalyst, Molicious, Ruby on Rails, Laravel, Grails, Django, Zend Framework, Sails.js, Yii, CakePHP, Symfony.

Катэгорыя:Вэб-праграмы
Катэгорыя:Вэб-распрацоўка