Frameworki internetowe ułatwiają programistom tworzenie stron internetowych. Jednak Python, jeden z najpopularniejszych języków programowania, otrzymał wiele wkładów w zakresie jego zastosowania w rozwoju backendu.
Python ma wiele frameworków internetowych. Ramy te dzielą się na kategorie makro lub mikro. TurboGears, Web2Py, Pyramid i Django to niektóre z frameworków internetowych makr Pythona. Tymczasem Flask, CherryPy i Bottle to przykłady mikroframeworków.
Jednak najczęściej używanymi przykładami w obu kategoriach są Django i Flask. Z tego powodu spójrzmy na oba frameworki, aby pomóc Ci zdecydować, któremu warto poświęcić więcej czasu na naukę.
Podstawowa struktura ram
Pomimo tego, że są frameworkami Pythona, architektura Django i Flask całkowicie się od siebie różni. Przyjrzyjmy się, jak ich architektura wpływa na Twój wybór jako użytkownika.
Struktura Django
Ze względu na jego zastosowanie do tworzenia bardziej złożonych aplikacji internetowych opartych na Pythonie, Django ma solidną architekturę, która pozwala na skalowalność. Jego
Model-Pogląd-Szablon Struktura (MVT) sprawia, że jest to idealna platforma do programowania pełnego stosu. Tak więc, jeśli szukasz sposobu na zapoznanie się z frontendowymi i backendowymi aspektami tworzenia stron internetowych i używasz Pythona jako języka po stronie serwera, Django jest nadal najlepszą opcją do rozważenia.Oprócz dostępności szerokiej gamy pakietów programistycznych i wstępnie utworzonej struktury plików Pythona, Django oferuje wbudowaną Maper obiektowo-relacyjny (ORM), dając mu elastyczny dostęp do różnych baz danych. Zasadniczo nie musisz pisać wielu zapytań, aby wstawić lub wywołać obiekty z bazy danych.
Kiedy tworzysz tabele za pomocą modeli Django, wszystko, co musisz zrobić, to zdefiniować atrybuty tych tabel w swojej bazie danych w poszczególnych obiektach. Surowe zapytania, które tworzą te tabele, są następnie automatycznie zatwierdzane w pliku migracji po przeniesieniu tabel do bazy danych.
W ten sposób ORM Django pomaga radzić sobie z dodatkową pracą związaną z pisaniem oddzielnych zapytań do bazy danych. A jeśli chcesz bardziej skupić się na tym, aby Twoja witryna działała, nie martwiąc się o konfigurowanie wstrzykiwania bazy danych innej firmy, Django może być wyborem.
Struktura kolby
Flask oferuje minimalną architekturę w porównaniu do Django. To mikroframework, który nie radzi sobie z taką złożonością jak Django. W przeciwieństwie do architektury MVT Django, Flask podąża za bardziej powszechnym Model-Wyświetlenia-Kontroler (MVC).
Jednak widoki i kontroler Flask są równoznaczne odpowiednio z szablonami i widokami Django. Oznacza to, że zamiast widoków Django otrzymujesz kontrolery w Flask. A Views of Flask przejmuje funkcje szablonów Django.
W przeciwieństwie do Django, gdy zainstalujesz Flask w swoim wirtualne środowisko i otwórz swój projekt, otrzymasz pusty katalog plików. Oznacza to, że musisz zacząć tworzyć swoje pliki ręcznie.
Tak więc, jeśli chcesz uniknąć złożonej struktury Django, Flask jest doskonałym wyborem do rozważenia. Jednak, ponieważ jest lekki, Flask nie oferuje tak wielu wbudowanych pakietów jak Django. Aby móc korzystać z funkcji ORM w Flask, potrzebujesz pakietu do wstrzykiwania bazy danych innej firmy o nazwie SQLAlchemy.
Związane z: Ważne polecenia SQL, które każdy programista powinien znać
Łatwość nauki i szanse na głębsze schodzenie
Jeśli chodzi o łatwość nauki, Django zawiera wiele zwrotów akcji, które mogą ci się znudzić. Jednak Flask może być bardziej interesujący ze względu na kilka poprawek, które są związane z działaniem Twojej aplikacji.
Ze względu na złożoność i szerokie zastosowanie Django w różnych aspektach rozwoju, takich jak rola jego struktury REST w rozwoju przeglądalnego interfejsu API, krzywa uczenia się może stać się myląca. Ale biorąc pod uwagę to, sama funkcjonalność może być dobrym powodem do nauki Django.
Chociaż Flask ma również rozszerzenie REST do budowania interfejsów API, nadal nie oferuje w pełni funkcjonalnej i wbudowanej struktury API, którą zapewnia Django. Ale patrząc na łatwość korzystania z obu frameworków, Flask jest bardziej przyjazny dla początkujących.
A ponieważ tworzysz większość połączeń i strukturyzujesz się w Flask, udostępnia Ci to podstawowe zrozumienie przepływu pracy przy tworzeniu stron internetowych w Pythonie. W przeciwieństwie do Django, jest to prosty framework, który koncentruje się na budowaniu dokładnie tego, co zamierzasz, bez konieczności utraty kontroli nad sposobem łączenia plików.
Jeśli nie masz jeszcze dużej wiedzy o Pythonie, nauka Flask może być idealnym sposobem na rozpoczęcie. Poza tym pisanie kodu w Flask przypomina głównie pisanie czystego Pythona.
Jeśli jednak zamierzasz wybrać bardziej wymagający framework Python, który zapewnia większą ekspozycję na standardowe praktyki tworzenia stron internetowych bez zwracania uwagi na wewnętrzne okablowanie, Django może mieć rację wybór. Nie oznacza to, że nie możesz zagłębić się głębiej w Flask, jak wspomnieliśmy wcześniej, jest to świetny sposób na rozpoczęcie przygody edukacyjnej z frameworkami internetowymi Pythona.
Baza użytkowników i społeczność
Pomimo tego, że jest łatwy do nauczenia i lekki, Flask pozostaje w tyle za Django pod względem popularności. Solidność, stabilność wydania wersji i szybkość tworzenia aplikacji internetowych za pomocą Django to tylko niektóre z powodów, dla których jest to platforma wybierana przez większość programistów.
A patrząc na ich trend na Stack Overflow, Django jest nieco bardziej dyskutowane niż Flask. Oznacza to, że w przypadku problemów istnieje duża społeczność Django, do której można się zwrócić po pomoc. Nie oznacza to jednak, że Flask jest mniej ramowy, jeśli chodzi o wsparcie społeczności.
Poza tym różnica między ich popularnością nie jest tak duża. Według ankiety deweloperów z 2020 r., jak podano na JetBrains Django zajmuje 49 proc. popularności, a Flask 46 proc. To tylko 3 procent różnicy.
Sama statystyka powinna uspokoić twoje obawy i niepokoje dotyczące dostępności społeczności wsparcia dla Flask. Tak więc, bez względu na to, jak utknąłeś, zawsze jest rozwiązanie, na którym możesz się oprzeć.
Jakie typy projektów obsługuje każda platforma?
Jedną z funkcji Django jest to, że możesz tworzyć kilka aplikacji i łączyć je za pomocą dedykowanych adresów URL. To sprawia, że Django jest preferowanym frameworkiem do tworzenia bardziej złożonych aplikacji, które wymagają przyszłości skalowalność.
Możliwe jest jednak również budowanie złożonych aplikacji za pomocą Flask, ale nie pasuje to do obecnej architektury. Jest bardziej odpowiedni do tworzenia prostych aplikacji, które nie wymagają skomplikowanej infrastruktury do dalszego rozwoju.
Chociaż Django oferuje skalowalność, nadal nie masz pełnej kontroli nad jego jednostkami. Z drugiej strony Flask oferuje prostotę, ale daje elastyczność zanurzania rąk w różnych elementach. Dzieje się tak, ponieważ w Flask masz tendencję do samodzielnego pisania większości bloków z minimalną zależnością od pakietów innych firm.
Który z Python Web Framework powinieneś wybrać?
Omówiliśmy oba frameworki, bez celu umieszczania jednego nad drugim. Tak więc, w oparciu o to, co już wiesz, najlepszy framework sieciowy Pythona do rozpoczęcia nauki zależy od twoich istniejących umiejętności i przypadku użycia.
Jednak lepszym podejściem jest poznanie podstaw Pythona. Następnie możesz najpierw wypróbować łatwy framework, zanim przejdziesz do złożonego. Niezależnie od tego, jaki wybierzesz, oba frameworki mają swoją specjalizację. Możesz więc decydować również na tej podstawie.
Chcesz nauczyć się zaawansowanego tworzenia stron internetowych? Unikaj pisania powtarzalnego kodu, zamiast tego używaj tych frameworków do tworzenia stron internetowych.
Czytaj dalej
- Programowanie
- Pyton
Idowu pasjonuje się każdą inteligentną technologią i produktywnością. W wolnych chwilach bawi się kodowaniem, a gdy się nudzi, przechodzi na szachownicę, ale od czasu do czasu uwielbia też oderwać się od rutyny. Jego pasja do pokazywania ludziom drogi do nowoczesnych technologii motywuje go do pisania więcej.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować