Tworzenie stron www
Marketing
Pozycjonowanie
PR
Inne
O nas
Sklep
Blog Kontakt

Swift

Swift to nowoczesny język programowania Apple, używany do tworzenia szybkich i bezpiecznych aplikacji na iOS i macOS. Charakteryzuje się czytelną składnią, wysoką wydajnością oraz wsparciem społeczności programistów.
Swift i SwiftUI – aplikacje iOS współpracujące ze stroną i sklepem, API, publikacja w App Store

Aplikacja w Swift, która współpracuje z Twoją stroną i sklepem

Swift to podstawowy język aplikacji na iPhone’a, iPada, Maca i Apple Watch. Dla firmy prowadzącej sklep internetowy lub serwis usługowy aplikacja iOS nie jest jednak osobnym bytem: korzysta z tych samych produktów, kont klientów, zamówień i treści co strona. To, czy taki duet będzie działać spójnie, zależy od decyzji podjętych na początku projektu. Poniżej kompendium o samym języku, a w kolejnych sekcjach – jak planujemy i realizujemy projekty, w których Swift jest jednym z elementów.

Pomagamy zdecydować, czy aplikacja natywna jest w ogóle potrzebna, czy wystarczy dobrze działająca strona albo aplikacja wieloplatformowa. Projektujemy API i integracje po stronie sklepu internetowego, przygotowujemy stronę pod linki uniwersalne i promocję aplikacji, a samą aplikację budujemy w Swift i SwiftUI. Odpowiednikiem dla Androida jest Kotlin, a porównanie innych technologii znajdziesz w przeglądzie języków programowania.

0rok premiery SwiftUI, deklaratywnego frameworka do budowy interfejsów, w którym powstaje dziś większość nowych ekranów aplikacji Apple
0systemy operacyjne oficjalnie wspierane przez narzędzia Swifta: macOS, Linux i Windows, co otwiera drogę do Swifta po stronie serwera
0wspólne API dla strony, sklepu i aplikacji – tak projektujemy integracje, żeby dane nie rozjeżdżały się między kanałami
0etapów naszego procesu: od zakresu pierwszej wersji po publikację w App Store i plan aktualizacji

Swift

Swift to nowoczesny język programowania stworzony przez Apple w 2014 roku, z myślą o uproszczeniu i usprawnieniu procesu tworzenia aplikacji dla ekosystemu Apple. Jego pojawienie się zrewolucjonizowało sposób, w jaki programiści tworzą aplikacje na iOS, macOS, watchOS i tvOS. Wprowadzenie Swifta było odpowiedzią na rosnące potrzeby deweloperów, którzy poszukiwali języka bardziej intuicyjnego, nowoczesnego i bezpieczniejszego niż Objective-C.

Przed Swift: era Objective-C

Przed wprowadzeniem Swifta głównym językiem programowania dla systemów Apple był Objective-C. Choć był on potężnym narzędziem, posiadał kilka istotnych ograniczeń:

  • Skomplikowana i przestarzała składnia odstraszała początkujących programistów.
  • Brak wsparcia dla wielu nowoczesnych funkcji, takich jak zarządzanie błędami na poziomie języka.
  • Potrzeba manualnego zarządzania pamięcią (choć później wprowadzono ARC, czyli automatyczne zarządzanie pamięcią).

W miarę jak rynek aplikacji mobilnych rósł, Apple dostrzegło potrzebę opracowania nowego języka, który byłby łatwiejszy do nauki, a jednocześnie oferowałby nowoczesne rozwiązania.

Tworzenie Swifta

Prace nad Swiftem rozpoczęły się w 2010 roku pod kierownictwem Chrisa Lattnera, inżyniera Apple znanego z opracowania LLVM (Low-Level Virtual Machine), używanego jako fundament kompilatora Swifta. Lattner wraz ze swoim zespołem stworzył język, który łączył łatwość obsługi znaną z języków takich jak Python z wydajnością C++ i bezpieczeństwem typowania.

Pierwsza wersja Swifta została oficjalnie zaprezentowana na konferencji WWDC (Apple Worldwide Developers Conference) w czerwcu 2014 roku. Już rok później, w 2015 roku, Swift stał się projektem open-source, co pozwoliło społeczności programistów na aktywne uczestnictwo w jego rozwoju.

Czym jest Swift?

Swift to język programowania wysokiego poziomu zaprojektowany z myślą o nowoczesnych aplikacjach. Jest szybki, bezpieczny i prosty w użyciu. Został stworzony głównie do tworzenia oprogramowania dla ekosystemu Apple, ale dzięki otwartemu kodowi źródłowemu można go również używać w innych środowiskach.

Główne cechy Swifta

  • Nowoczesność
    Swift korzysta z najnowszych osiągnięć w dziedzinie projektowania języków programowania, wprowadzając intuicyjną składnię, obsługę funkcji nowej generacji i nowoczesne narzędzia debugowania.
  • Bezpieczeństwo
    Dzięki typowaniu statycznemu i automatycznemu zarządzaniu pamięcią, Swift eliminuje wiele typowych błędów programistycznych, takich jak dostęp do niezainicjowanych zmiennych czy wycieki pamięci.
  • Wydajność
    Kompilator LLVM generuje wysoce zoptymalizowany kod, co sprawia, że aplikacje napisane w Swifcie działają szybko i efektywnie.
  • Łatwość nauki
    Składnia Swifta jest przejrzysta i intuicyjna, co czyni go idealnym językiem dla początkujących programistów, a jednocześnie oferuje zaawansowane funkcje dla profesjonalistów.
  • Interoperacyjność
    Swift może być używany razem z Objective-C w jednym projekcie, co ułatwia migrację starszych aplikacji na nową platformę.

Składnia Swifta

Swift został zaprojektowany tak, aby był czytelny i przyjazny w użyciu. Jego składnia jest inspirowana nowoczesnymi językami, takimi jak Python, co sprawia, że programowanie staje się mniej uciążliwe, a kod bardziej zrozumiały.

Deklaracja zmiennych i stałych
W Swifcie można deklarować zmienne za pomocą słowa kluczowego var, a stałe przy użyciu let. Stałe są niezmienne, co zwiększa bezpieczeństwo i przewidywalność kodu.

Typowanie
Swift jest językiem statycznie typowanym, co oznacza, że typy zmiennych muszą być znane na etapie kompilacji. Jednak dzięki funkcji type inference (wnioskowanie typów), programista nie zawsze musi jawnie określać typ zmiennej – kompilator może go wywnioskować na podstawie wartości przypisanej do zmiennej.

Funkcje
Swift pozwala na tworzenie funkcji o czytelnej i nowoczesnej składni. Obsługuje również funkcje z domyślnymi wartościami parametrów oraz funkcje generyczne, które zwiększają elastyczność kodu.

Struktury i klasy
Swift wspiera zarówno struktury, jak i klasy, oferując wszechstronność w programowaniu obiektowym. Struktury są lekkimi obiektami, które są przekazywane przez wartość, podczas gdy klasy są przekazywane przez referencję.

Opcjonalne typy
Swift wprowadza koncepcję optional, która pozwala na obsługę wartości, które mogą być puste. To rozwiązanie eliminuje wiele problemów związanych z błędami null-pointer w innych językach.

