Szukacie przykładu serwisu korporacyjnego, który powstał przy pomocy Django? Myślę, że NASA będzie bardzo dobrym przykładem.
A co powiecie na serwis contentowy, powiedzmy takich rozmiarów jak National Geographic, Washington Post, The Guardian, czy The New York Times?
Tak, jak najbardziej, one także powstały przy pomocy Django!
Django jest wszechstronne. Pozwala tworzyć serwisy korporacyjne, contentowe, social mediowe, streamingowe.
Ale to nie wszystko!
Django jest także ogromnie atrakcyjne, dzięki dostępności na licencji open source. Co jeszcze ważniejsze, może być używane w celach komercyjnych. Koszt stworzenia strony internetowej w Django przedstawiliśmy w osobnym artykule.
Poznanie cech, atrybutów, walorów Django jest na pewno pouczające, ale jeszcze bardziej przekonujące i robiące wrażenie jest zapoznanie się z case`ami aplikacji, których w wielu przypadkach nikomu nie trzeba przedstawiać. Korzystamy z nich na co dzień.
Zatem nie przedłużając, zapraszamy do zapoznania się z frameworkiem Django oraz aplikacjami, które powstały z jego pomocą.
Aplikacja webowa w Django, czyli zalety Django
Wiecie, jak brzmi tagline reklamujący Django Project? The web framework for perfectionists with deadlines. Czy można trafniej oddać istotę tego narzędzia? Być może, tylko po co? ;)
A mówiąc poważnie, bo nasz dzisiejszy temat - aplikacja w Django - jest poważnie technologiczny, jeśli chcecie budować perfekcyjne aplikacje webowe i nie patrzeć na kalendarz z przerażeniem. Jeśli nie chcecie dostać palpitacji serca, słysząc słowo „deadline", używajcie frameworku Django.
Tworzenia aplikacji w wielu wypadkach bez niego ciężko sobie wyobrazić. Sprostanie rosnącym wymaganiom, oferowanie rozwiązań prostych i skutecznych to najważniejsze zalety tej technologii.
Czym jest Django? Wreszcie, dlaczego duże biznesy, aplikacje mające miliony użytkowników, działające w skali globu zdecydowały się wykorzystywać właśnie tę, a nie inną technologię?
Nim opowiemy więcej o tym świetnym narzędziu, technologii cofnijmy się na chwilę do roku 2003, do Stanów Zjednoczonych.
To właśnie wtedy dwóch programistów (Simon Willson, Adrian Holovaty), pracujących dla gazety codziennej, znalazło sposób na skuteczniejsze wykorzystanie Pythona (już wtedy dość popularnego języka programowania) do stworzenia szybszej, wydajniejszej strony internetowej.
Chwilę im to zajęło, ale cel został osiągnięty. Efekt był na tyle przekonujący, że dwa lata później został udostępniony w formie open-source (licencja BSD - Berkeley Software Distribution) pod nazwą Django.
Nazwę Django zawdzięcza swojej wszechstronności, szybkości i konkretności. Cechom, które widoczne były w stylu, technice Django Reinhardta. Muzyka jazzowego, który był wirtuozem, innowatorem oraz bardzo wszechstronnym instrumentalistą. Skojarznie dość odległe, ale bardzo trafne.
Reinhard znany był z tego, że grając na gitarze, posługiwał się tylko trzema palcami. Podobnie framework, nazwany jego imieniem, pozwala uzyskać podobne efekty.
Dlaczego Django stał się tak popularnym frameworkiem? Jakie cechy Django przesądziły o jego wielkim sukcesie?
Django jest frameworkiem, który został napisany w języku Python, a więc w jednym - od wielu lat - z popularniejszych języków programowania.
Frameworki stanowią rodzaj szkieletu przyszłej aplikacji. Pozwalają one określić jej strukturę oraz sposób działania. Frameworki to także zbiory komponentów oraz bibliotek, które pozwalają wykonać konkretne zadania. Zapewniają określone funkcjonalności dla większych platform oprogramowania.
Korzystając z takich elementów (adaptując je na potrzeby wymogów konkretnego projektu) twórcy aplikacji są w stanie ją stworzyć o wiele szybciej i efektywniej.
Aktualna wersja Django wykorzystuje wzorzec architektoniczny MVC (Model-View-Controller), który pozwala odseparować wizualną prezentację aplikacji (GUI - Graficzny Interfejs Aplikacji) od logiki biznesowej aplikacji.
Istotną cechą Django jest także oparcie na zasadzie DRY (Don't Repeat Yourself). Regule polegającej na unikaniu w procesie tworzenia oprogramowania powtórzeń kodu.
Zamiast powtarzać kod wystarczy go po prostu wywołać, co czyni programowanie szybszym i prostszym, a sam kod o wiele bardziej przejrzystym.
Oszczędza to także czas, który należy poświęcić na poprawę kodu, jeśli pojawi się błąd. W przypadku stosowania wywołań poprawić wystarczy jeden fragment, nie wszystkie powtórzenia.
Czy to wszystkie zalety, jakie posiada framework Django? Ależ skąd! Oszczędność kodu to o wiele za mało, by zyskać masową sympatię bardzo wymagających i mających jeszcze szerszy wybór developerów.
Django pozwala tworzyć kod:
- klarowny
- o prostej strukturze
- bezpieczny.
Ponadto framework jest bardzo wygodny, bowiem oferuje szereg funkcji, które pozwalają przy zaangażowaniu minimalnej ilości pracy uzyskać maksymalne efekty.
Mówiąc nieco innym jeszcze językiem, Django pozwala - stosunkowo „bezboleśnie” - rozwiązać większość problemów, jakie napotykają programiści tworzący aplikacje webowe.
Twórcom Django w szczególności zależało na stworzeniu frameworka, który będzie pozwalał skrócić czas tworzenia aplikacji, który będzie pozwalał skrócić czas dzielący koncepcję od jej egzekucji.
Ta cecha często przesądza - choć oczywiście nie jest jedyną cechą braną pod uwagę - o wyborze Pythona i Django.
Tym bardziej, że w Django dołożono wielu starań, by zapewnić wysokie bezpieczeństwo i zmniejszać ryzyko popełnienia błędów.
Dlaczego największe marki globalne, duże organizacje wybierają Django?
Django jest frameworkiem nie tylko open source`owym, ale także przyciągającym uwagę wielu programistów z całego świata. Społeczność skupiona wokół Django jest naprawdę imponująca.
Szacuje się, że nad rozwojem, doskonaleniem Django mniej lub bardziej regularnie i intensywnie pracuje kilkanaście tysięcy programistów z kilkuset krajów.
To potencjał, którego nie wolno zlekceważyć. W praktyce oznacza on szybsze wyłapywanie błędów, oferowanie lepszych rozwiązań, możliwość skorzystania z doświadczenia innych programistów, uczenia się oraz korzystania z narzędzi stale rozwijanych, aktualizowanych.
Podobnie imponujące są nazwy brandów, które zdecydowały się korzystać z dobrodziejstw tego rozwiązania. Ale o nich będziemy pisać szerzej za chwilę.
Przyczyn takiego zainteresowania, zaangażowania oraz korzystania z Django jest wiele. Część wymieniliśmy w poprzednich akapitach, ale to nie koniec.
Django przede wszystkich jest bardzo użyteczny. Tworzenie aplikacji z jego pomocą przypomina trochę budowę budynku z klocków.
Django jest używane głównie jako system CMS (System Zarządzania Treścią), ale jego możliwości są znacznie szersze i bardziej zaawansowane.
Jak czytamy na stronie Django Project, Django nie jest tylko CMS-em. Jest w pełnym tego słowa znaczeniu frameworkiem webowym. A więc narzędziem, które pozwala tworzyć aplikacje webowe.
Bywa wykorzystywany w platformach komunikacyjnych, do zarządzania dokumentami, do analizowania danych, do tworzenia ekosystemów, tworzenia semantycznych adresów URL i wielu, wielu innych celów.
Warto także wspomnieć, że Django to także pokaźna ilość bibliotek, które pozwalają tworzyć zaawansowane aplikacje webowe.
Oferowane biblioteki dostarczają funkcjonalności (np. rejestracji, autoryzacji zarządzania treścią) oraz oferują możliwość obsługi dużej ilości użytkowników.
Django jest zazwyczaj używane do tworzenia:
- aplikacji wieloplatformowych (działających na różnych systemach operacyjnych oraz na różnych urządzeniach)
- aplikacji, w których skalowalność jest kwestią priorytetową
- aplikacji oferujących wiele ról użytkownikom (Multiple User Roles)
- aplikacji SaaS (Software as a Service)
- aplikacji korporacyjnych (Enterprise)
- platform E-Commerce
- platform finansowych
- serwisów społecznościowych.
O wiele bardziej wydajna skalowalność aplikacji webowych, tworzonych za pomocą Django jest cechą, która przyciągnęła uwagę programistów tworzących aplikacje webowe, które z założenia miały służyć milionom użytkowników.
Stąd też wielka popularność Django wśród twórców start-upów, których właściciele, inwestorzy liczą - wprost lub po cichu - na ogromny sukces aplikacji w krótkim czasie. Na który, dzięki Django, chcą być gotowi.
I słusznie, bowiem framework Django jest dziś technologią nadal o ogromnym potencjale i przyszłości.
Podsumowując, Django jest wykorzystywane ze względu na:
- szybkość tworzenia aplikacji internetowej
- dostępność gotowych rozwiązań, komponentów
- wszechstronność
- bezpieczeństwo
- skalowalność.
Popularne aplikacje stworzone za pomocą Django
Przykładów aplikacji tworzonych za pomocą najpopularniejszego frameworka Pythona nie brakuje. Na stronie Django Sites znajdziemy liczne przykłady jego użycia.
Ale całkiem spory korpus artykułów dostępnych na branżowych serwisach, blogach omawia najbardziej spektakularne przykłady wdrożenia Django.
Nie chcąc być gorsi, także my opiszemy kilka aplikacji, kilka historii sukcesu (Success Stories), które stanowią najdobitniejszy dowód, przykład i argument przemawiający za korzystaniem z Django.
Aplikacja Disqus – setki milionów komentarzy
Disqus to bodaj jeden z najczęściej omawianych przykładów aplikacji stworzonej za pomocą Django.
Disqus jest systemem hostingu komentarzy o globalnym zasięgu, który w swojej podstawowej funkcji pozwala dodawać komentarze i odpowiedzi w wątkach na stronach internetowych.
Ale to nie jedyna funkcja, Disqus wykorzystywane jest także do:
- wysyłania powiadomień za pomocą e-maila
- subskrypcji i obsługi kanałów RSS
- moderowania i administrowania
- filtrowania spamu
- tworzenia czarnych i białych list.
Dzięki użyciu Django, aplikacja, z której korzystają miliony użytkowników, jest stabilna i efektywna. Zapewnia odpowiednią skalowalność.
Aplikacja Instagram - miliard użytkowników
Instagrama, podobnie jak Facebooka, nikomu specjalnie przedstawiać nie trzeba. Serwis społecznościowy służy do udostępniania głównie zdjęć oraz krótkich filmów.
Przy tak ogromnej liczbie użytkowników (oraz generowanego przez nich contentu, ruchu) skalowalność jest kwestią bardziej niż fundamentalną.
Gdyby historia nie wyglądała inaczej można by pomyśleć, że Django wręcz zostało napisane do tworzenia aplikacji podobnych do Instagrama.
Aktualnie nie ma bardziej imponującego przykładu aplikacji, która powstała, dzięki wykorzystaniu Django.
Podstawową zaletą wykorzystania Django przez Instagrama jest:
- skuteczna, wydajna obsługa ogromnej ilości danych oraz interakcji, jakie zachodzą w aplikacji (95 milionów zdjęć oraz ponad 4 miliardy lajków jest dodawanych, dawanych każdego dnia)
- separacja Front-endu od Backendu
- możliwość dodawania nowych rozwiązań z zakresu UI/UX bez konieczności ingerencji w zaplecze (Backend).
Aplikacja YouTube - druga najważniejsza wyszukiwarka na świecie
W sensie ścisłym YouTube jest serwisem służącym do publikacji, oglądania, dzielenia się materiałami audiowizualnymi.
Ale jest także drugą pod względem popularności wyszukiwarką w internecie. Popularniejsza od niej jest tylko wyszukiwarka Google.
Pierwotnym językiem, w jakim serwis YouTube został napisany, był PHP. Jednak wraz z zwiększaniem się zasięgów, odsłon, użytkowników, danych oraz interakcji konieczne było skorzystanie z rozwiązań bardziej efektywnych. Django okazało się bardzo naturalnym wyborem.
Wprawdzie nie cały serwis jest napisany z pomocą Django, ale Google, do którego YouTube należy, uznaje Pythona za język rekomendowany do kodowania backendowych części aplikacji. Rekomendację, płynącą z takiego źródła, nie sposób uznać za przypadkową, czy nietrafioną.
Aplikacja Spotify - 125 milionów subskrybentów
Również w przypadku Spotify - serwisu, który zmienił niemal wszystko w branży muzycznej - liczby są oszałamiające. 70 milionów utworów, 365 milionów użytkowników, 178 rynków.
Przy takiej skali projektu wydajność, elastyczność, bezpieczeństwo, szybkość są celami i wartościami priorytetowymi.
Jak piszą sami programiści, pracujący nad rozwojem aplikacji w artykule pt. „How we use Python at Spotify”, Python (także Django) jest używany przez nich do:
- rozwoju usług backendowych
- analizy danych
- tworzenia prototypów
- tworzenia szybkich skryptów
- uczenia maszynowego.
Efekt, zdaniem insiderów ze Spotify, jest na tyle przekonujący, że uznają oni Python / Django za technologie podstawowe w ich stacku technologicznym.
Aplikacja Bitbucket - hosting repozytorium kodu liczony w milionach żądań i repozytoriów
Django okazało się także technologią pierwszego wyboru w przypadku platformy, której adresatami są sami programiści. Bitbucket pozwala milionom developerów przechowywać w wygodny oraz bezpieczny sposób kod.
Biorąc pod uwagę statystyki obciążenia, Bitbucket jest jedną z najbardziej wymagających pod względem obciążenia aplikacji, jakie zostały stworzone z pomocą Django. Wybór Pythona i Django podyktowany był kilkoma kwestiami.
Bodaj jedną z najważniejszych były dostępne w Django gotowe rozwiązania, które pozwoliły skrócić czas konieczny do wdrożenia istotnych z punktu widzenia działania oraz rozwoju platformy funkcjonalności.
Również w tym wypadku, zdaniem twórców Bitbucket, wybór był słuszny i przyczynił się do rozwoju biznesu.
Aplikacja Dropbox - 700 milionów użytkowników jednej z najlepszych platform SaaS
Dropbox, dzięki swoim funkcjonalnościom, oferowaniu bardzo atrakcyjnych usług (SaaS), opartych na chmurze stał się atrakcyjnym narzędziem do przechowywania plików, zarówno dla klientów indywidualnych, jak i biznesowych.
Platforma została napisana w języku Python, jej wybrane elementy tworzono za pomocą frameworku Django, dzięki czemu możliwe jest bardzo wydajne, stabilne przechowywanie różnych typów plików.
Co jeszcze ważniejsze, Django pozwala skutecznie zsynchronizować konto na różnych urządzeniach. Pozwala także oferować różne rodzaje opcji udostępniania plików.
Dropbox od lat cieszy się dobrą opinią i jest ceniony przez użytkowników na całym świecie. Sami jesteśmy użytkownikami Dropboxa i trzeba przyznać, że jeszcze nas nie rozczarował, ani nie zawiódł.
Przeglądarka Mozilla Firefox - druga najpopularniejsza przeglądarka internetowa na świecie
Historia wzrostu Mozilli jest także historią zastępowania technologii mniej wydajnych (PHP) technologiami o wiele lepiej radzącymi sobie z lawinowo rosnącym ruchem (Python / Django).
Prawie 200 milionów aktywnych użytkowników w skali miesiąca (Monthly Active Users - MAU) stanowi wyzwanie, z którym developerzy Mozilli poradzili sobie dopiero po zmianie technologii. Python, Django odegrały niemałą rolę w kwestii skutecznego konkurowania z największym rywalem.
Choć Firefox ma silnego konkurenta w postaci Google Chrome, to jednak dzięki odpowiedniemu wykorzystaniu technologii jest w stanie od lat skutecznie konkurować z liderem. I nawet z nim wygrywać w różnego rodzaju benchmarkach wydajności.
Popularne aplikacje Django - jakie firmy używają Django. Podsumowanie
- Django jest frameworkiem, który został napisany w języku Python.
- Python od wielu lat jest jednym z popularniejszych języków programowania wśród programistów. W niezależnych od siebie rankingach uzyskuje wysokie pozycje, głównie z powodu prostoty oraz wysokiej efektywności.
- Frameworki są ogólnymi ramami, standardami, narzędziami tworzenia i wdrażania aplikacji, strony internetowej.
- Frameworki zapewniają określone funkcjonalności dla większych platform oprogramowania, dzięki czemu tworzenie aplikacji z ich pomocą jest o wiele szybsze i prostsze.
- Aktualna wersja frameworku Django wykorzystuje wzorzec architektoniczny MVC (Model-View-Controller).
- Architektura MVC pozwala odseparować wizualną prezentację aplikacji od logiki biznesowej aplikacji.
- Separowanie warstw Front-end oraz Backend pozwala szybciej i prościej rozwijać aplikacje oraz zmniejszać ilość błędów.
- Framework Django jest oparty na popularnej regule DRY (Don't Repeat Yourself). Oznacza ona tworzenie kodu w bardziej ekonomiczny, czytelny, elegancki sposób.
- Django pozwala tworzyć kod klarowny, skalowalny, o prostej strukturze, jednocześnie zapewniający odpowiedni poziom bezpieczeństwa.
- Django oferuje szereg funkcji, które pozwalają przy zaangażowaniu minimalnej ilości pracy uzyskać maksymalne efekty.
- Twórcom Django w szczególności zależało na stworzeniu frameworku, który będzie pozwalał skrócić czas tworzenia aplikacji.
- Django jest frameworkiem skupiającym liczną społeczność programistów stale go rozwijających oraz udoskonalających.
- W praktyce oznacza on szybsze wyłapywanie błędów, oferowanie lepszych rozwiązań, możliwość skorzystania z doświadczenia innych programistów, uczenia się oraz korzystania z narzędzi stale rozwijanych, aktualizowanych.
- Django pozwala tworzyć aplikacje z gotowych elementów. Tworzenie aplikacji za pomocą Django przypomina trochę budowę budynku z klocków.
- Django nie jest tylko CMS-em. Jest w pełnym tego słowa znaczeniu frameworkiem webowym. A więc narzędziem, które pozwala tworzyć aplikacje webowe.
- Oferuje znaczną ilość bibliotek, które pozwalają tworzyć zaawansowane aplikacje webowe.
- Biblioteki dostarczają większości typowych oraz użytecznych funkcjonalności (np. rejestracji, autoryzacji zarządzania treścią).
- Django jest zazwyczaj używane do tworzenia aplikacji wieloplatformowych, oferujących wiele ról użytkownikom, SaaS (Software as a Service), korporacyjnych (Enterprise), platform E-Commerce, platform finansowych, serwisów społecznościowych.
- Django jest wykorzystywane przez globalne, cieszące się dobrą reputacją, opinią lidera w swojej domenie organizacje, brandy, między innymi przez: National Geographic, Pinterest, Eventbrite, Prezi, NASA.