Ile kosztuje stworzenie aplikacji mobilnej?
Piotr Lewandowski , 9 marca 2023
Zgodnie z raportem Krajowego Instytutu Mediów, pod koniec 2022 roku ponad 75% Polaków posiadało smartfony. W dzisiejszych czasach telefony komórkowe stają się nieodłącznym elementem naszego życia, zaś sam telefon byłby nieużyteczny bez aplikacji mobilnych. To w nich zamawiamy jedzenie, odbieramy/śledzić przesyłki, opłacamy rachunki czy też oglądamy filmy i seriale. Przeciętny użytkownik korzysta z dziesięciu różnych aplikacji każdego dnia, a na swoim telefonie ma zainstalowane około 40. Nic więc dziwnego, że coraz więcej firm zwraca się do nas z pytaniem o koszty stworzenia dedykowanej aplikacji mobilnej.
Koszt stworzenia aplikacji mobilnej zależy od wielu czynników:
- Platformy, na których aplikacja ma działać (iOS, Android)
- Czy będzie potrzeba łączenia się z serwerem?
- Czy aplikacja ma mieć możliwość zakładania kont?
- Ile ekranów będzie w aplikacji?
- Czy aplikacja ma być zintegrowana z platformami społecznościowymi?
- Czy chcemy stworzyć wersję aplikacji na przeglądarki WWW/Czy taka wersja już istnieje?
- Czy aplikacja będzie obsługiwała powiadomienia push?
- Czy aplikacja ma mieć osobny layout dla tabletów?
- Czy w aplikacji mają być dostępne mapy lub nawigacja?
- W jakiej orientacji ma działać aplikacja (pozioma/pionowa)?
- Czy aplikacja będzie obsługiwała mikropłatności (Google Play, Apple Pay, blik, PayU etc.).?
- Z jakich funkcji telefonu korzysta aplikacja (aparat, kamera, GPS, krokomierz, czujnik zbliżenia/zmierzchu/ruchu)?
- Czy aplikacja ma obsługiwać zewnętrzne urządzenia za pomocą bluetooth?
- Wersje językowe przygotowane dla aplikacji.
Koszt stworzenia aplikacji mobilnej
W ImpiCode wykonujemy aplikacje mobilne na zlecenie klientów od wielu lat. Na tej podstawie można spróbować podać pewną zgrubną estymację kosztu stworzenia aplikacji mobilnej:
- mała aplikacja - 30-90 tysięcy złotych - kilka ekranów bez niestandardowych funkcjonalności,
- średnia aplikacja - 90-180 tysięcy złotych - często podstawowa wersja MVP (minimalne w pełni funkcjonalne rozwiązanie). Może już realizować dodatkowe funkcjonalności takie jak np.; drukowanie po bluetooth, liczenie kroków, obsługa odręcznych podpisów, grywalizacja,
- duża aplikacja - ponad 180 tysięcy złotych.
Obsługiwane platformy
Możliwe systemy aplikacji mobilnych
Obecnie już nie rozwija się aplikacji na platformę Windows Phone, a na rynku dominują dwie główne platformy: iOS (iPhone) oraz Android. W przypadku polskiego rynku udział systemu operacyjnego firmy Apple oscyluje w granicach 10-12%, natomiast globalnie na świecie zbliża się do 20%. W niektórych krajach Europy udział iPhone przewyższa pozostałe smartphone.
Od jakiej wersji systemy operacyjnego sportować aplikację mobilną?
Oprócz wyboru systemu operacyjnego istotnym krokiem jest ustalenie minimalnej wymaganej wersji systemu operacyjnego, na którym ma działać aplikacja. W przypadku systemu Android wsparcie można rozpocząć od wersji Android Marshmallow (wersja 6.0+ z 2015 roku), co obejmuje 98,5% wszystkich urządzeń. Natomiast dla urządzeń firmy Apple, wystarczy wspierać stosunkowo nową wersję systemu z roku 2021, czyli iOS 15, aby objąć 99,5% rynku. To wynika z polityki automatycznej aktualizacji systemu operacyjnego na urządzeniach iPhone.
To co w końcu wybrać?
Po analizie powyższych danych dotyczących rynku polskiego można wysnuć wniosek, że efektywne podejście do tworzenia aplikacji mobilnej polegałoby na rozpoczęciu od opracowania rozwiązania dedykowanego systemowi Android. Dopiero po sprawdzeniu się na rynku i dopracowaniu funkcjonalności należałoby stworzyć wersję na iPhone, aby pozyskać pozostałe kilkanaście procent rynku.
Na szczęście istnieje rozwiązanie, które umożliwia efektywne tworzenie aplikacji na obie platformy, minimalizując jednocześnie koszty. Korzystając na przykład z frameworków takich jak React Native, możliwe jest stworzenie jednego kodu źródłowego, który można skompilować zarówno na system Android, jak i iOS. Przy użyciu takich technologii, koszty tworzenia dwóch wersji aplikacji na obie platformy zazwyczaj wynoszą jedynie 5-20% więcej niż w przypadku tworzenia natywnego rozwiązania dla jednej platformy. Z tego powodu znaczna większość naszych klientów preferuje posiadanie od razu obu wersji aplikacji napisanych przy użyciu React Native lub Flutter.
Typ aplikacji
Ile kosztuje stworzenie aplikacji w zależności od jej przeznaczenia? Jeżeli nasza aplikacji będzie przeznaczona do użytku na potrzeby organizacji, w której pracujemy, to powiemy, że jest to aplikacja biznesowa. Wpłynie to na kilka rzeczy. Możemy wtedy ograniczyć wymagania poprawności działania aplikacji mobilnej do kilku modeli urządzeń, których używamy w firmie. Znacząco ułatwi do zaprojektowanie i wykonanie aplikacji mobilnej. Nadal będziemy chcieli, aby nasza aplikacja była użyteczna i właściwie zaprojektowana pod względem interfejsu, ale możemy zmniejszyć koszty upraszczając szatę graficzną i rezygnując ze zbędnych wodotrysków. Przy aplikacji konsumenckiej będzie wyglądało to inaczej. Jesteśmy zmuszeni do wspierania wielu różnych modeli urządzeń, bo nasi potencjalni użytkownicy będą używali szerokiej gamy urządzeń. Użyteczność aplikacji powinna być na pierwszym miejscu, ale może będziemy chcieli zainwestować w projekt graficzny przyciągający oko.
Projekt graficzny aplikacji
Przygotowanie projektu graficznego aplikacji znacząco pomaga w oszacowaniu kosztów i przyspiesza proces tworzenia mobilnej aplikacji. Dodatkowo umożliwia uporządkowanie myśli i precyzyjniejsze określenie funkcji aplikacji. Projekt graficzny ułatwia również prezentację aplikacji potencjalnym inwestorom lub członkom firmy, by mogli zrozumieć, o jakim rozwiązaniu mowa i jakie może przynieść korzyści.
Makiety aplikacji mobilnej teoretycznie można tworzyć w różnych programach graficznych, takich jak Photoshop, jednak dedykowane platformy do mockapów, na czele z narzędziem Figma, sprawiają, że proces ten jest bardziej efektywny. Połowa klientów, którzy zwracają się do nas z prośbą o oszacowanie kosztów stworzenia aplikacji mobilnej, już posiada projekt ekranów w Figma.
Jeśli nie masz gotowego projektu, nie jest to problem – wystarczy zdefiniować listę ekranów wraz z krótkim opisem ich wyglądu i funkcjonalności. W razie potrzeby możemy stworzyć odpowiednie makiety dla Twojej aplikacji.
Wersja na przeglądarkę
Przygotowanie osobnej wersji naszej apki w postaci strony WWW to znaczący dodatkowy koszt. Jeżeli od początku nosimy się z zamiarem stworzenia stworzenia wersji WWW to najlepiej znaleźć firmę informatyczną, która oferuje kompleksową obsługę i zajmie się zarówno stworzeniem aplikacji mobilnej jak i jej wersji WWW.
Połączenie z serwerem i API
Serwer oraz API mogą być pojęciami bardzo niezrozumiałymi dla osoby bez wykształcenia technicznego. Są potrzebne wtedy, kiedy chcemy połączyć ze sobą użytkowników naszej aplikacji (np. przy grze online), jeżeli chcemy przechowywać różne informacje (np. oferty kupna/sprzedaży, zdjęcia) lub mięć dostęp do innych informacji o naszych użytkownikach.
Zakładanie kont w aplikacji
Jeżeli chcemy zapisywać dane o użytkownikach i przechowywać je na serwerze to prawdopodobnie będziemy potrzebowali możliwości zakładania kont w aplikacji. Taka konieczność pojawia się na przykład wtedy, kiedy chcemy, żeby potencjalny użytkownik mógł używać naszej aplikacji na kilku urządzeniach/telefonach. Wtedy dobrze jest rozważyć integrację z kontami innych serwisów np. logowanie przez Facebook, czy Google.
Mapy i lokalizacja
To kolejna duża funkcjonalność, a często nawet rdzeń naszej wymarzonej aplikacji. Do takich grup aplikacji należy większość apek związanych z ekonomią dzieloną, aplikacje transportowe, kurierskie, czy mapki do znajdowania określonego rodzaju usług. Aplikacje używające map oparte są zazwyczaj o Google Maps API lub Open Street API. ile kosztuje używanie map w aplikacji? W zależności od zastosowań i wyboru biblioteki API są darmowe lub płatne. Cennik dla Google Map API jest tutaj: https://developers.google.com/maps/pricing-and-plans/. Open Street API jest teoretycznie darmowe, ale bardziej zaawansowane funkcjonalności oparte o nie są już zazwyczaj płatne i stworzone przez firmy zewnętrzne.
Publikacja w sklepie
Jeżeli tworzymy aplikację na potrzeby wewnętrzne do dodanie jej do sklepu z aplikacjami nie jest konieczne. Można je jednak rozważyć jako najłatwiejszy sposób na dystrybucję aplikacji wśród pracowników i najłatwiejszy sposób na rozprowadzanie aktualizacji. Jeżeli tworzymy aplikację dla konsumentów lub B2B to wtedy na pewno chcemy umieścić apkę w sklepie z aplikacjami. Jest to najłatwiejszy sposób na pobranie aplikacji jak i dodatkowy sposób na marketing. Mamy dwa główne sklepy: Google Play dla aplikacji napisanych na Androida oraz App Store dla aplikacji napisanych na iOS. Oprócz tego istnieje wiele niszowych sklepów. Warto je też rozważyć. Są mniej popularne, ale umieszczając tam aplikacji mamy szanse stać się jedyną aplikacji tego typu w sklepie. O wiele trudniej być unikalną apką w Google Play lub App Store. Koszt stworzenia aplikacji pod konkretny sklep nie zwiększa, ani nie zmniejsza rażąco ceny. Gdybyśmy na Androidzie nie chcieli używać usług Google, to wtedy koszt najprawdopodobniej rażąco wzrośnie. Wygoda naszej aplikacji też wtedy na pewno zmaleje. Użytkownicy są bardzo przyzwyczajeni do interfejsów usług Google na Androidzie.
Lista sklepów z aplikacjami mobilnymi:
- Google Play,
- App Store,
- Uptodown,
- SlideME,
- Samsung Galaxy Store,
- Huawei AppGallery,
- GetJar,
- ACMarket,
- Amazon Appstore,
- Aptoide,
- Uptodown App Store,
- itch.io,
- Cydia App Store,
- F-Droid - zawiera jedynie aplikacje Open Source na Androida,
- SlideME.
Koszt umieszczenia aplikacji w sklepie i jej utrzymania
Umieszczenie i utrzymanie aplikacji w sklepie też wiąże się z kosztami. Umieszczenie aplikacji w Google Play wiąże się z koniecznością założenia konta programisty (https://play.google.com/apps/publish/signup/). Tutaj koszt jest jednorazowy i wynosi: 25 USD. Mając założone konto możemy publikować dowolną liczbę darmowych i płatnych aplikacji.
Jeżeli chcemy opublikować aplikację w App Store, to musimy założyć konto programisty, za które pobierana jest opłata 99 USD rocznie. Konto Enterprise umożliwia m.in. rozprowadzanie aplikacji tylko wewnątrz naszej organizacji i kosztuje 299 USD rocznie (https://developer.apple.com/support/compare-memberships/).
Inne koszty utrzymania
Oprócz zastanowienia się ile kosztuje zbudowanie aplikacji warto oszacować koszty utrzymania. Suma opłat za utrzymanie naszej aplikacji w sklepie to pomijalny wydatek, ale musimy się też liczyć z innymi kosztami. Apki, które łączą się z serwerem potrzebują infrastruktury serwerowej lub chmury. Tutaj koszty utrzymania będą zależały od ruchu jaki generujemy na serwerze i od liczby użytkowników naszej aplikacji. Oprócz tego wiele firm pobiera opłaty za SLA - utrzymanie systemu w gotowości i reakcję w razie jak serwer przestanie działać. Dobrze jest też zarezerwować budżet na drobne poprawki i usprawnienia, które mogą nam przyjść do głowy po wypuszczeniu aplikacji lub będą konieczne do wdrożenia po zebraniu opinii od użytkowników. Google, czy Apple też mogą przyczynić się do zwiększenia naszych kosztów utrzymania. Google Play, czy App Store, co jakiś czas zmieniają regulaminy zamieszczania aplikacji w sklepie np. zezwolenia aplikacji na korzystanie z aparatu etc. i wymuszają na twórcach aplikacji zmiany implementacyjne. W przeciwnym przypadku usuwają aplikacje ze sklepu. Nasza aplikacja może też mieć problemy z działaniem po wypuszczeniu nowych wersji systemu Android, czy iOS. Zmiany w tych systemach mogą spowodować niestabilne działanie apki na najnowszych wersjach telefonów. Wynika to ze zmian w systemie, których nie dało się przewidzieć na etapie tworzenia apki. Przykładem może być kształt ekranu w iPhone X. Po wypuszczeniu tego telefonu wielu twórców musiało zmienić layout swoich aplikacji.
Z badań przeprowadzonych przez AnyPresence wynika, że wśród aplikacji biznesowych 29,6% ich twórców wypuszcza aktualizacje co najmniej raz w miesiącu, a 52,8% planuje ulepszenia aplikacji co 6 miesięcy.
Wersje językowe
Wprowadzenie wielojęzyczności do aplikacji mobilnej może być korzystne, nawet jeśli początkowo kierujemy się językiem ojczystym odbiorców lub angielskim, gdy aplikacja ma charakter globalny. Warto rozważyć implementację wielojęzyczności od samego początku, zwłaszcza gdy biznes nie ma ograniczeń związanych z lokalizacją odbiorcy. Projektowanie tej funkcjonalności na etapie początkowym może być znacznie tańsze niż dodawanie jej w późniejszym okresie.
Wielojęzyczne aplikacje natywne na Androida
Aplikacje natywne na Androida, które są w większości tworzone przy użyciu Android Studio SDK, łatwo obsługują wielojęzyczność. Środowisko to wręcz wymusza tworzenie aplikacji z gotowością do obsługi wielu języków, nawet jeśli aktualna wersja korzysta tylko z jednego. W związku z tym dodanie wielojęzyczności do istniejącej aplikacji nie jest zazwyczaj kosztowne, a w przypadku nowego projektu praktycznie nie wpływa na koszty.
Wielojęzyczne aplikacje natywne na iOS
Aplikacje natywne na iOS, tworzone zazwyczaj przy użyciu Xcode IDE, również sprzyjają łatwej implementacji wielojęzyczności. Narzędzie to zachęca do tworzenia aplikacji w taki sposób, aby od samego początku supportowały wiele języków. Dodanie obsługi wielu języków do istniejącej aplikacji nie powinno zazwyczaj generować wysokich kosztów.
Wielojęzyczne aplikacje na obie platformy napisane w React Native
React Native sam w sobie nie oferuje wbudowanego wsparcia dla wielojęzyczności i nie wymusza na programistach tworzenia rozwiązań, które ułatwiają dodanie tej funkcji w późniejszym okresie. Dlatego ważne jest, aby na samym początku zastanowić się nad potrzebą wielojęzyczności w przyszłości. Nawet jeśli w pierwszej wersji aplikacji obsługiwany jest tylko jeden język, odpowiednie zaprojektowanie pozwoli na późniejsze dodanie nowych języków bez konieczności znaczących prac programistycznych. Również implementacja tej funkcjonalności od samego początku nie znacznie podwyższa koszt całej realizacji.
Nasi klienci
Polski Związek Motorowy
Adamed
Polska Agencja Prasowa
Astor
IFX Payments
TEB Edukacja
Fundacja Moc Pomocy
Elemental Holding
French Touch
Polski Komitet Normalizacyjny
TU
Bergakademie Freiberg
Bank Nowy BFG
Narodowe Centrum Promieniowania Synchrotronowego SOLARIS
Astorino Kawasaki Robotics
DTK&W Zespół Ogłoszeniowy
Opegieka
Crazy shop
PartyBox
WUOZ w Krakowie
Uniwersytet Medyczny w Łodzi
Grupa Mo
Jeleniogórska Organizacja Turystyczna
eFitness
Instytut Badań Literackich PAN
Danhoss
Fundacja Sztuki, Przygody i Przyjemności ARTS
Opennet.pl
Centrum Medyczne Intermed
Centrum Rozwoju Edukacji Edicon
Winner Europe
Po amputacji
MamMoc.pl
EtnoStoria
Widzisz Wszystko
EMKA Project
NowaLed ILL
Eco Light LED
LoxiMide
Fundacja AVLab.pl
RCC Nova
Vector Controls
Virtual SMS
Parus Holdings
Biuro Partner
Optime.AI
M2M Team
Aplikacja mobilna została stworzona w React Native,, co umożliwia użytkownikom korzystanie z niej zarówno na systemie Android, jak i iOS. Aby poprawić komunikację, zintegrowaliśmy ją z serwerem mailowym przy użyciu Mail API.
Backend aplikacji został zrealizowany w technologii AWS, w tym z użyciem DynamoDB i Lambda (w języku Python).
Backend został stworzony w technologii AWS, w tym : DynamoDB i Lambda (Python).
Aplikacja służy do dokumentowania, digitalizowania i archiwizowania interesujących obiekty, miejsc i wydarzeń kulturalnych.
Obsługa zewnętrznych urządzeń Bluetooth
Obsługa zewnętrznych urządzeń może być zrealizowana poprzez Bluetooth. Trzeba się liczyć z tym, że wtedy aplikacja może zużywać szybciej baterię. Koszt stworzenia takiej aplikacji może znacząco wzrosnąć. Musimy też określić modele urządzeń jakie chcemy podłączyć przez Bluetooth. Wiążę się to także z zakupem urządzeń do testów. Warto zorientować się na stronie producenta, czy jest już oprogramowanie do sterowników Bluetooth, jakie jest dla niego wsparcie i jakie wersje telefonów obsługuje (Android/iOS) i które wersje. Ponadto tworzą aplikacje multi platformowe np. w React Native implementacja takich funkcjonalności, może wymagać tworzenie dwóch osobnych kodów/rozwiązań dla Androida i iOS.
Mikropłatności w aplikacji
Obsługa mikropłatności jest świetnym sposobem na zmonetyzowanie naszej wymarzonej aplikacji. Google Play, czy App Store posiadają wbudowane mechanizmy mikropłatności, które możemy podpiąć pod naszą aplikacje. Jest to o tyle wygodne rozwiązanie, że wtedy użytkownik nie musi podawać numeru karty kredytowej, bo korzystamy z tego, że podał ją już Google, czy Apple. Wiąże się to jednak z płaceniem całkiem sporej prowizji dla operatora. Tańszym aczkolwiek bardziej kłopotliwym może być skorzystanie z innych operatorów np. PayU, czy PayPal.
Tablety
Według StatCounter tablety stanowią mniej niż 5% urządzeń mobilnych na świecie i mniej niż 2% w Polsce. Niektóre aplikacje ze względu na swoją specyfikę mogą być przeznaczone bardziej na tablety niż smartfony, ale należy pamiętać, że to znacząco zmniejszy nasz rynek docelowy. Dostosowanie UI naszej aplikacji specjalnie na tablety będzie się wiązało z dodatkowymi kosztami. Ile kosztuje aplikacja zrobiona na tablety? Przystosowanie aplikacji mobilnej do tabletów może zwiększyć cenę aplikacji od kilku do kilkudziesięciu procent w zależności od interfejsu.
Panel administracyjny
Często kiedy przychodzą do nas klienci twierdzą, że ich aplikacja nie potrzebuje żadnego panelu administracyjnego - jest prosta i potrzebna jest wersja tylko na telefon. Bardzo często okazuje się, że nie może obyć się jednak bez panelu administracyjnego, co bardzo mocno wpływa na koszty aplikacji. Jeżeli mamy konta w aplikacji, to potrzebujemy jakiegoś miejsca, w którym można nimi zarządzać. Jeżeli nasza aplikacja wysyła jakiekolwiek dane na serwer, a jest tak zawsze, kiedy pozwalam użytkownikom współdzielić materiały lub przenosić pomiędzy telefonami, to będziemy potrzebowali dashboardu do zarządzania i administrowania tymi danymi. Płatne aplikacje często czują się zobligowane do pomagania użytkownikom, którzy z różnych powodów odcięli sobie dostęp do konta lub nie radzą sobie z konfiguracją swojego konta. Wtedy właśnie wchodzimy do panelu po to, żeby pewne operacje wykonać zdalnie w imieniu użytkownika naszej aplikacji mobilnej.
Marketing
Oprócz budżetu na zaprojektowanie i stworzenie aplikacji mobilnej powinniśmy zarezerwować budżet na działania marketingowe. Żadna aplikacji nie wypromuje się sama. Możemy tutaj wymienić kilka przykładowych podejść do marketingu aplikacji:
- ASO (App Store Optimization),
- płatne reklamy (np. Adwords),
- działania w sieciach społecznościowych,
- opracowanie modelu monetyzacji (np. freemium),
- QR Code z linkiem do aplikacji w materiałach marektingowych,
- Katalogi z aplikacjami.
Testy
Testy będą kosztowały nas czas i pieniądze. Przy budowaniu aplikacji mobilnych trzeba uwzględnić testy na różnych klasach urządzeń np. dla różnych wyświetlaczy, kolejnych wersji Androida itp. Oprócz tego w trakcie wykonywania aplikacji będziemy musieli przeprowadzić testy używalności interfejsu oraz testy poprawnościowe. Warto też zlecić testy obciążeniowe. Tak czy inaczej musimy uwzględnić fazę testowania w naszych planach. Prawdopodobnie będą to testy przeprowadzane przez wszystkie strony zaangażowane w tworzenie aplikacji mobilnej.
MVP
MVP (Minimum Viable Product) jest minimalną wersją produktu/usługi gotową do wypuszczenia na rynek. Wypuszczenie MVP oznacza chwilową rezygnację ze wszystkich ekstra funkcjonalności i opublikowanie apki okrojonej ze wszystkiego, co się da, ale realizującej podstawowy cel. MVP powinno Takie podejście pozwala na opublikowanie wersji produktu o wiele szybciej i taniej niż przy budowaniu pełnej aplikacji. Pozwala tanio i szybko przetestować pomysł i zderzyć go z użytkownikami. Szybka informacja zwrotna od użytkowników jest bardzo przydatna przy dalszym rozwijaniu aplikacji. Może się okazać, że nasz pomysł nie sprawdzi się tak dobrze jak oczekiwaliśmy, a cena za sprawdzenie naszych hipotez jest niższa niż przy tworzeniu pełnej aplikacji. Najczęściej po rozmowie z użytkownikami okazuje się, że oczekują oni innych dodatkowych funkcjonalności niż my zaprojektowaliśmy. Mogą podsunąć nam nowe kierunki rozbudowy naszego produktu lub uświadomić nam, że ficzery, które planowaliśmy nie mają dla nich dużej wartości.
ImpiCode
Temat szacowania kosztów i projektowania aplikacji mobilnych jest bardzo rozległy. Jeżeli chcesz się dowiedzieć ile kosztuje aplikacja mobilna stworzona według twojego projektu lub po prostu chciałbyś porozmawiać o tworzeniu aplikacji to skontaktuj się z nami poprzez formularz kontaktowy.