Kolekcje danych
Swift oferuje zaawansowane struktury danych, takie jak tablice, słowniki i zestawy, które są łatwe w użyciu, a jednocześnie potężne pod względem funkcjonalności.

Bezpieczeństwo w czasie wykonywania
Swift aktywnie zapobiega błędom, takim jak indeksowanie poza granicami tablicy czy używanie niezainicjowanych zmiennych, co znacząco poprawia stabilność aplikacji.

Swift

Tworzenie aplikacji internetowych z technologią server-side Swift

Swift zyskał zdolność pracy po stronie serwera, co czyni go atrakcyjnym wyborem do budowy aplikacji internetowych. Dzięki bibliotekom, takim jak Vapor, Kitura czy Perfect, Swift umożliwia tworzenie aplikacji server-side, które mogą obsługiwać dynamiczne strony internetowe, API czy systemy e-commerce.

Zalety użycia server-side Swift:

  • Wydajność: Swift jest szybki i wydajny, co przekłada się na krótszy czas odpowiedzi serwera.
  • Bezpieczeństwo: Dzięki statycznemu typowaniu i zarządzaniu pamięcią, Swift eliminuje wiele błędów, które mogłyby wpłynąć na bezpieczeństwo aplikacji.
  • Zunifikowany stos technologiczny: Dzięki Swifcie programiści mogą tworzyć zarówno backend, jak i aplikacje natywne w jednym języku, co upraszcza proces rozwoju i utrzymania projektu.

Przykładowe zastosowania server-side Swift w e-commerce:

  • Tworzenie systemów zarządzania produktami i użytkownikami,
  • Implementacja dynamicznych katalogów produktów,
  • Obsługa płatności online i integracji z systemami płatniczymi.

Rozwój aplikacji natywnych dla systemów iOS i iPadOS

Swift to domyślny język dla tworzenia aplikacji natywnych na platformy iOS oraz iPadOS. W kontekście stron i sklepów internetowych, odgrywa kluczową rolę w tworzeniu aplikacji mobilnych powiązanych z e-commerce.

Jak Swift wspiera sklepy internetowe:

  • Aplikacje zakupowe: Swift pozwala tworzyć wydajne i intuicyjne aplikacje mobilne, które umożliwiają użytkownikom przeglądanie produktów, składanie zamówień i zarządzanie kontami.
  • Integracja z systemami online: Aplikacje napisane w Swifcie mogą być połączone z backendem sklepu internetowego lub API, co umożliwia synchronizację danych w czasie rzeczywistym.
  • Funkcje offline: Dzięki Swifcie można tworzyć aplikacje, które działają offline, co jest istotne dla użytkowników z ograniczonym dostępem do internetu.

Tworzenie rozwiązań PWA (Progressive Web Apps)

Choć Swift nie jest pierwszym wyborem w tworzeniu stron internetowych, jego potencjał można wykorzystać w budowie rozwiązań PWA. Swift, w połączeniu z narzędziami takimi jak SwiftWasm (WebAssembly), umożliwia tworzenie aplikacji webowych, które działają jak natywne aplikacje mobilne.

Zalety PWA w e-commerce:

  • Lepsze doświadczenie użytkownika: PWA zapewniają szybkie ładowanie i płynne działanie, podobne do aplikacji natywnych.
  • Oszczędność zasobów: Brak konieczności instalowania aplikacji oznacza mniejsze obciążenie urządzeń użytkowników.
  • Dostępność na różnych platformach: Rozwiązania PWA mogą działać zarówno na desktopach, jak i urządzeniach mobilnych.

Obsługa API i integracji w projektach e-commerce

Swift jest doskonałym narzędziem do tworzenia i obsługi API, które łączą różne elementy ekosystemu sklepu internetowego. Może być wykorzystywany zarówno w backendzie, jak i w aplikacjach mobilnych, aby zapewnić sprawną wymianę danych między różnymi komponentami.

Przykłady zastosowania API w e-commerce:

  • Synchronizacja danych między frontendem (stroną internetową) a backendem,
  • Integracja z systemami zewnętrznymi, takimi jak systemy płatności (np. PayPal, Stripe) czy usługi logistyczne,
  • Tworzenie modułów do personalizacji oferty na podstawie zachowań użytkowników.

Automatyzacja procesów i analityka

Swift może być również wykorzystywany do automatyzacji procesów w sklepach internetowych oraz analizy danych. Dzięki wsparciu dla zaawansowanych bibliotek i narzędzi, Swift umożliwia:

  • Automatyzację procesów logistycznych: Śledzenie zamówień, generowanie faktur czy zarządzanie stanami magazynowymi.
  • Zbieranie danych o użytkownikach: Analiza zachowań klientów i personalizacja treści na stronach i w aplikacjach.
  • Optymalizację działania sklepu: Wykorzystanie danych do poprawy szybkości działania strony, zarządzania zasobami serwera czy optymalizacji kosztów.

Zwiększenie konkurencyjności sklepu internetowego z pomocą Swift

Dzięki wykorzystaniu Swifta w projektach internetowych, sklepy mogą oferować bardziej zaawansowane funkcje, lepszą wydajność oraz wyższą jakość obsługi użytkownika. Korzystając z aplikacji mobilnych napisanych w Swifcie, klienci mogą cieszyć się płynnym i przyjemnym doświadczeniem zakupowym, co zwiększa ich lojalność i skłonność do powrotu.

Swift, choć pierwotnie stworzony z myślą o natywnych aplikacjach Apple, oferuje szerokie możliwości w kontekście tworzenia stron i sklepów internetowych. Jego szybkość, bezpieczeństwo i wsparcie dla nowoczesnych technologii czynią go cennym narzędziem zarówno dla deweloperów, jak i właścicieli biznesów e-commerce. Wykorzystując Swifta, możesz tworzyć wydajne aplikacje, zaawansowane rozwiązania backendowe oraz innowacyjne funkcje, które przyciągną uwagę użytkowników i zwiększą konkurencyjność Twojego sklepu.

Skorzystaj z usług SEOSEM24

Tworzenie profesjonalnych stron internetowych wymaga nie tylko wiedzy technicznej, ale także doświadczenia i znajomości najnowszych trendów. SEOSEM24 to zespół ekspertów, którzy specjalizują się w projektowaniu stron i sklepów internetowych z wykorzystaniem nowoczesnych technologii.

Nie czekaj, jeśli chcesz wyróżnić swoją firmę w internecie i przyciągnąć nowych klientów. Skontaktuj się z nami w SEOSEM24 i pozwól nam stworzyć nowoczesną, funkcjonalną i estetyczną stronę lub sklep internetowy, który pomoże Ci osiągnąć sukces online!

W skrócie

Aplikacja ma sens, gdy klienci wracają regularnie

  • Częste zamówienia, program lojalnościowy, rozbudowane konto klienta.
  • Funkcje urządzenia: aparat, NFC, widżety, Apple Pay, działanie w tle.
  • Budżet na utrzymanie i coroczne dostosowanie do nowych wersji iOS.
  • Przy jednorazowych zakupach lepiej zainwestować w szybką stronę.
