3 sty 202310 min czytania
Dawid Karczewski
Senior full stack developer i CTO w Ideamotive.
Rozpoczęcie ekscytującego nowego projektu w 2023 roku zaczyna się zwykle od kluczowego pytania o wybór właściwego języka programowania, który zapewni mu sukces. Z myślą o tym chcemy zagłębić się w świat tworzenia aplikacji mobilnych w Pythonie i przyjrzeć się jego potencjałowi oraz przydatności przy budowie udanych aplikacji mobilnych.
Zbierasz się do zbudowania swojej aplikacji. Czas więc zgłębić temat i wybrać to, co sprawi, że produkt będzie przyjazny dla użytkownika. Na czym polega specyfika tworzenia aplikacji mobilnych w Python?
Zacznijmy od początku: Python to skryptowy język programowania. Nadaje się do rozwiązywania różnych zadań i pracy z różnymi platformami - od iOS i Androida po serwerowe systemy operacyjne.
To język interpretowany, a nie kompilowany jak C++ czy Java. Program w Pythonie to zwykły plik tekstowy. Kod możesz pisać niemal w dowolnym edytorze albo korzystać z konkretnych IDE.
Python znajdziesz wszędzie: w sieci, w aplikacjach mobilnych i desktopowych oraz w grach. Programiści tworzą w nim sieci neuronowe, prowadzą badania naukowe i testują programy.
Wiele rankingów pokazuje najlepsze języki programowania, frameworki, środowiska programistyczne, a nawet gadżety w branży IT. W przypadku Pythona radzimy przyjrzeć się następującym platformom:

Python utrzymuje pozycję lidera przez cały 2022 rok. Tworząc ranking, TIOBE liczy wzmianki o każdym języku programowania na stronach i w wynikach wyszukiwarek. Na wynik TIOBE składają się platformy takie jak Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube i Baidu. Popularność porównywana jest rok do roku. We wrześniu 2022 roku Python prowadził w porównaniu z wrześniami lat poprzednich, począwszy od 2001.


Infografika pokazuje ruch 20 najpopularniejszych języków w całej historii rankingu. Widać, że w tym zestawieniu Python zajmuje w 2022 roku drugie miejsce.
Wszechstronność, prostota i duża szybkość pisania kodu w Pythonie pozwalają używać go w tworzeniu stron, programów desktopowych, administracji systemami, Data Science, systemach wbudowanych, aplikacjach mobilnych, grach komputerowych oraz w rozmaitych wtyczkach i skryptach.
Kivy jest otwartoźródłowe, dostępne za darmo i pozwala tworzyć wieloplatformowe aplikacje z GUI. Wygląd takich aplikacji będzie dość naturalny, ale inny niż w pozostałych aplikacjach. Wszystkie widżety we frameworku są bowiem konfigurowalne, a nie standardowe. Dla Ciebie może to być znaczący plus wyróżniający Cię na tle konkurencji. Z drugiej strony aplikacja będzie nieco odbiegać od innych, natywnych. Nawet przy w pełni intuicyjnym interfejsie Kivy może raczej dezorientować użytkowników. Warto rozważyć zalety i wady przed wyborem tego frameworka.

W odróżnieniu od Kivy ten framework ma w zestawie natywne narzędzia dla każdej platformy. Doświadczenie użytkownika nie będzie się więc różnić od aplikacji napisanych w Swifcie dla iOS czy w Javie dla Androida. Oczywiście wiąże się to z pewnymi cechami procesu wytwarzania: wiele elementów trzeba opisać i skonfigurować osobno dla każdej platformy. Dzięki wspólnemu językowi programowania trudności pojawiają się jednak tylko po stronie interfejsu. Resztę funkcjonalności napiszesz i wykorzystasz ponownie na obu platformach. Trzeba tylko pamiętać, że obie aplikacje będzie trzeba przetestować osobno.

Kivy i BeeWare to całkiem obiecujące pythonowe frameworki do aplikacji mobilnych. Jeśli jednak Ci nie odpowiadają, wciąż jest w czym wybierać wśród alternatywnych frameworków.


