10 kwi 20227 min czytania
Dawid Karczewski
Senior full stack developer i CTO w Ideamotive.
Dobre praktyki znajdziesz w każdej branży. To sprawdzone reguły mówiące, jak robić konkretne rzeczy w możliwie najlepszy sposób. Profesjonaliści zbierają je latami i dzielą się nimi w swoim środowisku. W IT i wytwarzaniu oprogramowania nie jest inaczej.
Choć nauka wszystkiego na własnej skórze bywa satysfakcjonująca, jest jeszcze lepszy sposób: obserwuj i ucz się na błędach innych. Dlatego zebraliśmy te 10 praktyk, które pomogą Ci tworzyć jeszcze lepsze aplikacje na iOS.
Nie chcesz zostać w tyle, prawda? Kiedy wdrażasz dobre praktyki, Twoja krzywa uczenia się poprawia się. Po prostu uczysz się szybciej i przy okazji popełniasz mniej błędów. Oczywiście od czasu do czasu musimy się przewrócić, ale nie znaczy to, że musimy przeżyć wszystkie możliwe porażki. Wdrożenie dobrych praktyk pomoże Ci uniknąć większości z nich. Wreszcie dzięki dobrym praktykom możesz skupić się na rozwiązywaniu prawdziwych problemów zamiast wyważać otwarte drzwi.
Dobrze, czas podzielić się dobrymi praktykami i złotymi zasadami, które warto wdrożyć w tworzeniu aplikacji na iOS. Nie zawsze będzie łatwo, ale zdecydowanie warto.
Wielu programistów odczuwa nieodpartą chęć, żeby od razu zacząć kodować. To zrozumiałe podejście, ale nie najlepsze. Tworzenie aplikacji to złożony proces i rzadko da się pominąć któryś etap bez konsekwencji. Zanim zespół zacznie kodować, trzeba zdecydować o architekturze aplikacji i o tym, jakie wzorce projektowe wybrać. Zwykle w aplikacjach na iOS stosuje się wzorzec Model-View-Controller. W MVC dzielisz aplikację na komponenty UI, danych i oprogramowania. Dodatkowa korzyść to przygotowanie aplikacji na przyszłe zmiany i rozbudowę.
Możesz też zdecydować się na aplikację hybrydową na iOS i Androida. To decyzja strategiczna - i dla rozwoju produktu, i dla marketingu. Jest jeszcze jedno rozwiązanie: stworzenie natywnej aplikacji mobilnej w React Native.
Ten etap przygotowań wymaga głębokiego i szerokiego researchu. Z naszego doświadczenia wynika jednak, że jest wart swojej ceny. To trochę jak „mierz dwa razy, tnij raz”, tylko w wytwarzaniu oprogramowania.

Powinieneś mieć porządną dokumentację obejmującą wszystkie elementy systemu. Opis oczekiwanego rezultatu projektu pomoże trzymać się kursu. Dokumentacja kodu będzie później nieocenionym źródłem wiedzy o tym, jak i - co ważniejsze - dlaczego coś zrobiono w dany sposób. Logika biznesowa, zwłaszcza w większych systemach, jest trudna do ogarnięcia, a łatwo dostępna dokumentacja bardzo w tym pomaga.
Twoim programistom będzie łatwiej zrozumieć, o co w projekcie chodzi. Zwłaszcza jeśli dołączą do zespołu na późniejszym etapie. Albo jeśli po kilku latach ktoś będzie musiał wprowadzić zmiany. Pamiętaj, że udane projekty potrzebują nie tylko świetnej realizacji, ale też rzetelnej kontroli.
Właściwa dokumentacja będzie Ci też potrzebna do testów i przyszłego zapewnienia jakości. Nawet jeśli jesteś jednoosobową armią, część szczegółów może wyparować z pamięci. Co więcej, dobrze napisana dokumentacja zwiększa wiarygodność i pomoże aplikacji przejść weryfikację w App Store.
Dla wielu twórców aplikacji zaskoczeniem będzie to, że o marketingu trzeba pomyśleć, zanim siądzie się do kodu. Częścią marketingu aplikacji mobilnej jest jej dystrybucja. Jednym z najlepszych, jeśli nie najlepszym sposobem udostępnienia aplikacji iOS wszystkim użytkownikom jest umieszczenie jej w App Store. Duży plus jest taki, że przyjęcie aplikacji do App Store podnosi jej wiarygodność. Dlaczego? Bo opublikowanie tam aplikacji brzmi prosto, ale wcale takie nie jest. Zupełnie. To kolejna rzecz, o której trzeba myśleć na etapie planowania aplikacji, potem w trakcie prac i przy przygotowaniach do premiery. Jeśli to pominiesz, jest wysoce prawdopodobne, że spędzisz mnóstwo czasu nad czymś, co nie zostanie dopuszczone do dystrybucji w App Store. Wytyczne Apple obejmują takie tematy jak bezpieczeństwo, wydajność, biznes, design i kwestie prawne.
Jeśli nie chcesz, żeby ktoś włamał się do Twojej aplikacji i ją zepsuł, musisz myśleć o jej bezpieczeństwie na każdym etapie: od projektu architektury, przez kodowanie i testy, po wydanie.
Główny problem bezpieczeństwa polega na tym, że aplikacje mobilne mają dostęp do danych zapisanych na urządzeniach (smartfonach, tabletach). Twoja aplikacja nie powinna być furtką dla oszustów, którzy chcą ukraść dane albo przejąć kontrolę nad urządzeniem użytkownika. Kwestie bezpieczeństwa będą kluczowe, jeśli aplikacja obsługuje płatności online albo musi przechowywać i wykorzystywać dane osobowe. Lekceważenie bezpieczeństwa może skończyć się podatnością na oszustwa. Źle zaprojektowane i zakodowane aplikacje mobilne mogą też ułatwić kradzież tożsamości.
Żeby uniknąć tych zagrożeń, warto wdrożyć podejście oparte na ochronie. Podstawą jest skupienie się na jakości kodu. Przyjrzyj się uważniej cache aplikacji, procesowi logowania zdarzeń oraz autoryzacji & uwierzytelnianiu. Rozważ też wdrożenie dodatkowej warstwy szyfrowania.