Skonsultuj pomysł na aplikację
Decyzja przed projektem

Czy Twoja firma potrzebuje aplikacji iOS? Pytania, które zadajemy na początku

Wiele rozmów o aplikacji zaczyna się od zdania „konkurencja już ma”. To słaby powód do inwestycji, która nie kończy się w dniu publikacji, bo aplikację trzeba potem rozwijać, aktualizować i promować. Aplikacja ma największy sens tam, gdzie klienci wracają często: zamawiają regularnie, korzystają z programu lojalnościowego, sprawdzają status usługi albo potrzebują funkcji, których przeglądarka nie zapewni. W sklepie, w którym typowy klient kupuje raz w roku, szybka strona mobilna da zwykle więcej niż aplikacja, którą zainstaluje niewielka część osób.

Instalacja jest barierą. Użytkownik musi znaleźć aplikację w App Store, pobrać ją, zalogować się i zgodzić na powiadomienia. Każdy z tych kroków odsiewa część chętnych. Dlatego zanim zaczniemy projektować ekrany, sprawdzamy w analityce obecnej strony, jaka część klientów korzysta z iPhone’ów, jak często wracają i które funkcje konta są używane najczęściej. Te dane mówią więcej niż intuicja.

Pięć pytań przed decyzją

  • Jak często klient wraca? Aplikacja buduje nawyk przy zakupach powtarzalnych, takich jak żywność, kosmetyki, części eksploatacyjne czy usługi abonamentowe. Przy zakupach okazjonalnych trudno ją uzasadnić.
  • Czy potrzebujesz funkcji urządzenia? Skanowanie kodów aparatem, NFC, widżety na ekranie głównym, logowanie Face ID czy praca w tle to obszary, w których aplikacja natywna wyraźnie wygrywa ze stroną.
  • Czy powiadomienia mają dla klienta wartość? Informacja o wysyłce, przypomnienie o wizycie czy powrót produktu do sprzedaży są przydatne. Codzienne promocje szybko kończą się wyłączeniem powiadomień lub odinstalowaniem aplikacji.
  • Kto będzie ją utrzymywał? Apple co roku wydaje nową wersję iOS, a aplikację trzeba z nią przetestować i dostosować. Do tego dochodzą aktualizacje bibliotek, zmiany wymagań App Store i rozwój funkcji.
  • Jakie urządzenia mają Twoi klienci? Jeśli ważny jest także Android, trzeba od razu zdecydować, czy powstaną dwie aplikacje natywne, czy jedna wieloplatformowa.

Kiedy natywny Swift ma przewagę

Aplikacja napisana w Swift i SwiftUI działa najpłynniej, wygląda i zachowuje się tak, jak użytkownik iPhone’a oczekuje, i ma dostęp do nowych funkcji systemu od pierwszego dnia, bez czekania na aktualizację frameworków firm trzecich. Natywne kontrolki od razu współpracują z VoiceOverem i powiększaniem tekstu, co ułatwia spełnienie wymagań dostępności. Ceną jest osobna aplikacja na Androida, czyli dwa zestawy kodu, testów i publikacji.

Kiedy wystarczy dobra strona

Szybka, responsywna strona z wygodnym koszykiem, zapamiętanymi danymi i płatnością Apple Pay w przeglądarce Safari zaspokaja potrzeby większości klientów mobilnych. Nie wymaga instalacji, jest widoczna w Google i działa od razu po kliknięciu reklamy. Często proponujemy kolejność: najpierw dopracowana strona mobilna, potem aplikacja dla najbardziej lojalnych klientów, kiedy dane potwierdzą, że taka grupa istnieje.

Zacznij od danych: udział iPhone’ów w ruchu, odsetek powracających klientów i liczba zamówień na klienta to trzy liczby, które najlepiej odpowiadają na pytanie, czy aplikacja się opłaci. Jeśli Twoja analityka ich nie pokazuje, warto najpierw ją uporządkować.
Porównanie

Swift, aplikacja wieloplatformowa, PWA czy dobra strona: cztery drogi do klienta z iPhone’em

Żadna z tych dróg nie jest najlepsza zawsze. Różnią się kosztem, czasem wdrożenia, dostępem do funkcji urządzenia i tym, jak łatwo klient do nich trafi. Poniżej zestawienie, które omawiamy z klientami przed wyborem.

Natywna aplikacja w Swift

SwiftUI i UIKit, osobna aplikacja na Androida

  • Najlepsza płynność i zgodność z wyglądem iOS
  • Nowe funkcje systemu dostępne od razu
  • Dostępność wspierana przez natywne kontrolki
  • Osobny kod i osobny zespół dla Androida
  • Najwyższy łączny koszt przy dwóch platformach
Dla aplikacji, które są głównym kanałem kontaktu z klientem lub mocno korzystają z możliwości urządzenia.

Aplikacja wieloplatformowa

Wspólny kod dla iOS i Androida, np. Flutter, React Native, Kotlin Multiplatform

  • Wspólna logika, a często także wspólny interfejs
  • Niższy koszt, gdy ważne są obie platformy
  • Elementy specyficzne dla iOS można dopisać w Swift
  • Nowości systemowe dostępne z opóźnieniem
  • Dodatkowa warstwa zależności do aktualizowania
Dla aplikacji o typowych ekranach: katalog, koszyk, konto, zamówienia.

Progresywna aplikacja webowa

Strona, którą można dodać do ekranu głównego

  • Bez publikacji i recenzji w App Store
  • Jeden kod dla wszystkich urządzeń
  • Powiadomienia web push na iPhonie po dodaniu do ekranu głównego
  • Ograniczony dostęp do funkcji urządzenia
  • Niewielu użytkowników wie, jak dodać stronę do ekranu głównego
Dla serwisów, które chcą zbliżyć się do wygody aplikacji bez jej kosztów.

Szybka strona responsywna

Bez aplikacji, z naciskiem na urządzenia mobilne

  • Najniższy próg wejścia: wystarczy link
  • Widoczność w Google i ruch z kampanii reklamowych
  • Apple Pay dostępne także w Safari
  • Brak obecności na ekranie głównym telefonu
  • Mniej narzędzi do budowania nawyku zakupów
Dla większości firm pierwszy krok, zanim pojawi się aplikacja. Zobacz, jak budujemy strony internetowe.
Funkcje iOS

Sześć możliwości iPhone’a, które robią różnicę w aplikacji zakupowej i usługowej

To właśnie te elementy najczęściej uzasadniają budowę aplikacji natywnej zamiast poprzestania na stronie. Każdy z nich wymaga przygotowania zarówno w aplikacji, jak i po stronie sklepu lub systemu firmy.

01

Apple Pay i szybki zakup

Klient płaci jednym potwierdzeniem, bez wpisywania danych karty i adresu. Przy sprzedaży produktów fizycznych i usług realizowanych poza aplikacją płatność idzie przez bramkę płatniczą, a nie przez system zakupów w aplikacji przeznaczony dla treści cyfrowych.

  • Płatność bez wypełniania formularzy
  • Bramka płatnicza obsługująca Apple Pay
  • Te same zasady zwrotów co w sklepie
02