Wybierając język programowania do swojego produktu, zawsze zwróć uwagę na cechy i zalety każdej z opcji. Odpowiedz sobie na pytanie „co mi to da”, a znajdziesz rozwiązanie optymalne. Dlaczego więc warto tworzyć aplikacje mobilne w Pythonie:
Jeśli przy słowach „kod programu” widzisz obraz z mnóstwem linii, różnych słów, symboli, a przede wszystkim z masą nawiasów i długich opisów - to nie o Pythonie. Ten język pozwala opisać jednym słowem polecenie, które na przykład w Javie trzeba zapisać w pięciu liniach.
Ponieważ kod w Pythonie łatwo się czyta, zyskujesz wiele korzyści. Nauka jest łatwa i szybka, więc do Twojego projektu zawsze znajdą się programiści. Dzięki wygodnej konstrukcji języka potrzebujesz mniej czasu na wytworzenie produktu. Im lżejszy i czytelniejszy kod, tym łatwiej znaleźć i naprawić błędy w projekcie oraz wprowadzić zmiany. Nowej osobie zajmuje dużo mniej czasu wdrożenie się w projekt. Szybko wgryza się w kod i jest gotowa do produktywnej pracy. O zaletach czytelnego kodu można mówić długo, ale wróćmy do tworzenia aplikacji mobilnych w Pythonie.
Wspominaliśmy już, że w Pythonie da się tworzyć aplikacje mobilne, a także programy desktopowe i strony internetowe. Tworząc aplikacje w tym języku, możesz pisać natywne aplikacje na Androida i iOS oraz aplikacje wieloplatformowe, które będą działać równie poprawnie na obu platformach.
Oszczędzasz w ten sposób pieniądze na ponownym tworzeniu tej samej aplikacji na inną platformę i skracasz o połowę czas wprowadzenia produktu na rynek, co na dzisiejszym mocno konkurencyjnym rynku aplikacji jest bardzo ważne.
Python umożliwia pracę w podejściu Test Driven Development. To całkiem ciekawe podejście do wytwarzania oprogramowania. Zakłada ono, że przed wprowadzeniem jakiejkolwiek zmiany w kodzie piszesz testy jednostkowe pokrywające tę zmianę. Dopiero potem następuje refaktoryzacja kodu.
Tworzenie aplikacji w Pythonie w ten sposób pozwala osiągnąć najefektywniejszą architekturę produktu. Zapewnia też wysokie pokrycie testami automatycznymi, co - przy zaliczeniu wszystkich testów - gwarantuje wysoką jakość produktu.
Korzystanie z big data stało się w ostatnim czasie koniecznością. Firmy coraz częściej analizują informacje, żeby osiągać jeszcze lepsze wyniki. Dostępność bibliotek sprawia, że jest to proste i przystępne. Nieco dalej przyjrzymy się aplikacjom mobilnym w Pythonie, które z tego korzystają.
Jak widzisz, ten język ma wiele zalet. W wielu przypadkach tworzenia aplikacji mobilnych jest wręcz niezastąpiony. Doceniło to sporo naprawdę dużych firm i projektów. Niektóre mogą Cię zaskoczyć, ale wszystkie tylko potwierdzają wygodę pythonowych aplikacji dla biznesu i użytkowników.

Jeśli chcesz zbudować aplikację, podstawowym zasobem jest czas. Okres zależy od złożoności pomysłu i poziomu Twoich umiejętności programistycznych. Średnio jednak stworzenie aplikacji mobilnej w dowolnym języku przez profesjonalnych programistów zajmuje od 3 miesięcy.
Jeśli dopiero się uczysz, przygotuj się na dłuższą pracę. Początkującemu zajmie to sporo czasu. Sama nauka to co najmniej 2 miesiące (prognoza optymistyczna) - sprawdź badanie CareerCarma. To dobra platforma dla tych, którzy chcą nauczyć się Pythona. Znajdziesz tam tutoriale o tworzeniu aplikacji mobilnych w Pythonie oraz wskazówki, gdzie szukać darmowych kursów.
Jeśli marzysz o samodzielnej pracy nad projektem, musisz zaplanować wszystkie etapy.
Łącznie może to zająć do 8 miesięcy.
Ostateczny koszt projektu będzie zależeć od:
Oto statystyki średnich miesięcznych stawek programistów Pythona w różnych krajach według SalaryExpert, żebyś mógł oszacować potrzebny budżet:

Jesteśmy przekonani, że o sukcesie każdego projektu decyduje zespół. Porównajmy koszt zespołu w USA i w Polsce.
|
Członek zespołu |
Polska |
USA |
|
Programista Python |
||
|
Projektant |
||
|
Product Manager |
||
|
Średnia kwota |
USD 15500 |
USD 21200 |
|
Koszt zespołu miesięcznie w 2022 roku, według Indeed.com |
||
Startupy i firmy tworzące świetne platformy wybierają Pythona. Przedstawiamy listę znanych projektów, które używają Pythona.
Google - używa tego języka jako komponentu wyszukiwarki.
Dropbox - używa Pythona do optymalizacji backendu i frontendu.
Spotify - używa Pythona do analityki danych.
Instagram, Facebook - używają go po stronie serwera.
Amerykańska Agencja Bezpieczeństwa Narodowego – szyfruje i analizuje dane wywiadowcze.
Pixar - tworzy w Pythonie filmy animowane.
Intel, Cisco, HP, Seagate, Qualcomm i IBM testują i analizują rynek z pomocą Pythona.
NASA, Los Alamos i Fermilab - używają tego języka w obliczeniach naukowych.
Poza tym Pythona używają Positive Technologies, Houdini, Yahoo, Red Hat, Pinterest i Quora. Czy to nie inspirujące?
To ogólnoświatowa sieć społecznościowa z ogromną liczbą użytkowników i możliwości, intuicyjnym interfejsem i aplikacją na każdą platformę.
Instagram stał się dziś centrum najróżniejszych treści w najróżniejszych formach: zdjęć, filmów, animacji, naklejek, masek, filtrów, efektów wizualnych i tak dalej. Do tego możesz komunikować się z innymi i dzielić tym, co widzisz. Grono odbiorców tej sieci stale rośnie, co wymaga dobrego skalowania i rozkładania obciążenia. A jednocześnie Instagram powstał w całości w Pythonie, co pokazuje świetną skalowalność aplikacji w tym języku.

