9 најбољих Питхон оквира за изградњу апликација од малих до предузећа

Пајтон је и забавна играчка и застрашујући бацач пламена. Исто важи и за оно што можете да урадите са Питхон-ом.

Питхон подједнако воле хобисти, научници и архитекте.

Проклето је лако почети са њим, има апстракције вишег реда и могућности метапрограмирања за изградњу великих и сложених система и има пуне библиотеке за скоро све. Наравно, постоје ограничења када је у питању истовременост и снажно куцање, али можете их заобићи.

У овом чланку ћемо бацити поглед на неке од најбољих Питхон оквира када је у питању прављење великих и малих веб апликација.

Дјанго

Тхе Дјанго Фрамеворк је издржао тест времена, веб фрамеворк за Питхон заједницу. Ако бисте напали Питхон програмера у сну и натерали га да направи веб апликацију на нишану, он би аутоматски посегнуо за Дјангом као што ће Рубиист посегнути за Раилсом.

И постоји добар разлог за то. Дјанго је, као што слоган каже, „веб оквир за перфекционисте са роковима“. То је оно што се зове оквир „батерије укључене“ (слично као што је Питхон језик са батеријама), који обезбеђује сву уобичајену функционалност ван кутије.

Са овим уграђеним функцијама, Дјанго значајно скраћује време развоја:

  • Згодан и пријатан ОРМ, са миграцијама које креира и примењује аутоматски оквир.
  • Скеле за аутоматско генерисање административног панела на основу ваших модела.
  • Подршка за колачиће, сесије, средњи софтвер, шаблоне итд.
  • Сигурносне функције као што су КССС превенција, ЦРСФ превенција итд., се примењују аутоматски.
  • Ради са практично свим базама података (лако је пронаћи адаптере тамо где званична подршка не постоји)
  • Ипак, првокласна подршка за географске податке и просторне упите ГеоДјанго

И много, много више. Довољно је рећи да је Дјанго потпуно развијен, пријатељски веб оквир.

Да ли је Дјанго за вас?

Апсолутно да.

Дјанго има одличан смисао за све случајеве употребе, било да се ради о брзом прототипу или планирању пословне апликације. Једина груба ивица на коју ћете наићи је структура оквира. Пошто се Дјанго савија уназад како би вам развој учинио брзим и лаким, он намеће своју структуру (концепт који се зове „конвенција над конфигурацијом“) програмеру, са чиме се можда не слажете. На пример, ако желите да замените Дјанго ОРМ нечим другим (рецимо, СКЛ алхемијом), будите спремни на изненађења.

Заинтересовани сте да постанете фулл-стацк програмер са Дјангом и Питхон-ом? – Погледај ово фантастичан онлајн курс.

Фласк

Док Дјанго преузима скоро све умове у Питхон веб развоју, Фласк је јак кандидат.

За разлику од Дјанга, Фласк је „микро-оквир“, што значи да се фокусира на исправљање неколико, минималних ствари, а остало препушта вама. Ово „остало је на вама“ може бити извор фрустрације или одушевљења, у зависности од тога који су ваши циљеви. За оне који знају шта раде и желе да са љубављу креирају своје веб апликације бирајући компоненте по свом избору, Фласк је божји дар.

Фласк нуди следеће карактеристике:

  • Рутирање, шаблонирање, управљање сесијама и друге корисне функције.
  • Потпуна подршка за тестирање јединица
  • Минимална архитектура која се може прикључити
  • Првокласна РЕСТ подршка
  • Подршка за Блуепринтс, јединствени Фласк-ов поглед на архитектуру за мале веб апликације
  • Изаберите своје пакете за ОРМ, миграције итд.
  • Флексибилна структура апликације — поставите своје датотеке тамо где вам највише одговарају
  • Послуживање статичког фајла
  • У складу са ВГСИ

Да ли је Фласк за вас?

Као што је већ речено, Фласк је минимални веб оквир, са свиме подељеним на појединачне компоненте које можете заменити. Ако сте у журби да направите прототип, потрошићете много времена на доношење тривијалних одлука о бази података, структури фасцикли, рутирању итд., што се може показати контрапродуктивним. Фласк најбоље функционише када сте на стабилном, озбиљном пројекту средњег до великог обима, посебно РЕСТ АПИ-ја.

  19 најбољих платформи за рударење криптовалута [High Performing Pool]

Боца

Ако мислите да Фласков приступ није довољно минималан и да бисте ипак желели више контроле, поздравите Боца.

Боца се губи још више, до тачке у којој је једина зависност Питхон стандардна библиотека. То значи да не треба пип инсталирати ово или пип инсталирати оно, иако ћете највероватније морати да то урадите ускоро. Ево зашто се Боттле истиче за неке људе:

  • Примена једног фајла. Да, цела ваша апликација живи у једној „.пи“ датотеци.
  • Нема спољних зависности. Ако имате инсталирану одговарајућу верзију Питхон-а, спремни сте.
  • Испоручује свој шаблонски механизам, који се може заменити са Јиња2, Мако или Цхеетах.
  • Подршка за обрасце, заглавља, колачиће и отпремање датотека.
  • Уграђени веб сервер, који се лако може заменити.