Powiadomienia push

Największą wartość mają powiadomienia transakcyjne: potwierdzenie zamówienia, nadanie przesyłki, przypomnienie o wizycie. Komunikaty marketingowe wysyłamy oszczędnie i z podziałem na grupy, bo nadmiar kończy się wyłączeniem powiadomień.

  • Status zamówienia i wysyłki
  • Przypomnienia o rezerwacjach
  • Kategorie powiadomień do wyboru przez użytkownika
03

Linki uniwersalne

Ten sam adres produktu otwiera aplikację, jeśli jest zainstalowana, a w przeciwnym razie stronę. Działa to dzięki plikowi powiązania umieszczonemu na domenie i konfiguracji po stronie aplikacji, więc wymaga współpracy zespołu strony i aplikacji.

  • Jeden adres dla strony i aplikacji
  • Plik powiązania w katalogu .well-known
  • Stałe adresy produktów i kategorii
04

Widżety i aktywności na żywo

Widżet na ekranie głównym może pokazywać punkty w programie lojalnościowym albo najbliższą wizytę, a aktywność na żywo na ekranie blokady – postęp dostawy. Klient widzi ważne informacje bez otwierania aplikacji, a marka jest obecna na co dzień.

  • Punkty lojalnościowe i kupony
  • Postęp dostawy na ekranie blokady
  • Najbliższe wizyty i terminy
05

App Clips

Mały fragment aplikacji uruchamiany z linku, kodu QR lub naklejki NFC bez instalowania całości. Sprawdza się przy jednorazowych czynnościach w punkcie stacjonarnym, takich jak opłacenie zamówienia przy odbiorze czy wypożyczenie sprzętu, i może zachęcić do pobrania pełnej aplikacji.

  • Uruchomienie z kodu QR lub NFC
  • Jedna czynność bez pełnej instalacji
  • Naturalna droga do pobrania aplikacji
06

Logowanie i bezpieczeństwo

Face ID i Touch ID pozwalają zalogować się bez wpisywania hasła, a klucze dostępu zastępują hasła całkowicie. Dane logowania przechowujemy w systemowym pęku kluczy, a tokeny mają ograniczoną ważność i możliwość unieważnienia z poziomu sklepu.

  • Face ID, Touch ID i klucze dostępu
  • Bezpieczne przechowywanie danych logowania
  • Wspólne konto klienta na stronie i w aplikacji

Gdzie trafia praca w projekcie aplikacji

indeks, 100 = największy obszar

Wykres poglądowy: względny podział pracy w pierwszym roku typowego projektu aplikacji zakupowej. Proporcje zależą od zakresu funkcji i tego, czy sklep ma już gotowe API.

Strona i aplikacja

Strona i aplikacja jako jeden system: linki, promocja, SEO i ASO

Najczęstszy problem, jaki widzimy w firmach mających już aplikację, to dwa kanały rozwijane osobno. Ceny lub nazwy produktów różnią się między stroną a aplikacją, promocja działa tylko w jednym miejscu, a link z newslettera otwiera stronę, choć klient ma zainstalowaną aplikację i jest w niej zalogowany. Dlatego projektujemy oba kanały jako jeden system: ze wspólnym API, wspólnymi kontami klientów i spójnymi adresami treści.

Linki uniwersalne i przekazywanie kontekstu

Żeby link do produktu otwierał aplikację, domena sklepu musi udostępniać przez HTTPS plik apple-app-site-association w katalogu .well-known, a aplikacja – deklarować powiązaną domenę. Adresy produktów i kategorii powinny być stałe i takie same w obu kanałach. Gdy aplikacji nie ma na telefonie, ten sam link otwiera stronę, dlatego strona musi pokazywać pełną treść, a nie zasłonę z namową do pobrania aplikacji.

Promocja aplikacji na stronie

W Safari na iPhonie można wyświetlić systemowy baner aplikacji, dodając do strony jeden znacznik meta. Baner jest dyskretny i od razu proponuje otwarcie lub pobranie aplikacji. Unikamy natomiast pełnoekranowych okienek zasłaniających treść na urządzeniach mobilnych, bo irytują użytkowników, a Google zwraca uwagę na natrętne elementy utrudniające dostęp do treści. Osobna podstrona aplikacji, przygotowana jak dobry landing page, zbiera ruch z wyszukiwarki na frazy z nazwą marki i słowem „aplikacja”.

Wspólne treści i promocje

Banery, kody rabatowe, opisy produktów i artykuły poradnikowe powinny pochodzić z jednego systemu, z którego korzysta zarówno strona, jak i aplikacja. Dzięki temu promocja uruchomiona przez dział marketingu pojawia się w obu kanałach jednocześnie, a zmiana treści nie wymaga wydawania nowej wersji aplikacji i czekania na recenzję. Ustalamy też, które akcje mają być dostępne tylko w aplikacji, na przykład dodatkowy rabat za pierwsze zamówienie, i jak komunikować je na stronie.

ASO, czyli widoczność w App Store

App Store ma własną wyszukiwarkę, a optymalizację pod nią nazywa się ASO. Liczy się nazwa aplikacji i podtytuł, które mieszczą po 30 znaków, ukryte pole słów kluczowych do 100 znaków, a także zrzuty ekranu, film podglądowy, oceny i opinie. Opis i zrzuty przygotowujemy z tą samą starannością co treści strony, bo to one decydują, czy osoba, która trafiła na kartę aplikacji, ją pobierze.

Wspólna analityka

Zdarzenia w aplikacji i na stronie nazywamy według jednego schematu, żeby dało się porównać ścieżki zakupowe w obu kanałach. Google Analytics 4 pozwala zbierać dane ze strony i aplikacji w jednej usłudze. Trzeba przy tym pamiętać, że śledzenie użytkownika między aplikacjami i stronami innych firm wymaga na iOS jego zgody, co ogranicza precyzję pomiaru kampanii reklamowych.

Strona pozostaje głównymi drzwiami: nawet najlepsza aplikacja nie zastąpi strony w wynikach wyszukiwania i kampaniach. Większość nowych klientów pozna Twoją markę w przeglądarce, a aplikację zainstaluje dopiero wtedy, gdy będzie miała powód wracać.
Proces

Od pomysłu do App Store: sześć etapów projektu aplikacji iOS

Projekt aplikacji nie kończy się na publikacji, a jego powodzenie w dużej mierze zależy od pracy wykonanej po stronie sklepu lub systemu firmy. Dlatego w naszym procesie równolegle powstaje aplikacja i to, z czym się łączy.

1

Cele i zakres pierwszej wersji

Ustalamy, po co powstaje aplikacja i po czym poznamy, że działa: na przykład po liczbie powtarzanych zamówień czy aktywnych użytkowników. Spisujemy funkcje i dzielimy je na pierwszą wersję oraz kolejne etapy. Sprawdzamy, jakie dane i operacje udostępnia sklep, bo od tego zależy zakres prac po stronie serwera.

Zakres pierwszej wersjiMierniki sukcesu
2

Projekt interfejsu zgodny z wytycznymi Apple