Ta aplikacja również jest zbudowana w całości w Pythonie, a dokładnie w jednym z jego frameworków - Django. Podobnie jak w przypadku Instagrama głównym celem aplikacji jest dzielenie się treściami zdjęciowymi i wideo. Ta sieć społecznościowa nie służy do prywatnej korespondencji, tylko do treści wizualnych. Jednocześnie jest tu świetna funkcja zapisywania dowolnej treści na własnej tablicy. Możesz „przypiąć” dowolny obraz, wgrać własne materiały, udostępnić artykuły czy inne treści z internetu. Pinterest mocno stawia na pracę z dużymi zbiorami danych. Liczba użytkowników też ma znaczenie, bo aplikacja jest popularna na całym świecie. A sądząc po liczbie pobrań, wciąż rośnie.

Wszyscy znamy tę aplikację z muzyką. Każdy wie, że rośnie i rozwija się błyskawicznie, zajmując miejsce na szczycie. Przenieśmy więc uwagę na to, że algorytmy tej aplikacji, które pozwalają dobierać i proponować użytkownikom muzykę, są częścią big data i uczenia maszynowego.

To jednocześnie sieć społecznościowa i serwis internetowy, który pomaga prowadzić dyskusje i obsługiwać komentarze na wielu stronach na świecie. Napisana w Pythonie aplikacja zyskała popularność. Jest bardzo przyjazna użytkownikom, ma różne opcje logowania i autoryzacji oraz możliwość moderowania wiadomości, co gwarantuje zdrową atmosferę i zaufanie do aplikacji.

To pythonowa aplikacja dostępna nie tylko na urządzeniach mobilnych, lecz także na komputerach. Przechowywanie i udostępnianie plików wymaga hostingu, który bezpiecznie pomieści wszystkie potrzebne dokumenty, zdjęcia, nagrania audio, filmy i inne pliki. Ta funkcja zyskała popularność wśród firm i zwykłych użytkowników. Znów widzimy tu zdolność Pythona do obsługi wprost niewyobrażalnych ilości danych w systemie.

Porozmawiajmy o pracy z dużą ilością danych i wygodnym interfejsie użytkownika. Aplikacja taksówkowa pełni funkcję zamawiania przejazdu. Dostarcza też jedzenie. To najlepszy przykład dużej aplikacji mobilnej zbudowanej z użyciem Pythona. Są różne kategorie użytkowników, a każda ma własną funkcjonalność i własny interfejs. Aplikacja pozostaje przy tym niezmiennie wygodna i doceniana przez swoich odbiorców. Codziennie powstaje niezliczona liczba zamówień i - jak widać - Uber i Python świetnie sobie razem radzą.

Mamy jeszcze jedną viralową sieć społecznościową, w której znajdziesz ludzi do dyskusji o wszystkim. Zacznij dowolną dyskusję o newsach, oceniaj i komentuj. Ta aplikacja również trafiła do wielu użytkowników i zajęła miejsce na ich ekranach głównych. Wszystkie funkcje Reddita zaimplementowali programiści Pythona.

Zrobiliśmy to zestawienie, żeby zainspirować Cię do kroków we właściwym kierunku. Świetne przykłady, udane i duże projekty! Rozumiemy, że Twój produkt jest wyjątkowy i chcesz mieć pewność, że wybierzesz właściwy, profesjonalny zespół programistów. Pomożemy Ci znaleźć utalentowanego programistę z odpowiednim doświadczeniem i portfolio zrealizowanych zadań.
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 autoraPopularne artykuły
21 inspirujących projektów UI aplikacji mobilnych na 2023 rok
Michał Pruciak 7 min czytania
MedTech vs HealthTech vs BioTech: jakie są różnice?
Michał Pruciak 7 min czytania
10 biznesowych zastosowań sieci neuronowych (z przykładami!)
Michał Pruciak 4 min czytania
10 przykładów dobrych praktyk w web designie na 2023 rok
Adam Kozłowski 7 min czytania
28 znanych aplikacji webowych napisanych w PHP
Dawid Karczewski 14 min czytania
Jakich usług programistycznych szukasz?
W naszej sieci talentów czekają dziesiątki zweryfikowanych specjalistów Python.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.
Python: kompletny przewodnik biznesowy
Co znajdziesz w środku?