Szukasz najlepszych programistów Pythona? Znajdziesz ich w kilka kliknięć.

15 niesamowitych przykładów aplikacji webowych w Pythonie

6 wrz 20218 min czytania

Dawid Karczewski

Senior full stack developer i CTO w Ideamotive.

Amazing Examples of Python Web Development

Python należy do najpopularniejszych języków programowania do tworzenia stron. Według BuiltWith, w lipcu 2021 roku działało łącznie 160 211 stron. Taką popularność języka gwarantuje jego użyteczność. 7581 serwisów z powodzeniem obsługuje ruch przekraczający milion odwiedzin miesięcznie. Funkcjonalność stron opartych na Pythonie wspiera szereg sprytnych bibliotek i frameworków, które błyszczą w rękach utalentowanych programistów.

  • Biblioteka requests to proste, a zarazem eleganckie narzędzie do obsługi żądań HTTP. Pozwala wykonać wszystkie wymagane kroki cyklu żądanie-odpowiedź, takie jak wysyłanie, odbieranie, dopasowywanie, uruchamianie, dostarczanie i podgląd.
  • Mikroframework WSGI Flask to proste narzędzie do tworzenia aplikacji webowych. Aby rdzeń aplikacji pozostał czysty i skalowalny, warstwa abstrakcji bazy danych nie jest domyślnie częścią frameworka. Zamiast tego wspierane są rozszerzenia dodające nowe możliwości. Zapewniają one otwarte technologie uwierzytelniania, obsługę uploadu, walidację formularzy i wiele więcej. Framework jest zgodny z Google App Engine, co ułatwia hosting aplikacji webowych w Pythonie.
  • Framework Django to rozwiązanie o architekturze model-widok-kontroler (MVC), zaprojektowane pod szybkie tworzenie i błyskawiczne aktualizacje.  Architektura MVC pozwala oddzielić interfejs użytkownika od logiki biznesowej. Fundamentalne zasady Django to możliwość podłączania modułów, wielokrotne wykorzystanie kodu, luźne powiązania i reguła „nie powtarzaj się”.
  • django CMS to wygodne narzędzie do zarządzania treścią strony. Narodziło się z frustrujących doświadczeń z takimi CMS-ami jak WordPress i Drupal i jest dla nich dobrą alternatywą. Tryb edycji jest dość intuicyjny, a wtyczek jest sporo. Nowe aplikacje i widżety łatwo wdrożyć. Integracja z frameworkami frontendowymi takimi jak Bootstrap ułatwia optymalizację strony zarówno pod komputery, jak i urządzenia mobilne.

Znasz już biblioteki i frameworki Pythona. Czytaj dalej, aby poznać ciekawe przykłady prawdziwych stron i projektów w Pythonie.

amazing examples of python web dev pinterest logo

Od 2011 roku jeden z największych serwisów do dzielenia się obrazami, Pinterest, korzysta z pythonowego frameworka Flask do obsługi API. Ponieważ Flask skaluje się poziomo, zespół poradził sobie z ponad 12 miliardami żądań dziennie - i liczba ta może jeszcze wzrosnąć! Wyzwaniem przy pracy z Flaskiem były niskopoziomowe dekoratory. Steve Cohen, developer API w Pintereście, wspomina, że poprawne ustawienie dekoratorów było skomplikowane, więc zespół musiał połączyć kilka z nich w jeden.

 

Pinterestamazing examples of python web dev pinterest mockup

amazing examples of python web dev linkedin logo

Ciekawy przypadek zastosowania Flaska przeprowadził zespół Linkedin. Prośba głównego inżyniera dotyczyła stworzenia narzędzia, które ukryje część kodu aplikacji przed użytkownikami końcowymi. Po dyskusji z zespołem liderka techniczna Rachel Sanders zdecydowała o użyciu frameworka Flask do wdrożenia nowej funkcji. Po kilku tygodniach pracy powstało rozszerzenie Flask Feature Flag.

amazing examples of python web dev linkedin mockup

 

