Uwaga! Trwają prace nad nową wersją serwisu. Mogą występować przejściowe problemy z jego funkcjonowaniem. Przepraszam za niedogodności!

🔥 Zgarnij PŁATNY STAŻ w 3 edycji kursu programowania front end (zapisy do 22.01) 🔥

Programowanie aplikacji mobilnych – czy jest dla Ciebie

Rozważ za i przeciw, a potem spróbuj!

Programować można aplikacje mobilne (np. na Androida, iOS-a), webowe czy desktopowe. Wśród nich tworzenie aplikacji mobilnych wyróżnia się pod kilkoma względami. Jeśli jesteś początkującym programistą, być może zastanawiasz się, czy warto zacząć od mobile’u. W tym artykule znajdziesz kilka aspektów, które warto wziąć pod uwagę przed podjęciem decyzji.

Spis treści

 Czy programowanie aplikacji mobilnych jest dla Ciebie?

Być może:

  • w większości korzystasz ze smartfona i gdy tylko możesz, instalujesz aplikacje natywne (narzędzia, apki usługodawców, np. biur podróży),
  • interesujesz się tym, co dzieje się „pod spodem” – sprawdzasz ustawienia i dostosowujesz działanie aplikacji pod siebie,
  • zauważasz niedociągnięcia w zaprojektowanym interfejsie i czujesz, że wiesz, jak to zrobić lepiej.

To może być dobry punkt startu, lecz wcale nie oznacza, że mobile jest dla Ciebie. Poniżej przeczytasz o tym, jakie wyzwania czekają programistów aplikacji mobilnych, a na końcu artykułu wrócimy do tematu podjęcia decyzji.

 O czym pamiętać przed podjęciem decyzji

 Różne rozdzielczości

Aplikacje mobilne (choć webowe też) muszą radzić sobie z różnymi rozdzielczościami ekranów, co jest większym wyzwaniem w przypadku Androida (większe zróżnicowanie marek i modeli).

 Specyficzne interakcje i UX

Interakcja użytkownika w aplikacjach mobilnych różnią się od webowych i desktopowych – chodzi przede wszystkim o gesty, takie jak przesuwanie, „szczypanie” (pinch) czy przeciąganie elementów na ekranie. Mamy również o wiele mniej miejsca na content (treść, multimedia) – zmieszczenie tego na ekranie telefonu to kolejne wyzwanie. Sposób myślenia o doświadczeniu użytkownika (user experience, UX) jest więc nieco inny niż w przypadku aplikacji webowych i desktopowych.

 Ograniczone zasoby urządzenia

Urządzenia mobilne mają ograniczone zasoby (pamięci, mocy obliczeniowej) w porównaniu do komputerów osobistych, lecz użytkownicy przyzwyczajeni są do tego, że „wszystko śmiga”. Warto więc zgłębić temat optymalizacji aplikacji mobilnych.

 Różne wersje systemów

Zdarza się, że wersja oprogramowania jest bardzo stara, na przykład sprzed 4-5 lat. Nie każdy producent smartfonów długo wspiera swoje urządzenia i przejście na nową wersję może być nawet niemożliwe. Trzeba więc zdecydować, czy nasza aplikacja ma być dostępna dla jak największej liczby użytkowników (tak będzie zwłaszcza z aplikacjami instytucji państwowych), czy niektórych wersji nie będziemy wspierać.

 Dynamiczna natura platform

Systemy operacyjne urządzeń mobilnych regularnie otrzymują aktualizacje, które wprowadzają nowe funkcje i zmieniają zachowanie istniejących elementów. Trzeba więc być na bieżąco z nowościami i dostosowywać aplikację do zmieniających się warunków.

 Proces publikacji

W przeciwieństwie do aplikacji webowych, gdzie możemy natychmiast opublikować zmiany, aplikacje mobilne wymagają procesu weryfikacji i publikacji w sklepach (Google Play dla Androida, App Store dla iOS). Proces ten może być czasochłonny, kosztowny (w tej chwili przede wszystkim w przypadku Apple’a) i wiązać się z dodatkowymi wymogami odnośnie do jakości i bezpieczeństwa aplikacji.

 Jak zacząć z mobile developmentem?