Projektujemy ekrany zgodnie z Human Interface Guidelines, czyli wytycznymi Apple dotyczącymi nawigacji, gestów i zachowania elementów. Od początku uwzględniamy powiększanie tekstu, tryb ciemny i obsługę VoiceOvera. Klikalny prototyp pokazujemy kilku osobom z grupy docelowej, zanim powstanie kod.

Klikalny prototypTesty z użytkownikami
3

API i integracje

Przygotowujemy lub rozbudowujemy API sklepu, na przykład na bazie interfejsów REST dostępnych w WooCommerce czy PrestaShop, oraz logowanie wspólne dla strony i aplikacji. Konfigurujemy wysyłkę powiadomień push i umieszczamy na domenie plik powiązania dla linków uniwersalnych.

Wspólne APILinki uniwersalne
4

Programowanie i testy w TestFlight

Aplikację budujemy w Swift i SwiftUI w krótkich iteracjach. Logikę pokrywamy testami automatycznymi, a kolejne wersje udostępniamy przez TestFlight, czyli usługę Apple do testów beta. Dzięki temu zespół klienta i wybrani klienci końcowi testują aplikację na własnych telefonach na długo przed publikacją.

Swift i SwiftUITesty beta w TestFlight
5

Publikacja w App Store

Przygotowujemy kartę aplikacji: nazwę, podtytuł, opis, zrzuty ekranu i informacje o przetwarzaniu danych, które Apple wymaga od każdego wydawcy. Aplikacja przechodzi recenzję Apple. Aktualizacje możemy udostępniać stopniowo, żeby ewentualny błąd dotknął tylko część użytkowników.

Karta w App StoreInformacje o prywatności
6

Utrzymanie i rozwój

Po publikacji monitorujemy awarie i opinie użytkowników. Każdego roku Apple udostępnia wersje testowe nowego iOS kilka miesięcy przed premierą, więc sprawdzamy na nich aplikację z wyprzedzeniem. Kolejne funkcje dodajemy według priorytetów ustalonych na podstawie danych z użycia.

Nowa wersja iOS co rokuRegularne aktualizacje
W skrócie

Swift na serwerze to dobre uzupełnienie, nie domyślny wybór

  • Główne frameworki to Vapor i Hummingbird, oparte na bibliotece SwiftNIO.
  • Największa zaleta: wspólne modele danych z aplikacją iOS.
  • Ekosystem integracji jest wyraźnie mniejszy niż w PHP czy JavaScripcie.
  • Wdrożenie odbywa się na Linuksie, najczęściej w kontenerach.
Zapytaj o architekturę
Swift na serwerze

Swift po stronie serwera: kiedy to dobry pomysł, a kiedy lepiej wybrać coś innego

Od kiedy Swift jest projektem open source, działa nie tylko na urządzeniach Apple, ale też na serwerach z Linuksem. Wokół zastosowań serwerowych powstała grupa robocza Swift Server Workgroup, która wskazuje i rozwija wspólne biblioteki, na przykład do logowania czy metryk. Najpopularniejszym frameworkiem webowym jest Vapor, lżejszą alternatywą Hummingbird, a oba korzystają z SwiftNIO, asynchronicznej biblioteki sieciowej rozwijanej przez Apple.

Kompendium powyżej wymienia zalety tego podejścia. W praktyce najważniejsza z nich to wspólny język z aplikacją iOS: modele danych i reguły walidacji można zdefiniować raz i używać po obu stronach, a zespół aplikacji mobilnej może samodzielnie rozwijać serwer. Do tego dochodzi nowoczesny model współbieżności z async i await oraz, od Swifta 6, kontrola wyścigów danych na etapie kompilacji, która eliminuje całą klasę trudnych do wykrycia błędów.

Kiedy Swift na serwerze ma sens

  • Zaplecze aplikacji mobilnej. Usługa obsługująca logowanie, powiadomienia, synchronizację danych czy przygotowanie odpowiedzi dla ekranów aplikacji, rozwijana przez ten sam zespół.
  • Warstwa pośrednia dla aplikacji. Cienkie API, które pobiera dane ze sklepu i systemów firmy, łączy je i podaje aplikacji w wygodnej postaci.
  • Narzędzia wewnętrzne. Mniejsze usługi i automatyzacje w firmach, których zespół programistów pracuje głównie w Swift.

Ograniczenia, o których mówimy otwarcie

Ekosystem serwerowego Swifta jest znacznie mniejszy niż PHP, JavaScriptu, Javy czy .NET. Polskie bramki płatnicze, firmy kurierskie i systemy księgowe rzadko udostępniają biblioteki dla Swifta, więc integracje trzeba pisać samodzielnie na podstawie dokumentacji ich API. Mniej jest też programistów z doświadczeniem serwerowym w tym języku, co ma znaczenie przy późniejszym rozwoju. Część wcześniej popularnych frameworków nie jest już rozwijana, dlatego przed wyborem biblioteki zawsze sprawdzamy aktywność projektu.

Wdrożenie i hosting

Aplikacje serwerowe w Swift kompiluje się do pliku wykonywalnego dla Linuksa i najczęściej uruchamia w kontenerach, za odwrotnym proxy obsługującym certyfikaty. Nie ma tu odpowiednika prostego hostingu współdzielonego, znanego ze stron w PHP, więc potrzebny jest serwer wirtualny lub usługa kontenerowa w chmurze. Budowanie, testy i wdrożenie automatyzujemy tak samo jak w innych technologiach, a logi i metryki zbieramy za pomocą bibliotek rekomendowanych przez Swift Server Workgroup.

Jak zwykle to układamy

W projektach e-commerce źródłem prawdy pozostaje sklep: produkty, ceny, stany i zamówienia. Aplikacja korzysta z jego API bezpośrednio albo przez cienką warstwę pośrednią, którą piszemy w Swift, PHP lub JavaScripcie, zależnie od tego, kto będzie ją utrzymywał. Wybór języka serwera wynika z kompetencji zespołu i dostępnych integracji, a nie z mody.

A co ze stronami w Swift? Kompilacja Swifta do WebAssembly istnieje i pozwala uruchamiać kod w przeglądarce, ale przy budowie zwykłych stron i sklepów to wciąż nisza. Warstwę przeglądarkową tworzymy w HTML, CSS i JavaScripcie, bo daje to najlepszą wydajność, dostępność i widoczność w wyszukiwarce.
Wymagania App Store

Zanim aplikacja trafi do App Store: pięć obszarów, które trzeba zaplanować

Apple recenzuje każdą aplikację i każdą jej aktualizację. Wiele odrzuceń wynika z rzeczy, które można było przewidzieć już na etapie projektu. Poniżej obszary, które omawiamy z klientem na samym początku.

Prywatność i zgody użytkownika

Na karcie każdej aplikacji w App Store widać informacje o tym, jakie dane zbiera, czy są powiązane z użytkownikiem i czy służą do śledzenia. Wydawca deklaruje je sam, więc musi wiedzieć, co robią nie tylko jego kod, ale też dodane biblioteki analityczne i reklamowe. Apple wymaga też podania adresu polityki prywatności i deklarowania powodów korzystania z niektórych interfejsów systemu.