amazing examples of python web dev reddit logo

Kolejny przykład sieci społecznościowej używającej Pythona do tworzenia strony to Reddit. Pierwotnie napisany w Common Lispie, Reddit został przeprojektowany z użyciem pythonowego frameworka web.py w grudniu 2005 roku. Od tamtej pory język ten jest w użyciu. Jak powiedział współtwórca Reddita Aaron Swartz, kuszącą cechą web.py była niezależność funkcji. Programista mógł umieścić pliki tam, gdzie było to potrzebne, a web.py chętnie za tym podążał. Jeśli fragment kodu miał zadziałać jako pythonowa aplikacja webowa, programista mógł wywołać web.run.

amazing examples of python web dev reddit mockup

amazing examples of python web dev the washington times logo

Wydanie frameworka Django w 2003 roku przez zespół Lawrence Journal-World otworzyło drogę do dalszego wykorzystania Pythona przy tworzeniu stron przez agencje informacyjne. Jednym z najczęściej odwiedzanych serwisów jest strona The Washington Times. Treści na stronie aktualizują się dynamicznie. Wdrożenie takich bibliotek Pythona jak Seaborn i ggplot pozwoliło projektantom tworzyć rozbudowane wizualizacje danych. Przykładem takich wpływowych wizualizacji są wykresy do artykułu Why outbreaks like coronavirus spread exponentially, and how to “flatten the curve”. Sam artykuł zebrał ponad 122 000 udostępnień na Twitterze i stał się jednym z najczęściej czytanych tekstów dziennikarskich 2020 roku.

amazing examples of python web dev the washington times mockup

 

 

Jeśli interesuje Cię także tworzenie aplikacji mobilnych w Pythonie, sprawdź nasz przewodnik o tym, kiedy i dlaczego budować aplikacje w tym języku.

amazing examples of python web dev national geographic logo

Kolejny świetny przykład strony w Pythonie to serwis National Geographic. Zbudowano go we frameworku Django, który daje wszystkie narzędzia potrzebne do tworzenia aplikacji GIS i map, będących główną treścią tego towarzystwa geograficznego. Aby przekonać się o możliwościach Django, sprawdź narzędzie do National Geographic’s tworzenia map online od National Geographic. To interaktywne narzędzie pozwala użytkownikom dodawać warstwy, edytować legendę, rysować, stawiać znaczniki, linie i wielokąty oraz mierzyć odległości. Efekt można zapisać w chmurze lub wydrukować.

amazing examples of python web dev national geographic mockup

 

 

Sprawdź nasz wpis na blogu, by poznać więcej niesamowitych przykładów aplikacji stworzonych w Django.

amazing examples of python web dev google logo

Google naprawdę kocha Pythona. Według analiz Burning Glass za 2020 rok znajomość Pythona jest umiejętnością najbardziej pożądaną przez tego giganta technologicznego. Język wymieniono w 33% ogłoszeń rekrutacyjnych. Alex Martelli, Senior Staff Engineer w Google, mówi, że ogromne znaczenie Pythona w tworzeniu stron było motywacją dla wielu zdolnych programistów, by dołączyć do firmy. Dotyczy to Grega Steina, Wesleya Chuna, Fredrika Lundha, Thomasa Woutersa i wielu innych. Nawet twórca Pythona, Guido van Rossum, spędził siedem lat, rozwijając język i wdrażając go w projektach firmy. Najważniejszym z nich jest webowe narzędzie do przeglądu kodu o nazwie Mondrian.

 

Dla Google Python stał się kluczową technologią przy tworzeniu wyszukiwarki. Cały robot indeksujący napisano w Pythonie. Przy każdym zapytaniu aplikacja skanuje setki milionów stron i porządkuje je w indeksie wyszukiwania. Analizowane są także pliki sitemap.

 