To oczywiste, że jeśli tworzysz aplikację na iOS w 2022 roku, musisz zadbać, by działała płynnie na iOS 14 wydanym w grudniu 2020. Warto zauważyć, że iPhone'y od 6S do 12 Pro są zgodne z najnowszym wydaniem iOS.
Jeśli jednak chcesz, żeby Twoja aplikacja iOS była dostępna dla szerszego grona użytkowników, rozważ wsteczną kompatybilność. Oznacza ona, że aplikacja będzie działać także na starszych wersjach iOS oraz starszych iPhone'ach i iPadach.
W zależności od zaawansowania aplikacji i tego, jak bardzo korzysta z najnowszych funkcji iOS, osiągnięcie wstecznej kompatybilności może być trudne. Najnowsze zmiany i funkcje to między innymi:
To moment, w którym musisz zdecydować, czy i jak daleko wstecz chcesz sięgnąć. Ile czasu i pieniędzy jesteś gotów wydać i ilu użytkowników Ci to da?
Tworzenie aplikacji wymaga odpowiedniego środowiska. Na rynku jest ich wiele, ale większość programistów iOS zgadza się, że tym właściwym jest Xcode. To jedyne środowisko programistyczne dla iOS oficjalnie wspierane przez Apple, stąd jest głównym wyborem programistów. To pierwszy wybór, jeśli celujesz w natywną aplikację iOS. W dodatku jest darmowe i dostępne z całą dokumentacją, jakiej możesz potrzebować.
Wśród innych zalet Xcode oferuje intuicyjny interfejs, ułatwia testowanie i naprawianie błędów oraz dynamiczną nawigację. Co więcej, dość łatwo połączysz Xcode z GitHubem do kontroli wersji i pracy zespołowej.
Istnieją alternatywy, takie jak AppCode. Ta akurat jest najpopularniejsza (pomijając oczywiście Xcode), ale i tak potrzebuje Xcode pod spodem, więc nie ma większego sensu, chyba że naprawdę potrzebujesz jakichś niestandardowych funkcji.
Używasz już Xcode i GitHuba. Jest jeszcze jedna rzecz: CocoaPods. Ten menedżer zależności podniesie Twoją wydajność, trzymając wszystkie zależności zewnętrzne w porządku.
Ktoś zapyta: po co w ogóle używać zewnętrznych zależności? Oczywiście można wszystko zrobić samemu, ale nie powinno się. To po prostu nie ma sensu - jak wyważanie otwartych drzwi. Weźmy pole hasła w formularzu rejestracji. Możesz sam napisać wszystkie reguły i sprawdzić, czy hasła są poprawnie walidowane. Ale możesz też użyć poda GenericPasswordRow i mieć to zrobione razem z podpowiedziami i opcją podglądu hasła. Zajrzyj na stronę CocoaPods i poszukaj tego, czego potrzebujesz.
CocoaPods może nawet pomóc Ci pisać lepszy kod. (W pewnym sensie przynajmniej…) Na przykład niektórzy programiści trzymają konfiguracje jako stałe w kodzie. To nie tylko wbrew dobrym praktykom iOS, ale też źródło kłopotów w przyszłości. Żeby trzymać konfiguracje poza kodem, użyj CocoaPods i zrób to dobrze.
Pewnie już wiesz, czym jest Minimum Viable Product. Mimo to jego znaczenia nie da się przecenić. Skupienie się na podstawowych funkcjach, które będą rdzeniem aplikacji, jest korzystne na wiele sposobów.
Po pierwsze, na samym początku łatwiej pracuje się nad mniejszą liczbą wyzwań i zrobić aplikację, która jest znakomita w kilku rzeczach. To lepsze niż aplikacja przeciętna w wielu rzeczach. Po drugie, MVP dostarczysz szybciej i szybciej dostaniesz informację zwrotną. Dzięki temu możesz reagować i szybciej podnosić zadowolenie użytkowników, zostawiając konkurencję w tyle. Kolejne iteracje jeszcze to poprawią. Następny aspekt to koszt: MVP jest tańsze niż w pełni rozwinięta aplikacja. Możesz potraktować je jak eksperyment. Wynik podpowie Ci, czy inwestować dalej, czy się wycofać.
Apple od zawsze słynie ze świetnego, minimalistycznego designu. Ten aspekt wciąż jest ważny dla klientów kupujących iPhone'y, iPady czy Maki. Jeśli to dlatego ludzie chcą nowego iPhone'a, to będą tego szukać także w aplikacjach na iOS. Nie ma potrzeby robić ekstrawaganckiego interfejsu. Wręcz przeciwnie - Twoja aplikacja skorzysta na prostocie.
Na szczęście Apple opublikowało Human Interface Guidelines. To Twoje podstawowe źródło wiedzy o projektowaniu interfejsu aplikacji iOS. Wszystko od interakcji użytkownika, przez animacje, po brandingoraz paski i przyciski.
Te wytyczne przypominają, że dobry design nie skupia się wyłącznie na ładnym układzie.
Dobry design jest podporządkowany celowi. Odpowiada na naszą potrzebę jasności i zrozumiałości.