Śledzenie użytkownika między aplikacjami i stronami innych firm wymaga na iOS jego wyraźnej zgody, wyrażonej w systemowym oknie. Do tego dochodzą obowiązki wynikające z RODO. Dlatego listę zbieranych danych i narzędzi ustalamy na etapie projektu, a nie w dniu publikacji.

  • Informacje o prywatności na karcie aplikacji
  • Kontrola bibliotek firm trzecich
  • Systemowa zgoda na śledzenie
  • Polityka prywatności zgodna z RODO
Co decyduje

Sześć czynników, które rozstrzygają, czy klienci zostaną z aplikacją

Pobranie aplikacji to dopiero początek. Poniżej nasza ocena tego, co w największym stopniu decyduje o tym, czy aplikacja zakupowa lub usługowa będzie używana miesiącami, a nie usunięta po tygodniu.

Realna wartość dla powracającego klientadecydujące

Szybsze zamówienie, historia zakupów, program lojalnościowy, status usługi. Aplikacja musi robić coś lepiej niż strona.

Szybkość i stabilnośćdecydujące

Awarie i długie ładowanie szybko kończą się odinstalowaniem i niskimi ocenami, które zniechęcają kolejnych użytkowników.

Spójność ze stroną i sklepembardzo ważne

Te same ceny, promocje, konto i historia zamówień w obu kanałach. Każda rozbieżność podważa zaufanie do marki.

Przemyślane powiadomieniaważne

Przydatne informacje we właściwym momencie utrzymują kontakt z klientem. Nadmiar reklam prowadzi do wyłączenia powiadomień.

Karta w App Store i ocenyważne

Zrzuty ekranu, opis i opinie decydują o liczbie pobrań. Warto prosić o ocenę w dobrym momencie, na przykład po udanym zamówieniu.

Efektowne animacjedrugorzędne

Dobrze dobrane przejścia dodają jakości, ale nie zastąpią użyteczności. Uwzględniamy też ustawienie ograniczenia ruchu.

W skrócie

Aplikacji nie da się odłożyć na półkę

  • Nowy iOS co roku, a wcześniej kilka miesięcy wersji testowych.
  • Apple okresowo podnosi wymagania dotyczące narzędzi i SDK.
  • Serwer musi obsługiwać także starsze wersje aplikacji.
  • Przy krytycznych zmianach potrzebny jest mechanizm wymuszenia aktualizacji.
Zapytaj o opiekę nad aplikacją
Utrzymanie

Życie aplikacji po premierze: aktualizacje iOS, zależności i rozwój

Poprawkę na stronie internetowej można wdrożyć w kilka minut i od razu widzą ją wszyscy odwiedzający. Z aplikacją jest inaczej: każda nowa wersja przechodzi recenzję Apple, a użytkownicy instalują aktualizacje we własnym tempie. W praktyce przez dłuższy czas w użyciu jest kilka wersji aplikacji jednocześnie. Serwer i API muszą więc pozostać zgodne wstecz, a dla zmian krytycznych, na przykład w płatnościach, warto mieć mechanizm, który poprosi użytkownika starej wersji o aktualizację.

Coroczny cykl Apple

Apple przedstawia nową wersję iOS na czerwcowej konferencji WWDC, udostępnia jej wersje testowe przez lato, a jesienią publikuje ją dla wszystkich. Każda taka zmiana może wpłynąć na wygląd i działanie aplikacji, dlatego testujemy ją na wersjach beta, zanim zrobią to klienci. Apple okresowo podnosi też minimalną wersję narzędzi i SDK wymaganą do publikowania aktualizacji, więc aplikacji nie da się utrzymywać latami na niezmienianym kodzie.

Minimalna wspierana wersja iOS

Im starsze wersje systemu wspiera aplikacja, tym więcej przypadków trzeba testować i tym mniej nowych możliwości SwiftUI można wykorzystać bez obejść. Minimalną wersję ustalamy na podstawie danych o urządzeniach klientów, a nie z przyzwyczajenia, i co jakiś czas ją podnosimy, informując o tym użytkowników z wyprzedzeniem.

Zależności i nowe wersje języka

Biblioteki dołączamy przez Swift Package Manager i ograniczamy ich liczbę do niezbędnego minimum, bo każda z nich to kod, który trzeba aktualizować i sprawdzać. Nowe wersje Swifta wprowadzamy stopniowo. Przykładem jest tryb języka Swift 6 ze ścisłą kontrolą współbieżności, na który można przechodzić moduł po module, zamiast przepisywać całą aplikację naraz.

Bezpieczeństwo danych w aplikacji

iOS domyślnie wymaga szyfrowanych połączeń HTTPS, a dane logowania i tokeny przechowujemy w systemowym pęku kluczy, a nie w zwykłych plikach aplikacji. W samej aplikacji nie umieszczamy kluczy dostępu do systemów firmy, bo plik aplikacji można przeanalizować. Wszystkie operacje wymagające uprawnień wykonuje serwer, który sprawdza tożsamość użytkownika przy każdym zapytaniu, a tokeny mają ograniczoną ważność.

Co monitorujemy po publikacji

  • Awarie i zawieszenia. Raporty z urządzeń użytkowników pokazują, które miejsca w kodzie powodują problemy i na jakich wersjach systemu.
  • Oceny i opinie. Odpowiadamy na nie razem z klientem i traktujemy je jako źródło pomysłów na kolejne wersje.
  • Wskaźniki biznesowe. Liczba zamówień z aplikacji, powracający użytkownicy i skuteczność powiadomień pokazują, czy aplikacja spełnia swoje zadanie.
  • Wydajność API. Czas odpowiedzi serwera przekłada się bezpośrednio na odczucia użytkownika aplikacji.
Planuj budżet na cały cykl życia: koszt aplikacji to nie tylko jej zbudowanie. W rocznym planie warto uwzględnić dostosowanie do nowego iOS, aktualizacje zależności, drobne poprawki oraz rozwój funkcji na podstawie danych i opinii użytkowników.
Częste błędy

Osiem błędów, które najczęściej psują projekty aplikacji iOS

Większość z nich nie ma nic wspólnego z jakością kodu w Swift. Wynikają z decyzji podjętych przed rozpoczęciem programowania albo z braku planu na czas po premierze.

01

Aplikacja jako opakowana strona

Aplikacja, która jedynie wyświetla stronę w ramce, nie daje klientowi żadnej nowej wartości. Wytyczne App Store przewidują odrzucanie aplikacji o minimalnej funkcjonalności, a użytkownicy szybko je usuwają.

02

Osobne konto i koszyk

Klient, który dodał produkty do koszyka na stronie, nie widzi ich w aplikacji, a historia zamówień jest podzielona między kanały. To najprostsza droga do utraty zaufania.

03

Prośba o powiadomienia na starcie

Systemowe pytanie o zgodę na powiadomienia pojawia się tylko raz. Zadane w pierwszej sekundzie, zanim użytkownik pozna aplikację, kończy się zwykle odmową. Lepiej zapytać w momencie, gdy powiadomienie ma oczywisty sens.

04

Logowanie wymagane od razu

Wytyczne App Store zalecają, żeby aplikacje bez istotnych funkcji związanych z kontem nie wymagały logowania. Klient powinien móc przeglądać katalog jako gość i zalogować się dopiero przy zakupie.