Да ли је флаша за вас?

Ако правите заиста малу апликацију (рецимо, мање од 500 линија кода) без посебних захтева, Боттле би вам могао имати много смисла. То је потпуни бесмислени приступ креирању веб апликација, али у пракси ћете открити да вас Боттле више омета него помаже. Разлог је тај што се стварни свет увек мења и пре него што то приметите. Нови захтеви ће вам пасти на главу. У том тренутку, стављање свега у једну датотеку постало би напорно.

Такође, ако мислите да су флаша и флаша скоро исте, у праву сте. Предлози о спајање ова два датирају из 2012. године, а са тим се слаже чак и Армин, творац Фласка. Међутим, Марсел, творац Боттлеа, одржава строгу идеолошку разлику због приступа једног фајла и инсистира да то двоје остане одвојено.

Зопе

Зопе је компликовано за објаснити, али покушаћу. Да, то је веб оквир који се може користити за прављење великих или малих апликација, али то није све. Зопе је више платформа која се састоји од алата (укључујући веб оквире) креираних у складу са Зопе филозофијом и које одржава Зопе Цорпоратион.

Зопе има неколико занимљивих компоненти и функција погодних за развој пословних апликација:

  • Архитектура за регистрацију и откривање компоненте за конфигурисање велике апликације.
  • ЗОДБ — (једина) база података објеката за Питхон за изворно складиштење објеката.
  • Пуноправни оквир и стандарди за системе управљања садржајем
  • Скуп оквира веб апликација — канонски се и даље зове Зопе, иако је неколико нових оквира (попут Грока) изграђено на њему.
  • Снажни стандарди за развој, издавање и одржавање софтвера.

Да ли је Зопе за вас?

Ако тражите високо структурирано окружење за прављење заиста великих апликација, Зопе је добар. Уз то, наићи ћете и на свој прави део проблема. Док Зопе наставља да се развија, заједница је заиста мала, до те мере да многи Питхон програмери нису ни чули за њу. Проналажење туторијала и обимне документације је тешко, па будите спремни да доста копате около (иако је заједница заиста од помоћи!). Такође, програмери Питхон-а на које наиђете можда неће хтети да науче Зопе и да „разблаже“ своје вештине.

ТурбоГеарс

ТурбоГеарс је веома флексибилан оквир који има архитектуру која се може саставити. То је оквир који се прилагођава вашим потребама и можете га користити за прављење апликације са једном датотеком или вишенамјенског великана.

  Квалитет података: свеобухватан водич

ТурбоГеарс има неке елегантне карактеристике, од којих неке или нису присутне у популарним оквирима (као Дјанго) или их је тешко изградити:

  • Првокласна подршка за више база података
  • Трансакције са више база података
  • Веома модуларан — почните са једном датотеком и смањите је онолико колико вам је потребно
  • Моћан ОРМ (СКЛАлцхеми, који је зрелији и способнији од Дјанго-овог ОРМ-а)
  • Плуггабле архитектура заснована на ВСГИ спецификацији
  • Уграђена подршка за дељење базе података
  • Интерфејс вођен функцијама за разлику од дубоких, крутих објектно оријентисаних хијерархија.

Да ли је ТурбоГеарс за вас?

Ако желите да се развијате срећно и желите тестиран, зрео и робустан оквир далеко од медијске буке „невероватног, следеће генерације“ и свега тога, ТурбоГеарс је одличан избор. Веома је поштован у заједници и има комплетну, обимну документацију. Наравно, ТурбоГеарс није тврдоглав, што значи да почетно подешавање и време конфигурације могу бити дуже, али је идеалан оквир за развој пословних апликација.

Веб2пи

Веб2пи започет као хоби пројекат и објављен је 2007. Његови циљеви су да развој веба учини лаким и доступним свима.

Као резултат тога, Веб2пи узима приступ нулте зависности до екстрема — нема никакве захтеве, ништа за инсталирање и укључује потпуно функционалан Веб-басед едитор за развој, управљање базом података, као и примену.

Готово да га можете замислити као Андроид Студио, који је више комплетно окружење него само оквир. Неке лепе карактеристике које Веб2пи има су:

  • Практично нема криве учења.
  • Минимално језгро (само 12 објеката), које се чак може запамтити!
  • Пуре-Питхон шаблон
  • Заштита од КССС, ЦСРФ и других напада
  • Пријатан и доследан АПИ

Да ли је Веб2пи за вас?

Веб2пи је стабилан и забаван оквир, али га је тешко препоручити у односу на друге опције као што су Дјанго, Фласк, итд. Готово да нема посла, а прича о тестирању јединица није сјајна. Уз то, можда ћете уживати у АПИ-ју кода и укупном искуству које оквир нуди, посебно ако правите РЕСТ АПИ-је.

ЦхерриПи

ЦхерриПи је још један микрооквир који има за циљ да обезбеди основну функционалност оквира и брзо се склони са пута.