Nie ma więc na co czekać, trzeba spróbować!

 Wybierz platformę

Na początek polecam skupić się na jednej platformie (Android albo iOS). Pozwoli Ci to nauczyć się podstaw bez rozpraszania się różnicami między jednym systemem a drugim.

Dla systemu Android rekomendowanym środowiskiem programistycznym jest Android Studio i język Kotlin, a dla iOS – środowisko Xcode i język Swift.

Tak naprawdę nie ma większego znaczenia, od czego zaczniesz, ponieważ Twoim celem będzie w tej chwili weryfikacja swoich preferencji – czy mobile Cię interesuje, czy nie. Nie martw się o stracony czas. Wiedza, którą zdobędziesz, zawsze prędzej czy później się przyda!

Nie podoba Ci się idea kodowania tylko na jedną platformę i chcesz od razu przetestować rozwiązania cross-platformowe? Zainteresuj się na przykład frameworkiem Flutter, React Native lub platformą Xamarin (nadal jednak polecam zacząć od aplikacji dla jednego systemu).

 Nastaw się na eksplorację

Daj sobie czas i przestrzeń do prób. Nie podejmujesz w tej chwili decyzji, która zwiąże Cię z mobile’em do końca życia. Nawet doświadczeni programiści wyspecjalizowani w wąskiej dziedzinie potrafią z czasem zmienić zdanie i poszukać wyzwań gdzie indziej. Skąd jednak mają wiedzieć, co im się podoba, jeśli najpierw nie spróbują innych rzeczy?

Najważniejsze w pracy programisty są dobre praktyki, paradygmaty i umiejętność rozwiązywania problemów, a to będziesz rozwijać niezależnie od technologii, którą wybierzesz.

Próbuj więc swoich sił w różnych dziedzinach – teraz możesz zacząć od apek mobilnych, ale nikt nie powiedział, że za trzy miesiące nie możesz spróbować webu czy desktopu. Internet jest pełen zasobów, które pomogą Ci zrozumieć podstawy każdej z tych dziedzin.

Przypomnę jeszcze raz: umiejętności zdobyte podczas takich eksperymentów nigdy nie idą na marne. Nie tracisz czasu!

 

Tworzenie aplikacji mobilnych stawia przed nami wyzwania: wymaga dostosowania do specyficznych cech platformy, optymalizacji pod kątem wydajności i interakcji oraz regularnego dostosowywania do zmieniających się wersji systemów. Może to być jednak bardzo satysfakcjonujące – stworzone przez Ciebie rozwiązanie będzie działać w kieszeni milionów użytkowników na całym świecie.

 

Ten artykuł jest inspirowany rozmową z Krzysztofem Baranowskim w odcinku podcastu Pierwsze kroki w IT: „Jak zostać programistą aplikacji mobilnych”

 

 

Odcinek znajdziesz na YouTubie oraz popularnych platformach: Spotify, Google Podcasts i Apple Podcasts.

Udostępnij ten artykuł:

Mentoring to efektywna nauka pod okiem doświadczonej osoby, która:

  • przekazuje Ci swoją wiedzę i nadzoruje Twoje postępy w zdobywaniu umiejętności,
  • uczy Cię dobrych praktyk i wyłapuje złe nawyki,
  • wspiera Twój rozwój i zwiększa zaangażowanie w naukę.

Mam coś dla Ciebie!

W każdy piątek rozsyłam motywujący do nauki programowania newsletter!

Dodatkowo od razu otrzymasz ode mnie e-book o wartości 39 zł. To ponad 40 stron konkretów o nauce programowania i pracy w IT.

PS Zazwyczaj wysyłam 1-2 wiadomości na tydzień. Nikomu nie będę udostępniał Twojego adresu e-mail.