05

Brak obsługi słabego zasięgu

Aplikacje testowane wyłącznie na szybkim Wi-Fi w biurze potrafią zawieszać się w metrze czy na wsi. Przemyślane komunikaty, ponawianie zapytań i dane zapisane na urządzeniu robią tu dużą różnicę.

06

API bez wersjonowania

Zmiana w API wdrożona dla nowej wersji aplikacji psuje działanie starszych, wciąż zainstalowanych na telefonach klientów. Wersjonowanie i okres przejściowy trzeba zaplanować od pierwszego dnia.

07

Zaniedbana karta w App Store

Nieaktualne zrzuty ekranu, ogólnikowy opis i brak odpowiedzi na opinie obniżają liczbę pobrań niezależnie od jakości samej aplikacji. Karta wymaga takiej samej opieki jak strona.

08

Konto i certyfikaty u wykonawcy

Aplikacja opublikowana z konta deweloperskiego wykonawcy, bez przekazanych certyfikatów i kluczy, uzależnia firmę od jednego dostawcy. Przeniesienie aplikacji jest możliwe, ale wymaga dodatkowych formalności.

Pytania i odpowiedzi

Aplikacja w Swift: najczęstsze pytania przed rozpoczęciem projektu

Odpowiedzi na pytania o technologię, publikację, koszty utrzymania i współpracę ze sklepem internetowym.

Czy aplikacja na iPhone’a musi powstać w Swift?
Nie musi. Można ją napisać także w Objective-C albo w technologii wieloplatformowej. Dla nowych aplikacji natywnych Swift jest jednak naturalnym wyborem: to główny język rozwijany przez Apple, w którym powstają nowe frameworki systemowe, w tym SwiftUI. Starszy kod w Objective-C może działać w tym samym projekcie, co ułatwia stopniową migrację.
SwiftUI czy UIKit?
W nowych projektach domyślnie wybieramy SwiftUI, bo pozwala szybciej budować i zmieniać interfejs, a zmiany widać od razu w podglądzie. UIKit, starszy framework, wciąż przydaje się przy niektórych złożonych komponentach lub w rozwijanych od lat aplikacjach. Oba można łączyć w jednym projekcie, więc wybór nie jest ostateczny.
Czy do tworzenia aplikacji iOS potrzebny jest Mac?
Po stronie wykonawcy tak, bo środowisko Xcode, potrzebne do budowania i publikowania aplikacji, działa wyłącznie na macOS. Po stronie klienta Mac nie jest potrzebny. Wersje testowe instalujesz na swoim iPhonie przez aplikację TestFlight, a kartą w App Store można zarządzać przez przeglądarkę.
Czy aplikacja może korzystać z danych mojego sklepu internetowego?
Tak, to najczęstszy scenariusz. Popularne platformy, takie jak WooCommerce czy PrestaShop, mają interfejsy API, z których aplikacja może pobierać produkty i składać zamówienia. Zwykle trzeba je rozbudować o logowanie klienta, powiadomienia i optymalizację wydajności, bo aplikacja wysyła inne zapytania niż strona.
Ile trwa publikacja w App Store?
Sama recenzja często przebiega sprawnie, ale jej czas bywa różny, a odrzucenie oznacza poprawki i ponowne zgłoszenie. Dlatego nie planujemy premiery na ostatni dzień przed kampanią czy wydarzeniem. Aplikację można zatwierdzić wcześniej i opublikować ręcznie w wybranym momencie.
Czy można zrobić jedną aplikację na iOS i Androida?
Tak, za pomocą technologii wieloplatformowych. To dobry wybór przy typowych ekranach zakupowych i ograniczonym budżecie. Aplikacje natywne, osobno w Swift i Kotlinie, wygrywają tam, gdzie liczy się maksymalna płynność, głębokie wykorzystanie funkcji systemu lub szybkie wdrażanie nowości Apple i Google. Porównanie obu dróg znajdziesz w sekcji powyżej.
Czy aplikacja będzie działać bez internetu?
W zakresie, który zaplanujemy. Aplikacja może przechowywać na urządzeniu katalog, historię zamówień czy bilety, na przykład z użyciem SwiftData, i synchronizować zmiany po odzyskaniu połączenia. Operacje wymagające aktualnych danych, takie jak płatność czy sprawdzenie dostępności, nadal potrzebują sieci, więc projektujemy jasne komunikaty dla trybu offline.
Kto powinien być właścicielem konta deweloperskiego Apple?
Zalecamy, żeby aplikacja była publikowana z konta Twojej firmy w Apple Developer Program. Rejestracja organizacji wymaga numeru D-U-N-S, który można bezpłatnie uzyskać. My otrzymujemy dostęp z odpowiednią rolą w App Store Connect. Dzięki temu aplikacja, jej oceny i historia pozostają Twoją własnością niezależnie od wykonawcy.
Czy aplikacja pomoże w pozycjonowaniu strony?
Bezpośrednio nie, bo treści wewnątrz aplikacji nie trafiają do wyników Google tak jak podstrony. Pośrednio może wzmocnić markę i liczbę wyszukiwań jej nazwy. Dlatego dbamy, żeby wszystkie ważne treści były dostępne także na stronie, a sama aplikacja miała swoją podstronę, która może być widoczna w wynikach. Widoczność strony rozwijamy w ramach pozycjonowania.
Jak promować nową aplikację?
Najtańszym kanałem są obecni klienci: baner aplikacji w Safari, informacja w mailach transakcyjnych i newsletterze, kody QR w punktach stacjonarnych i na opakowaniach. Do tego dochodzą kampanie reklamowe kierujące do App Store, które prowadzimy w ramach działań reklamowych, oraz dopracowana karta aplikacji, która zamienia odwiedziny w pobrania.
Czy aplikacja zadziała też na iPadzie i Macu?
SwiftUI ułatwia dopasowanie układu do większego ekranu iPada, a aplikacje na iPhone’a i iPada mogą być udostępniane także na Macach z procesorami Apple. Czy warto to robić, zależy od tego, jak klienci korzystają z Twojej oferty. Wersja na iPada ma sens na przykład przy katalogach z dużą liczbą zdjęć albo aplikacjach dla handlowców.
Jak testujecie aplikację?
Logikę sprawdzamy testami automatycznymi, w tym w bibliotece Swift Testing, a kluczowe ścieżki, takie jak logowanie i zamówienie, testami interfejsu. Do tego dochodzą testy ręczne na fizycznych urządzeniach o różnych rozmiarach ekranu, z włączonymi ułatwieniami dostępu, oraz testy beta w TestFlight z udziałem zespołu klienta.
Czy przejmiecie aplikację po innej firmie?
Tak. Zaczynamy od przeglądu kodu, wersji Swifta i minimalnej wersji iOS, zależności oraz procesu budowania. Sprawdzamy też, czy firma ma dostęp do konta deweloperskiego, certyfikatów podpisu i kluczy do powiadomień, bo bez nich publikacja aktualizacji jest utrudniona. Na tej podstawie przygotowujemy plan dalszych prac.
Czy aplikacja musi być zgodna z RODO?
Tak, jeśli przetwarza dane osób z Unii Europejskiej, a aplikacja zakupowa robi to zawsze. Potrzebna jest polityka prywatności, podstawa prawna dla każdego celu przetwarzania, zgody tam, gdzie są wymagane, i ograniczenie zbieranych danych do niezbędnych. Wymagania App Store dotyczące prywatności są osobnym, dodatkowym obowiązkiem.
Czy mogę dodać powiadomienia push do istniejącej aplikacji?
Tak. Potrzebna jest konfiguracja w koncie deweloperskim, obsługa zgody użytkownika w aplikacji oraz serwer lub usługa, która wysyła powiadomienia przez APNs. Najwięcej pracy wymaga zwykle nie sama technika, tylko zaplanowanie, jakie zdarzenia w sklepie mają wywoływać powiadomienia i jak użytkownik może wybrać, które z nich chce otrzymywać.
Czy aplikacja może pokazywać treści zarządzane w CMS?
Tak. Banery promocyjne, artykuły poradnikowe czy komunikaty mogą być pobierane z tego samego systemu, w którym zespół redaguje stronę. Dzięki temu zmiana treści nie wymaga publikowania nowej wersji aplikacji, a marketing ma jedno miejsce pracy dla obu kanałów.
Od czego zależą koszty utrzymania aplikacji?
Głównie od liczby funkcji i integracji, minimalnej wspieranej wersji iOS, liczby zewnętrznych bibliotek oraz tempa rozwoju. Stałym elementem jest coroczne dostosowanie do nowego iOS i aktualizacja zależności. Do tego dochodzą koszty usług, takich jak serwer API czy wysyłka powiadomień, oraz roczna opłata za konto w Apple Developer Program.
Czy aplikację iOS można później uzupełnić o wersję na Androida?
Tak. Jeśli logika biznesowa jest po stronie serwera, a aplikacja korzysta z dobrze opisanego API, wersja na Androida w Kotlinie może powstać później, bez zmian w aplikacji iOS. Dlatego nawet przy starcie tylko na iPhone’ach projektujemy API tak, żeby było niezależne od platformy. Inną drogą jest współdzielenie części kodu w technologii wieloplatformowej.
Czy pracujecie z firmami spoza Krakowa?
Tak. Nasze biuro znajduje się w Krakowie, a z klientami z innych miast i krajów pracujemy zdalnie. Warsztaty prowadzimy na wideorozmowach, prototypy udostępniamy online, a kolejne wersje aplikacji trafiają na telefony zespołu klienta przez TestFlight.
Przed premierą

