Уеб рамки правят разработването възможно най-лесно за уеб разработчиците. Въпреки това, Python, един от най-популярните езици за програмиране, получи много приноси по отношение на приложението си в бекенд разработката.

Python има много уеб рамки. Тези рамки попадат в макро или микро категории. TurboGears, Web2Py, Pyramid и Django са някои от макро уеб рамки на Python. Междувременно Flask, CherryPy и Bottle са примери за микрорамки.

Въпреки това, най-използваните примери в двете категории са Django и Flask. Поради тази причина нека разгледаме и двете рамки, за да ви помогнем да решите коя си струва да отделите повече време за учене.

Основна структура на рамката

Въпреки че са Python рамки, архитектурата на Django и Flask са напълно различни една от друга. Нека да разгледаме как тяхната архитектура влияе върху избора ви като потребител.

Структура на Django

Поради използването му при изграждането на по-сложни уеб приложения, базирани на Python, Django има стабилна архитектура, която позволява мащабируемост. Това е

instagram viewer
Модел-Преглед-Шаблон (MVT) структурата го прави перфектната рамка за разработка с пълен стек. Така че, ако търсите начин да се възползвате от интерфейсните и бекенд аспектите на уеб разработката и да използвате Python като език от страна на сървъра, Django все още е най-добрият вариант за разглеждане.

В допълнение към наличието на широка гама от пакети за разработка и предварително създадена файлова структура на Python, Django предлага вградена Обектно-релационен картограф (ORM), което му дава гъвкав достъп до различни бази данни. По същество не е нужно да пишете много заявки, за да вмъкнете или извикате обекти от базата данни.

Когато създавате таблици чрез моделите на Django, всичко, което трябва да направите, е да дефинирате атрибутите на тези таблици във вашата база данни в отделни обекти. Суровите заявки, които правят тези таблици, след това автоматично се записват във вашия файл за миграции след преместване на вашите таблици в базата данни.

По този начин ORM на Django ви помага да се справите с допълнителната работа, която идва с писането на отделни заявки за вашата база данни. И ако искате да се съсредоточите повече върху това да накарате уебсайта си да работи, без да се притеснявате за конфигуриране на инжектиране на база данни на трети страни, Django може да е избор.

Структура на колбата

Flask предлага минимална архитектура в сравнение с Django. Това е микрорамка, която не се справя с толкова сложност като Django. За разлика от MVT архитектурата на Django, Flask следва по-често срещаната Модел-Изгледи-Контролер (MVC) структура.

Изгледите и контролерът на Flask обаче са синоними на шаблоните и изгледите на Django, съответно. Това означава, че вместо Views of Django, получавате контролерите във Flask. А Views of Flask поема функциите на шаблоните на Django.

За разлика от Django, когато инсталирате Flask във вашия виртуална среда и отворете своя проект, получавате празна файлова директория. Това означава, че трябва да започнете да създавате вашите файлове ръчно.

По този начин, ако искате да избегнете сложната структура на Django, Flask е чудесен избор, който трябва да вземете предвид. Въпреки това, тъй като е лек, Flask не предлага толкова много вградени пакети, колкото Django. И за да използвате функцията ORM във Flask, ви е необходим пакет за инжектиране на база данни на трета страна, наречен SQLAlchemy.

Свързано: Важни SQL команди, които всеки програмист трябва да знае

Лесно учене и шансове за по-дълбоко

По отношение на лекотата на учене, Django включва много обрати, които може да ви станат скучни покрай линията. Въпреки това, Flask може да е по-интересен за научаване поради няколкото ощипвания, които са включени в работата на приложението ви.

Поради сложността и широкото приложение на Django в различни ъгли на разработка, като ролята на неговата REST рамка в разработването на API с възможност за разглеждане, кривата на обучение може да стане объркваща. Но като се има предвид това, функционалността сама по себе си може да е добра причина да научите Django независимо.

Въпреки че Flask има REST разширение и за изграждане на API, той все още не предлага пълнофункционалната и вградена API структура, която Django предоставя. Но като погледнем лекотата на вземане на която и да е рамка като цяло, Flask е по-удобен за начинаещи.

