W dzisiejszych czasach spędzamy coraz więcej czasu przed ekranami telefonów. Każdy z nas korzysta ze smartfonów które pomagają nam w codziennym funkcjonowaniu. Jednak czy zastanawialiście się kiedyś jak wygląda praca programistów aplikacji moblinych? Dziś postaram się przybliżyć jakie korzyści mają programiści aplikacji na urządzenia firmy Apple oraz w czym powstają takie aplikacje.


W czym będziemy pisać nasz kod?

Zanim jednak przejdziemy do tego co właściwie daje nam konto developerskie. Powinniśmy zadać sobie pytanie w jakim języku pisze się kod? Otóż językiem programowania używanym przez Developerów Apple jest Swift. Język ten został stowrzony przez Chrissa Lattnera, który w czasie pracy nad nim był inżynierem oprogramowania w Apple. Lattner zaczął rozwijać Swifta w 2010 r, we współpracy z kilkoma innymi programistami.Co ciekawe pierwszą publiczną aplikacją korzystającą ze Swifta była aplikacja WWDC wydana 2 czerwca 2014 r. Obecnie rolę Project Lidera projektu pełni Ted Kremenek.

Swift-logo
Swift logo

Swift pozwala nam na tworzenie domknięć (tzw. closures), iteratorów, interfejsów tj. protokołów, programowanie uogólnione, korzystanie z krotek (tzw. tuples) jako struktur danych oraz wyników działania funkcji, korzystanie z Typów Optional czyli ze zmiennych mogących przyjmować wartość nil, oraz umożliwia wywoływanie funkcji wyższego rzędu (takich jak map, reduce).

Konto Developerskie jak je zdobyć?

AppleDev-photo
Wygląd aplikacji napisanej w Xcode

Podstawowe konto Developerskie możemy otrzymać za darmo przy rejestracji. Dzięki niemu możemy już zacząć robić pierwsze projekty. Do napisania naszej pierwszej aplikacji potrzebny nam jednak będzie edytor w którym umieścimy i skompilujemy nasz kod. Najpopularniejszym jest Xcode, gdy już go mamy to możemy zacząć tworzyć pierwsze projekty. Jednak jeśli chcemy wypuścić naszą aplikację do App Store to musimy zapłacić za nasze konto w wersji premium, która pozwoli wrzucić naszą aplikację do sklepu. Konto to nie należy do najtańszych bo kosztuje 99$ za rok.

Posiadając już takie konto możemy korzystać z wielu różnych ciekawych narzędzi, które Apple udostępnia dla swoich develeperów. Najciekawsze z nich to:

  • Test Flight
  • Core ML
  • ARKit3

Test Flight

Jest to narzędzie które ułatwia zapraszanie użytkowników do testowania aplikacji zanim ta ukaże się w App Store. Pozwala nam również na zaproszenie do testowania nawet 10 000 osób udostępniając im link publiczny. Jako administratorzy możemy dodać do 25 współtwórców aplikacji takich jak np. Admin, menadżer aplikacji, developerzy itp.

TestFlight-photo

Core ML

Narzędzie to pozwala nam korzystanie z uczenia maszynowego w naszych projektach, umożliwia nam m.in. korzystanie z zaawansowanych sieci neuronowych z obsługą ponad 100 typów warstw. Aby zapewnić maksymalną wydajność w naszych projektach wykorzystuje CPU, GPU oraz silnik neuronowy. Jednak co najważniejsze nasze modele uczenia maszynowego można odpalać bezpośrednio na urządzeniu co znacznie przyspiesza działanie naszej aplikacji.

CoreML-Photo

ARKit3

Doskonałe narzędzie dla wszystkich programistów tworzących gry. Pozwala nam ono na tworzenie własnych aplikacji z wykorzystaniem AI(Artificial Intelligence) oraz ułatwia tworzenie interaktywnych wrażeń rozszerzonej rzeczywistości bez wcześniejszych wrażeń 3D. Mamy również możliwość integracji ruchu człowieka z własną aplikacją oraz śledzenia wielu twarzy naraz, jednoczesne użycie przedniej i tylnej kamery. Przykład zasosowania tej technologii oraz tego jak to właściwie wygląda w praktyce możecie zobaczyć na poniższym filmiku z demo wcześniejszej wersji czyli ARKit2.


Konferencja WWDC

WWDC (The Apple Worldwide Developers Conference) - to konferencja Apple która odbywa się cyklicznie co roku w San Jose, California. Konferencję ta można oglądać w internecie jednak jak się na nią dostać? Tak naprawdę są na to 2 sposoby :

  • Loteria
  • Stypendium
WWDC-photo
WWDC 2019

Loteria polega na tym że każdy kto posiada konto Developera wpisuje się do losowania i po kilku dniach dostaje e-mail jeśli został wytypowany do kupna biletu. Tak do kupna biletu ponieważ jest tak duży popyt wśród programistów na udział w tej konferencji że Apple musiało zacząć organizować tego typu losowania. Po otrzymaniu takiego e-maila mamy tydzień na zapłatę za bilet która wynosi 1600$.Poza doskonałym widowiskiem każdy z uczestników otrzymuje tzw. „Developer Kit” czyli zestaw gadżetów od Apple sygnowanych ich logiem oraz datą konferencji.


Stypendium wygląda już trochę inaczej, ponieważ żeby móc aplikować o stypenidum musimy:

  1. Mieć co najmniej 13 lat lub równoważny minimalny wiek w odpowiedniej jurysdykcji (na przykład 16 lat w Unii Europejskiej)
  2. Być bezpłatnie zarejestrowanym w Apple jako programista Apple lub być członkiem płatnego programu Apple Developer
  3. Być zapisanym do akredytowanej instytucji akademickiej lub oficjalnego odpowiednika szkoły domowej

Jeżeli spełniamy wszystkie wymienione wyżej wymagania jesteżmy już o krok bliżej do wyjazdu na konferencję. Jednak poza spełeniem wszystkich wymogów musimy jeszcze wygrać konkurs w którym naszym zadaniem jest wykazać się kreatywnością i stworzyć prostą aplikację w Swift Playgrounds 2.2 lub w Xcode 10.1. Nasz projekt zostanie oceniony przez powołany do tego oddział inżynieów Apple Jeżeli nam się uda otrzymamy min. bilet na WWDC, zakwaterowanie na konferencję i jeden rok członkostwa w programie Apple Developer Program bezpłatnie. Wiecej informacji na temat stypenium możecie znaleźć tutaj


Podsumownaie

Mimo tego że konto Develo perskie Apple kosztuje trochę pieniędzy i jest sporo droższe niż jego odpowiednik na androida to myślę że warto zacząć pisać aplikacje na IOS. Do samego pisania aplikacji nie jest nam potrzebne płatne konto Developerskie i możemy tworzyć niesamowite rze czy dzięki komponentom i narzędziom które Apple udostępnia dla swoich developerów. Po zakupie płatnego konta mamy możliwość zebrania opinii o naszym projekcie od dużej ilości beta testerów zanim trafi do oficjalnej dystrybucji.