Skoro wyszukiwarka Google jest zbudowana w Pythonie, logiczne jest, by w Pythonie prowadzić także optymalizację pod wyszukiwarki (SEO). Na szczęście społeczność stworzyła wiele wygodnych narzędzi do tego zadania. Plik XML mapy strony można edytować frameworkiem Sitemap od Django. Adresy URL można optymalizować polem SlugField z Django, które zawiera wyłącznie litery, cyfry, podkreślenia lub myślniki. Testowe zindeksowanie strony i analizę kodów statusu URL można wykonać skryptem o nazwie Pylinkvalidator. Informacje o liczbie słów, tytule strony, meta opisie, słowach kluczowych na stronie oraz brakujących tytułach i opisach uzyskasz skryptem o nazwie SEO analyzer.

amazing examples of python web dev google mockup

amazing examples of python web dev spotify logo

Świetna skalowalność i dobra wydajność Pythona czynią go dobrym językiem do budowy platformy streamingowej. Przykładowo język ten jest szeroko używany przez Spotify. Lider zespołu back-endowego firmy, Geoff van der Meer, mówi:

Backend Spotify składa się z wielu współzależnych usług, połączonych własnym protokołem komunikacyjnym opartym na ZeroMQ. Około 80% tych usług napisano w Pythonie.

Poza usługami streamingowymi kolejną przewagą konkurencyjną Spotify jest trafny algorytm rekomendacji - i tu Python bardzo się przydaje. Spośród różnych bibliotek zespoły wybrały Luigi jako najwygodniejsze narzędzie do szybkiego budowania złożonych potoków zadań wsadowych. Analizę preferencji użytkowników prowadzi się z użyciem wielu pythonowych bibliotek uczenia maszynowego, takich jak Scikit-learn.

amazing examples of python web dev spotify mockup

 

amazing examples of python web dev netflix logo

Kolejna usługa streamingowa mocno zależna od Pythona to Netflix. Język jest używany przez cały cykl życia treści - od planowania budżetu po obsługę sieci dostarczania treści (CDN). W Netflixie treść umieszczana jest na sieci serwerów w CDN Open Connect możliwie blisko widza. Do zaprojektowania, zbudowania i obsługi takiej infrastruktury potrzeba różnych systemów. Osobna aplikacja jest potrzebna, by śledzić inwentarz sprzętu sieciowego. Zbierają i przetwarzają dane o modelach urządzeń,  komponentach sprzętowych i lokalizacji urządzeń. Komunikacja z urządzeniami w celu zebrania danych o kondycji i innych danych operacyjnych to kolejna aplikacja. Wszystkimi wymienionymi zadaniami zarządzają aplikacje w Pythonie.

 

Aby przesłać widzowi treść wideo, plik trzeba zakodować i przekodować. W Netflixie obie operacje obsługują pakiety Pythona. Zespół firmy regularnie kontrybuuje do Mezzanine File System i vmaf.

amazing examples of python web dev netflix mockup

 

amazing examples of python web dev shopify logo

W 2021 roku e-commerce jest dominującym kanałem sprzedaży, a globalna pandemia wymusiła wzrost zakupów online. Dane pokazują, że w pierwszych trzech miesiącach globalnego lockdownu e-commerce urósł tyle, ile przez poprzednie 10 lat. Gdy sprzedawcy musieli zamknąć sklepy, konsumenci musieli przenieść się do sieci. W czasie pandemii łącznie 84% konsumentów robiło zakupy online, przez co zakupy internetowe sięgnęły 16,4% całkowitej globalnej sprzedaży detalicznej. Jeśli planujesz zbudować rentowny biznes detaliczny, sklep internetowy to konieczność.

 

Wiodącą na świecie firmą dostarczającą usługi e-commerce jest Shopify. Platforma daje klientom narzędzia i rozwiązania do płatności, marketingu, wysyłki i innych potrzeb. Choć sama firma trzyma się Ruby'ego jako głównego języka programowania, Python jest często używany do tworzenia dodatkowych aplikacji. Przykłady takich aplikacji znajdziesz na Githubie. Przeczytaj nasz wpis na blogu, by poznać więcej ciekawych przykładów sklepów na Shopify.

