Pliki cookies

Pliki cookies niezbędne zapewniają działanie strony. Analityczne i reklamowe (statystyki odwiedzin, pomiar skuteczności reklam) włączamy tylko za Państwa zgodą, którą można w każdej chwili zmienić lub wycofać w „Ustawieniach cookies” w stopce strony. Więcej: polityka cookies, polityka prywatności.

Kiedy polecamy Swifta, a kiedy go odradzamy

Aplikacja natywna na iOS daje pełny dostęp do funkcji Apple i wygląd zgodny z systemem, ale obejmuje tylko jedną platformę. O wyborze decyduje to, czego aplikacja potrzebuje od iPhone’a.

Polecamy Swifta, gdy:

  • aplikacja korzysta z funkcji dostępnych tylko u Apple: HealthKit, ARKit, Apple Watch, widżety, Siri i skróty,
  • Twoi klienci to głównie użytkownicy iPhone’ów, a aplikacja ma wyglądać jak aplikacje systemowe,
  • aplikacja przetwarza obraz, wideo albo rozszerzoną rzeczywistość w czasie rzeczywistym,
  • rozwijasz istniejącą aplikację napisaną w Swifcie.

Odradzamy Swifta, gdy:

  • aplikacja musi być jednocześnie na Androidzie i iOS, a budżet nie wystarczy na dwie aplikacje - wtedy proponujemy Fluttera,
  • zakres to formularze, listy, zamówienia i płatności bez funkcji specyficznych dla Apple,
  • większość użytkowników ma Androida, na przykład pracownicy z firmowymi telefonami.

Natywnie w Swifcie czy Flutter - porównanie dla iOS

Wymagania App Store są takie same dla obu dróg. Różnice dotyczą dostępu do funkcji Apple i kosztu drugiej platformy.

Natywnie w Swifcie czy Flutter - porównanie dla iOS
Kryterium Swift i SwiftUI (natywnie) Flutter
Platformy iPhone, iPad, Apple Watch, Mac iOS i Android z jednego kodu
Interfejs komponenty systemowe, zgodne z nowymi wersjami iOS własny silnik, wygląd iOS odtwarzany
HealthKit, ARKit, widżety, zegarek pełny dostęp od dnia premiery systemu część przez wtyczki, reszta natywnie
Weryfikacja w App Store te same wytyczne Apple te same wytyczne Apple
Koszt, gdy potrzebny też Android wyższy - dwie osobne aplikacje natywne niższy - jeden kod na obie platformy
Kiedy wybieramy funkcje Apple, AR, zdrowie, zegarek aplikacje biznesowe na obie platformy

W studiach przypadków publikowanych przez Google zespoły Google Classroom i Reflectly raportują, że jeden kod we Flutterze skrócił czas pracy nad aplikacją na obie platformy o co najmniej 50% - to wyniki wybranych wdrożeń, a nie średnia rynkowa.

Jak przygotowujemy aplikację do weryfikacji w App Store i ile kosztuje aplikacja na iOS, opisujemy na stronie aplikacje mobilne na iOS.

Jak pracujemy w Swifcie

Wersje

Nowe ekrany budujemy w SwiftUI, a UIKit stosujemy tam, gdzie SwiftUI wciąż nie wystarcza, na przykład przy nietypowych widokach kamery. Minimalną wersję iOS ustalamy na podstawie urządzeń Twoich użytkowników. Apple wymaga budowania aplikacji w aktualnym Xcode, więc pilnujemy tych terminów za Ciebie.

Architektura

Kod dzielimy na moduły Swift Package Manager, operacje asynchroniczne piszemy z async/await, a dane lokalne przechowujemy w SwiftData albo Core Data. Logikę oddzielamy od widoków, żeby dało się ją testować bez uruchamiania interfejsu.

CI/CD i wydania

Każda zmiana uruchamia automatyczną budowę i testy, a wersje testowe dostajesz przez TestFlight. Certyfikaty i profile podpisywania są na Twoim koncie Apple Developer, nie na naszym, więc aplikacja jest publikowana w App Store na Twoim koncie.

Testy

Logikę testujemy w XCTest, ścieżki krytyczne testami interfejsu, a przed wysłaniem do App Review sprawdzamy aplikację na fizycznych urządzeniach Apple - także w trybie ciemnym i z powiększoną czcionką.

Aplikacje na iOS, które zbudowaliśmy

Na iOS budujemy natywnie w Swifcie (IT-Renhold) albo we Flutterze, gdy aplikacja powstaje równolegle na Androida (aplikacja dla hotelu, Germania Mint).