Lista kontrolna aplikacji iOS przed wysłaniem do App Store

Osiem punktów, które sprawdzamy przed pierwszą publikacją. Pomagają uniknąć odrzucenia przez recenzentów i problemów w pierwszych tygodniach po premierze.

  • Cel i mierniki. Wiadomo, po co powstaje aplikacja i po jakich liczbach ocenimy jej skuteczność, a analityka jest skonfigurowana od pierwszego dnia.
  • Wspólne API i konto klienta. Ceny, promocje, zamówienia i dane klienta pochodzą z tego samego źródła co na stronie.
  • Linki uniwersalne. Plik powiązania jest dostępny na domenie, a linki do produktów otwierają aplikację lub stronę z pełną treścią.
  • Prywatność. Informacje o zbieranych danych są zgodne z rzeczywistością, także dla bibliotek firm trzecich, a polityka prywatności jest aktualna.
  • Usuwanie konta. Użytkownik może rozpocząć usunięcie konta w aplikacji, a proces jest obsłużony po stronie sklepu.
  • Dostępność. Kluczowe ekrany działają z VoiceOverem i powiększonym tekstem, a elementy mają czytelne opisy.
  • Materiały do recenzji. Karta aplikacji jest kompletna, zrzuty ekranu aktualne, a recenzenci mają konto demonstracyjne z przykładowymi danymi.
  • Plan utrzymania. Wiadomo, kto monitoruje awarie, testuje kolejne wersje iOS i odpowiada na opinie użytkowników.
Słowniczek

Pojęcia ze świata Swifta i App Store, które warto znać

Krótkie wyjaśnienia terminów, które pojawiają się w rozmowach o aplikacjach na urządzenia Apple.

SwiftUI
Deklaratywny framework Apple do budowy interfejsów. Programista opisuje, jak ekran ma wyglądać dla danego stanu, a system sam dba o jego aktualizację.
UIKit
Starszy, imperatywny framework interfejsu dla iOS. Nadal szeroko używany i możliwy do łączenia ze SwiftUI w jednej aplikacji.
Xcode
Środowisko programistyczne Apple działające na macOS. Służy do pisania, testowania, podpisywania i wysyłania aplikacji do App Store.
TestFlight
Usługa Apple do dystrybucji wersji testowych. Pozwala zespołowi klienta i wybranym użytkownikom instalować aplikację przed publikacją.
App Store Connect
Panel do zarządzania aplikacją: kartą w sklepie, wersjami, testami, cenami, raportami i dostępami członków zespołu.
Swift Package Manager
Wbudowany w Swifta menedżer pakietów, który pobiera biblioteki i zarządza ich wersjami w projekcie.
Linki uniwersalne
Mechanizm, dzięki któremu zwykły adres strony otwiera aplikację, jeśli jest zainstalowana. Wymaga pliku powiązania na domenie.
App Clip
Lekki fragment aplikacji uruchamiany z linku, kodu QR lub NFC bez instalowania całości, przeznaczony do szybkiego wykonania jednej czynności.
APNs
Usługa Apple Push Notification service, przez którą serwer wysyła powiadomienia push na urządzenia z iOS.
ASO
Optymalizacja karty aplikacji pod wyszukiwarkę sklepu: nazwa, podtytuł, słowa kluczowe, zrzuty ekranu i oceny.
WWDC
Doroczna czerwcowa konferencja Apple dla programistów, na której przedstawiane są nowe wersje systemów, języka Swift i frameworków.
Human Interface Guidelines
Wytyczne Apple dotyczące projektowania interfejsów: nawigacji, typografii, gestów, dostępności i zachowania standardowych elementów.
Vapor
Najpopularniejszy framework do tworzenia aplikacji serwerowych i API w Swift, działający na Linuksie i macOS.
SwiftData
Framework Apple do przechowywania danych na urządzeniu, zintegrowany ze SwiftUI. Ułatwia budowę aplikacji działających także bez połączenia z internetem.
Porozmawiajmy o Twojej aplikacji

Zastanawiasz się, czy aplikacja iOS ma sens dla Twojego sklepu lub usługi?

Przeanalizujemy dane z Twojej strony, omówimy cele i podpowiemy, czy lepszym krokiem będzie aplikacja natywna, wieloplatformowa, czy dopracowanie strony mobilnej. Jeśli aplikacja ma sens, zaplanujemy jej pierwszą wersję razem z integracją ze sklepem.

4.8/5 - 1080

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Komentarze są moderowane.

Porozmawiajmy o Twoim projekcie

Bezpłatnie sprawdzimy Twoją stronę i zaproponujemy plan działań. Odpowiadamy tego samego dnia, dyżur eksperta 24/7.