amazing examples of python web dev shopify mockup

 

 

Jeśli interesują Cię inne technologie webowe i chcesz porównać je z Pythonem, sprawdź nasze wpisy o Angular i React.

amazing examples of python web dev disqus logo

Aby zbudować wokół marki oddaną społeczność, firma powinna pozwolić klientom wyrażać swoje odczucia. Funkcję komentarzy na stronie zapewnia aplikacja o nazwie Disqus. Wspierane są też interakcje w czasie rzeczywistym: rekomendacje, głosy w górę i w dół, wątkowane odpowiedzi i inne. Disqus Analytics pozwala klientom lepiej zrozumieć zainteresowania odbiorców. Narzędzie dostarcza dane o odczytach artykułów, odczytach komentarzy i całkowitym zaangażowaniu.

 

Technologią napędzającą aplikację jest Django. Head Coach w Disqus, Matt Robenolt, wyjaśnia, że decyzja na korzyść Django zapadła, bo firma przedkłada szybkie tempo prac i znajomość narzędzia nad wydajność. Choć framework działa dość wolno, zespołowi udało się zbudować system generujący 8

miliardów odsłon miesięcznie i 45 tys. żądań na sekundę.

amazing examples of python web dev disqus mockup

amazing examples of python web dev instagram logo

Dowodem na to, że Python potrafi obsłużyć ponad 1 miliard aktywnych użytkowników miesięcznie, jest jego wdrożenie w sieci społecznościowej Instagram. Według dyrektora ds. inżynierii w Instagramie, Hui Dinga, język wybrano przede wszystkim ze względu na motto firmy „Rób najpierw proste rzeczy”. Python jest istotnie prosty i czysty. Język jest przyjazny inżynierom, więc prace zwykle idą szybko. Pozwala to zespołowi skupić się na tworzeniu i testowaniu nowych funkcji. Taka cecha jest kluczową przewagą konkurencyjną nowoczesnego biznesu technologicznego. Cytując Hui Dinga:

Szybkość działania nie jest już głównym zmartwieniem. Jest nim szybkość wejścia na rynek.

 

Kolejną cenną właściwością języka jest jego popularność w społeczności IT. Ponieważ Python należy do najbardziej pożądanych języków, łatwiej powiększyć zespół inżynierski, gdy startup zaczyna rosnąć.

 

W 2017 roku Instagram przeszedł z Pythona 2.7 na Pythona 3 ze względów wydajnościowych. Cała modernizacja starszego systemu zajęła około 10 miesięcy. Efekty były zdumiewające: nowsza wersja Pythona zużywała 12% mniej CPU i 30% mniej pamięci.

amazing examples of python web dev instagram mockup

 

 

amazing examples of python web dev prezi logo

Przykładem wyrafinowanej, a przy tym eleganckiej aplikacji webowej w Pythonie jest Prezi. To narzędzie do projektowania pięknych, dynamicznych prezentacji z rozbudowaną wbudowaną analityką do mierzenia efektów. Z publicznością liczącą ponad 100 milionów użytkowników na świecie Prezi jest pewnym siebie konkurentem takich gigantów jak Microsoft PowerPoint and Google Slides. Prezentacje zrobione w Prezi można zobaczyć w Clinton Foundation, Lufthansie, IBM i na konferencjach TED. Taki komercyjny sukces osiągnięto dzięki Django CMS. Jonathan Schwartz, Senior Product Manager w Prezi, potwierdza:

Django CMS z Divio Enterprise Services pozwala zespołowi Prezi bardziej skupić się na tym, co ważne: tworzeniu najlepszych możliwych treści i usług dla naszych użytkowników.

 

Istotnie, dzięki wdrożeniu Django CMS firmie udało się dostarczyć takie cechy produktu jak dynamiczne projekty, pełna responsywność, reprezentacja wizualna i ogromny katalog interaktywnych szablonów prezentacji.

 

amazing examples of python web dev prezi mockup

 

Skontaktuj się z nami, jeśli inspiruje Cię sukces Prezi i chcesz wykorzystać Django w swoim produkcie.