Иако је упоредив са другим микрооквирима као што је Фласк, ЦхерриПи се може похвалити неким разликама:

  • Садржи уграђени сервер са више нити (нешто што остаје на листи жеља Фласк-а)
  • (Један) веб сервер може да угости више апликација!
  • Послужите своју апликацију као ВСГИ апликацију (за повезивање са другим ВСГИ апликацијама) или као обичан ХТТП сервер (који ради боље)
  • Првокласна подршка за профилисање и тестирање јединица
  • Ради на ПиПи-у (за праве зависнике од перформанси), Јитхон-у, па чак и на Андроид-у

ЦхерриПи ради све ово, а затим и уобичајено што бисте очекивали од веб оквира.

Да ли је ЦхерриПи за вас?

Ако углавном градите РЕСТфул сервисе, ЦхерриПи је много озбиљнији кандидат од Фласка. То је деценијски оквир који је лепо сазрео и погодан је за мале и велике апликације.

Санић

Успон Ноде-а и његовог модела асинхроног програмирања оставили су многе заједнице да се осећају иза себе, укључујући и Питхон. Као одговор, на радару се појавио налет асинхронизованих веб оквира, Санић као један од њих.

Саниц је у великој мери инспирисан Фласком, до те мере да је позајмио декоратере руте, нацрте и друге основне елементе за удицу и потоп. И није их срамота да признају. Оно што Саниц доноси на сто, ако сте обожаватељ Фласк-а, је истински неблокирајући И/О да би се задовољили нивои перформанси Ноде апликације. Другим речима, Саниц је Фласк са асинц/аваит подршком!

  Шта је АирДроп и како се користи за пренос датотека?

У поређењу са ЦхерриПијем, Саниц има невероватну предност у перформансама (само помислите како би прошао против Фласка!). Погледајте следеће резултате које је тестирао ДатаВеаве:

Као што видите, када бројеви истовремености почну да прелазе 50 у секунди, ЦхерриПи се практично гуши и ствара високу стопу неуспеха.

Да ли је Санић за вас?

Иако карактеристике перформанси Саниц-а избацују све остало из воде, то можда није најбољи избор за ваш следећи пројекат. Главни разлог је недостатак асинхроних библиотека. Већина постојећих Питхон алата и библиотека написана је за једнонитну верзију ЦПитхон-а, без предумишљаја о високом конкурентности или асинхроним операцијама. Ако, на пример, ваш омиљени ОРМ не подржава асинхроне операције, цео смисао коришћења Саниц-а је поражен.

Због ових разлога зрелости и доступности, нећемо више испитивати асинхронизоване оквире у Питхон-у.

масонит

Пре неког времена сам наишао на овај оквир и помислио да је то корак у правом смеру. Од тада је објављена верзија 2.0 и осећам да је коначно дошло време за давање масонит мало љубави.

Једноставно речено, Масоните је Питхон верзија Ларавела (познати ПХП оквир, у случају да нисте знали). Зашто је то важно? Важно је јер је Ларавел изграђен на принципима Руби он Раилс, а заједно ова два оквира омогућавају програмерима који нису Руби да искусе „Раилс начин“ обављања ствари.

Ларавел (и донекле, Раилс) програмери ће се осећати као код куће и буквално ће бити у функцији. Када сам испробао Масоните (и пријавио сам један или два проблема, укључујући грешку!), био сам у могућности да направим РЕСТ АПИ-је без размишљања јер је моја Ларавел мишићна меморија радила све.

Као комплетан оквир са батеријама, Масоните доноси неколико занимљивих ствари на сто:

  • ОРМ у стилу активног записа
  • Миграције базе података (које, за разлику од Дјанга, треба да креира програмер)
  • Моћан ИоЦ контејнер за ињекцију зависности
  • Сопствени ЦЛИ (који се назива „занат“) за задатке постављања скела и покретања
  • Првокласна подршка за тестирање јединица

Највећи „супарник“ за Масоните је Дјанго, јер заједница даје све од себе да рекламира оквир као лаку, дивну и следећу велику ствар. Да ли ће надмашити Дјанго, време ће показати (ако мене питате, има пристојан снимак), али за дискусију о упоређивању ова два, погледајте овде и овде.

Да ли је масонит за вас?

Масоните је још увек беба у поређењу са Дјангом, тако да нема шансе да се препоручи уместо Дјанга. Уз то, ако волите Раилс начин (или Ларавел начин) да радите ствари, ценили бисте шта Масоните може да понуди. Идеалан је за брзу прављење прототипова којима је све потребно унапред конфигурисано и лако се мења.

Закључак

Не постоји недостатак Питхон оквира, великих и малих. Иако можете да покупите скоро све за мали пројекат, апликација за предузећа има захтеве које многи од ових оквира не могу да испуне. Ако мене питате, за развој предузећа, Дјанго (у одређеној мери), Зопе и ТурбоГеарс су оно што вам пада на памет. И међу њима сам склон ТурбоГеарс-у.

Међутим, сваки архитекта вредан своје соли може да узме микрооквир и развије своју архитектуру. И то се углавном дешава у пракси, што објашњава успех Фласка и сличних идеја.

Ако сте новајлија, онда овај онлајн курс било би од помоћи да научите Питхон.

Затим истражите неке од специјализованих Питхон оквира за прављење АПИ-ја.