Kobieta pokazuje smartfon z aplikacją Renhold do zamawiania sprzątania

Usługi i firmy sprzątające Android / iOS

Aplikacja mobilna dla firmy sprzątającej w Norwegii - IT-Renhold

Dłonie trzymające smartfon z aplikacją hotelową, w tle gość w pokoju hotelowym

Hotele i turystyka Android / iOS / Web

Aplikacja mobilna dla Hotelu

Aplikacja Germania Mint - zestawienie ekranów: wybór języka, weryfikacja i historia produktów

E-commerce i marketplace Android / iOS / Web

Aplikacja mobilna dla mennicy Germania Mint

IT-Renhold: natywne aplikacje na iOS i Androida dla klientów i pracowników firmy sprzątającej w Norwegii. Aplikacja dla hotelu: rezerwacje, room service, zdalny check-in i check-out, czat z obsługą. Germania Mint: weryfikacja produktów przez NFC przy odbiorze przez kuriera.

Dlaczego możesz nam zlecić aplikację na iOS

Od 2010 roku na rynku, ponad 300 zrealizowanych projektów

Aplikacje na iOS w Swifcie i we Flutterze - od projektu po publikację w App Store

Backend w Laravelu, w którym powstała większość naszych realizacji

Konto Apple Developer, certyfikaty i kod zostają u Ciebie

Najczęściej zadawane pytania o aplikacje w Swifcie

Prosta aplikacja albo jedna funkcja kosztuje zwykle od 15 000 zł netto, aplikacja standardowa z kontami, backendem i panelem administracyjnym od 30 000 zł, a aplikacja z integracjami od 70 000 zł. Do tego dochodzi opłata za Apple Developer Program - 99 USD rocznie, płacona przez Ciebie bezpośrednio Apple. Natywna wersja na Androida to osobny kod i osobny koszt.

Nowe aplikacje budujemy w SwiftUI: mniej kodu, podgląd zmian na żywo i wbudowane wsparcie trybu ciemnego oraz dostępności. UIKit stosujemy tam, gdzie SwiftUI nadal nie wystarcza - przy nietypowych widokach kamery, bardzo złożonych listach albo w starszych aplikacjach, które przejmujemy. Oba podejścia da się łączyć w jednej aplikacji, więc nie trzeba przepisywać wszystkiego naraz.

Apple podaje, że 90% zgłoszeń sprawdza w mniej niż 24 godziny, ale pierwsza publikacja często wymaga poprawek. Dlatego przygotowujemy się do wytycznych od początku: polityka prywatności, etykiety prywatności, uzasadnienie uprawnień, logowanie przez Apple przy logowaniu zewnętrznym. Jeśli Apple odrzuci aplikację, odpowiadamy na uwagi i poprawiamy ją w ramach umowy.

Tak, i to jeden z głównych powodów, żeby wybrać Swifta. HealthKit wymaga uzasadnienia dostępu i szczególnej ostrożności przy RODO, bo dane zdrowotne są danymi wrażliwymi. Aplikację na Apple Watch budujemy jako rozszerzenie aplikacji na iPhone’a. Rozszerzoną rzeczywistość realizujemy przez ARKit; doświadczenie z AR mamy między innymi z projektu Nails Room.

Tak. Aplikację wewnętrzną można udostępnić przez Apple Business Manager jako aplikację niestandardową dla Twojej organizacji albo przez program Apple Developer Enterprise, jeśli firma spełnia jego warunki. Do testów wystarczy TestFlight, który pozwala zaprosić do 10 000 testerów zewnętrznych. Pomagamy wybrać model dystrybucji i przygotować konta.

Masz trzy opcje: osobną aplikację w Kotlinie, wspólną logikę w Kotlin Multiplatform z natywnym interfejsem albo jedną aplikację we Flutterze dla obu platform. Przy typowej aplikacji biznesowej Flutter jest najtańszy. Gdy wartością aplikacji są funkcje Apple, zostajemy przy Swifcie, a wersję na Androida liczymy w wycenie osobno.

Prosta aplikacja powstaje w 3–5 tygodni, aplikacja z backendem i panelem administracyjnym w 1,5–2,5 miesiąca, a system z integracjami 2,5–4,5 miesiąca. Do harmonogramu doliczamy czas na weryfikację w App Store. Pracujemy w dwutygodniowych etapach, po których dostajesz wersję testową przez TestFlight.

Zaktualizowano:

Napisz Zadzwoń