amazing examples of python web dev eve online logo

Jako język programowania Python okazał się świetnym narzędziem do stworzenia gry MMORPG o nazwie EVE Online. Rdzeniem gry jest interpreter Stackless Python lub Stackless . Najważniejszą cechą Stackless jest wsparcie dla mikrowątków. Inne istotne cechy to korutyny, kanały komunikacyjne i serializacja zadań. Kod gry napisany w Pythonie odpowiada za interfejs użytkownika i zarządzanie zasobami graficznymi, podczas gdy niskopoziomowe zadania, takie jak rendering 3D, komunikacja sieciowa czy obsługa wejścia, wykonuje C++. Udane połączenie Pythona i C++ pozwoliło zespołowi stworzyć niezwykle współbieżną aplikację. W 2018 roku gra ustanowiła rekord Guinnessa największej bitwy PvP online. W ogromnym konflikcie wzięło jednocześnie udział 6142 graczy.

amazing examples of python web dev eve online mockup

 

amazing examples of python web dev lyft logo

Druga co do wielkości firma przewozowa w USA, Lyft, napędza swoje aplikacje Pythonem. Firma świadczy usługi w ponad 300 miastach w Stanach Zjednoczonych i ma 30% amerykańskiego rynku. Aplikacja Lyfta przyjmuje zamówienia, nawiguje kierowców i obsługuje płatność. Jedną z nowych funkcji wydanych jesienią 2020 roku była możliwość porównania roweru i hulajnogi z przejazdami i komunikacją miejską. Funkcję zbudowano z pomocą gevent - pythonowego frameworka wielozadaniowości kooperacyjnej opartego na korutynach. Współpraca kodu opiera się na monkey patchingu. Rodowód frameworka wywodzi się z EVE Online. Zastosowany w tym MMORPG Stackless Python ostatecznie przekształcił się w eventlet, który zainspirował gevent.

amazing examples of python web dev lyft mockup

 

amazing examples of python web dev bitly logo

Jeśli kiedykolwiek skracałeś adres URL, prawdopodobnie odwiedziłeś kolejny przykład strony w Pythonie - Bitly. Wspomniana platforma to kolejny przykład wdrożenia Pythona. Język służy tam głównie do zarządzania linkami. Obecnie Bitly obsługuje rocznie ponad 600 milionów linków. Dostępne jest także API, które pozwala zintegrować usługi platformy z aplikacją w Pythonie.

amazing examples of python web dev bitly mockup

Podsumowanie

Jak widzisz, Python jest naprawdę uniwersalnym językiem programowania. Skutecznie napędza wyszukiwarki, utrzymuje platformy streamingowe, obsługuje sieci społecznościowe i wspiera platformy e-commerce. W Pythonie da się tworzyć zdumiewające, interaktywne strony. Krótki czas powstawania aplikacji w Pythonie czyni go idealnym wyborem przy projektach MVP i produktach z szybkim wdrażaniem nowych funkcji.

 

Chcesz stworzyć swój kolejny projekt w Pythonie? W naszej sieci jest wielu programistów Pythona. Skontaktuj się z nami! Chętnie połączymy Cię z najlepszymi specjalistami znającymi Twoją branżę i kulturę firmy.

Dawid Karczewski

Dawid jest full stack developerem. Tworzy aplikacje w Ruby on Rails i React Native od pierwszego pomysłu aż po wdrożenie. Buduje dla naszych klientów rozwiązania, które pomagają im rosnąć.

Zobacz wszystkie wpisy autora
Python_ The Definitive Business Guide

Python: kompletny przewodnik biznesowy

Dla cyfrowych przedsiębiorców i product ownerów

Czytaj teraz
Newsletter 9-1
Newsletter Ideamotive
Twój dwutygodniowy przegląd najgorętszych newsów technologicznych

Szukasz ekspertów od Pythona do swojego zespołu?

W naszej sieci talentów czekają dziesiątki zweryfikowanych specjalistów Python.