O dostępności zaczęliśmy mówić w kontekście osób z niepełnosprawnościami. I dobrze, ale dziś wiemy, że nasze spojrzenie było zawężone. Jak powiedziała Elise Roy w swoim wystąpieniu na TED: „kiedy projektujemy najpierw dla niepełnosprawności, często natrafiamy na rozwiązania lepsze niż te, które powstają, gdy projektujemy dla normy”. Zasada dostępności każe nam projektować lepsze aplikacje, bo myślimy o doświadczeniu różnych użytkowników.
Dostępność mobilna jest też opisana w wytycznych W3C Web Accessibility Initiative. Nawet Apple ujęło to bardzo wyraźnie w swoich Human Interface Guidelines, dzieląc dostępność na dwie główne idee: prostotę i postrzegalność. Prostota oznacza tu, że użytkownik zawsze może wchodzić w interakcję z aplikacją w ten sam, znajomy i spójny sposób. Nie chodzi tylko o spójny interfejs, ale też o rozbijanie złożonych procesów na prostsze zadania. Postrzegalność oznacza, że każdą treść można odebrać na wiele sposobów, więc da się ją przeczytać (zobaczyć), wysłuchać, a nawet dotknąć. Pomyśl o kontraście, dużych kontrolkach, alertach dźwiękowych czy nawet komunikacji głosowej.
Wszyscy możemy skorzystać na wdrażaniu dobrych praktyk w dowolnym biznesie. Tak jak istnieją dobre praktyki tworzenia aplikacji iOS, tak są złote zasady zarządzania projektami, testowania oprogramowania, produkcji samochodów czy architektury. Biorą się z doświadczenia mnóstwa ekspertów.
Liczba dobrych praktyk jest zapewne dziesiątki razy większa niż nasza lista najlepszych praktyk tworzenia aplikacji iOS. Liczba całkiem dobrych praktyk jest pewnie jeszcze większa. Większość z nich to w istocie praktyki każdej porządnie wykonanej pracy programistycznej. Te 10 wymienionych wyżej nada jednak Twojemu projektowi dobrą energię i kierunek. Cała reszta wyniknie z tych dziesięciu zasad w sposób naturalny.
Wierzymy, że warto czerpać z ogromnej wiedzy specjalistów, z którymi pracowaliśmy przez lata. Jeśli podzielasz nasze zaufanie do eksperckości, Ideamotive znajdzie dla Ciebie zespół: wysoko wyspecjalizowanych projektantów, programistów, testerów, kierowników projektów i innych specjalistów.
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 autoraPrzewodnik dla startupów i przedsiębiorców mobilnych
Czytaj terazPopularne 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 iOS.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.