И тъй като правите повечето от връзките и се структурирате във Flask, това ви излага на основното разбиране на работния процес на уеб разработката с Python. За разлика от Django, това е права рамка, която се фокусира върху изграждането точно на това, което възнамерявате, без непременно да губите контрол върху това как вашите файлове се свързват.

Ако вече нямате много познания по Python, изучаването на Flask може да е идеалният начин да започнете. Освен това писането на кодове във Flask е най-вече като писането на чист Python.

Въпреки това, ако се стремите да вземете по-предизвикателна Python Framework, която ви дава повече излагане на стандартни практики за уеб разработка, без да се интересувате много от вътрешното окабеляване, Django може да е правилният избор. Това не означава, че не можете да се гмурнете по-дълбоко с Flask, както беше посочено по-рано, това е чудесен начин да започнете своето учебно пътуване с уеб рамки на Python.

Потребителска база и общност

Въпреки че е лесен за научаване и лек, Flask изостава от Django по отношение на популярност. Стабилността, стабилността на пускането на версията и бързината на разработване на уеб приложения с Django са някои от причините, поради които това е рамката на избор за повечето разработчици.

И като погледнем тенденцията им в Stack Overflow, Django е малко по-обсъждан от Flask. Това означава, че има голяма общност на Django, към която да се обърнете за помощ, когато срещнете проблеми. Това обаче не прави Flask по-малко рамка по отношение на подкрепата на общността.

Освен това разликата между тяхната популярност не е толкова значителна. Според проучването на разработчиците от 2020 г., както се съобщава на JetBrains уебсайт, Django заема 49 процента по отношение на популярност, докато Flask е 46 процента популярен. Това е само 3 процента разлика.

Само тази статистика трябва да успокои страховете и тревогите ви относно наличието на общност за поддръжка за Flask. Така че, без значение колко сте заседнали, винаги има решение, към което да се върнете.

Какви типове проекти обслужва всяка рамка?

Една от характеристиките на Django е, че можете да създадете няколко приложения и да ги свържете чрез специални URL адреси. Това прави Django рамка за избор за изграждане на по-сложни приложения, които изискват бъдеще мащабируемост.

Въпреки това, изграждането на сложни приложения с Flask също е възможно, но това не върви добре с текущата му архитектура. Той е по-подходящ за създаване на прости приложения, които не изискват сложна инфраструктура, за да се движат напред.

Въпреки че Django предлага мащабируемост, все още нямате пълен контрол върху неговите единици. Flask, от друга страна, предлага простота, но ви дава гъвкавостта да потапяте ръцете си в различните й компоненти. Това е така, защото във Flask сте склонни да пишете повечето от блоковете сами с минимална зависимост от пакети на трети страни.

Кое от Python Web Framework трябва да изберете?

Обсъдихме и двете рамки, без целта да поставим една над друга. Така че, въз основа на това, което сега знаете, най-добрата уеб рамка на Python, която да започнете за учене, зависи от вашите съществуващи способности и случай на употреба.

По-добър подход обаче е да знаете основите на Python. След това можете първо да опитате лесната рамка, преди да преминете към сложната. И какъвто и да е вашият избор, и двете рамки имат своята специалност. Така че можете да вземете решение и на тази основа.

5 уеб рамки, които си струва да се научат за разработчиците

Интересувате се от изучаване на разширено уеб разработка? Избягвайте да пишете повтарящ се код, вместо това използвайте тези рамки за уеб разработка.

Прочетете Следващото

ДялTweetелектронна поща
Свързани теми
  • Програмиране
  • Python
За автора
Идову Омисола (публикувани 111 статии)

Idowu е страстен за всякакви интелигентни технологии и производителност. В свободното си време той си играе с кодирането и преминава към шахматната дъска, когато му е скучно, но също така обича да се откъсва от рутината от време на време. Страстта му да показва на хората начина около съвременните технологии го мотивира да пише повече.

Още от Idowu Omisola

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате