Adresaci Szkolenia

Szkolenie adresowane jest do programistów, którzy chcą od podstaw poznać platformę iOS wraz z zagadnieniami bardziej zaawansowanymi (np. praca z dużą bazą danych).

Cel szkolenia

Celem szkolenia jest zapoznanie uczestników z platformą iOS oraz z wymaganiami stawianymi przez firmę Apple przy tworzeniu aplikacji na urządzenia iPhone, iPod Touch oraz iPad. W programie szkolenia skupiono się na solidnych podstawach teoretycznych (zrozumienie dokumentacji i technik, również z zarysem historycznym, m.in. metody manualnego zarządzania pamięcią) oraz ich praktycznymi zastosowaniami (na przykładzie popularnych i wyróżnionych aplikacji w AppStore).

Podczas 5-cio dniowego kursu uczestnicy poznają od podstaw środowisko dewelopera Apple (Xcode IDE) oraz popularne wzorce stosowane na platformie iOS. Otrzymają także szeroki przegląd dostępnych frameworków dzięki napisaniu kilku aplikacji, z których każda będzie korzystać z innych narzędzi oraz technik.

Mocne strony szkolenia

Program obejmuje zagadnienia tworzenia aplikacji mobilnych na platformę iOS. Przedstawione zostaną tematy nie tylko podstawowe, ale również te, które wykorzystuje się w wielu aplikacjach a ich samodzielna nauka może sprawdzić dużo kłopotu.

Program jest ciągle uaktualniany tak, aby zawsze uwzględnić najnowszą wersję iOS SDK.

Wymagania:

Od uczestników szkolenia wymagana jest znajomość języka Swift lub Objective-C

Sprzęt

W ramach szkolenia każdy z uczestników ma do dyspozycji własne w pełni wyposażone stanowisko pracy.

Uczestnikom korzystającym z własnego sprzętu przysługuje rabat w wysokości 500 zł.

Parametry szkolenia

5*8 godzin (5*7 godzin netto) wykładów oraz warsztatów (80% szkolenia stanowią warsztaty).

W trakcie warsztatów tworzone są od podstaw aplikacje wykorzytujące najczęsciej stosowane frameworki w popularnych aplikacjach iOS.

Program szkolenia

  1. Podstawy oraz wprowadzenie do iOS SDK
    1. Zarys historyczny NextStep oraz rozwój Apple iOS na przestrzeni ostatnich lat
    2. Historia urządzeń iPhone oraz iPad
    3. Wymagania programowe oraz sprzętowe
    4. Omówienie programów developerskich iOS:
      • konto bezpłatne
      • konto studenckie
      • konto indywidualne
      • konto firmowe
      • konto dla przedsiębiorstw (enterprise program)
    5. Narzędzia programisty
      • Xcode oraz Interface Builder,
      • iOS Simulator,
      • Instruments
    6. Zarys iOS Software Developer Kit oraz różnice między Cocoa oraz Cocoa Touch
    7. Poznanie Human Interface Guideline dla urządzeń mobilnych Apple
      • Dobre praktyki
      • Powody dla których aplikacja może zostać odrzucona przy walidacji
      • Case Studies na przykładzie polskich firm
    8. Uruchomienie oraz dystrybucja aplikacji na urządzeniu
      • Generowanie wymaganych certyfikatów oraz profili danych
      • Dystrybucja za pomocą TestFlightApp
      • Dystrybucja do AppStore (Distibution)
      • Dystrybucja Enterprise (Distibution)
  2. Widoki oraz nawigacja między widokami w iOS
    1. Budowa i struktura aplikacji
      • Omówienie NSBundle
      • Pliki .h, .m, .xib, .nib, .plist
      • Tworzenie obiektów w Interface Builder
      • Paradygmat Model-View-Controller w iOS SDK
      • Przedstawienie IBAction oraz IBOutlet
      • Klasa UIWindow
      • Klasa UIView
      • Klasa UIButton
      • Klasa UIResponder
    2. Budowa przeglądarki zdjęć pomijając Interface Builder
      • Wykorzystanie efektu parallax
      • Poznanie kontrolki UIScrollView
      • Wykorzystanie protokołu UIScrollViewDelegate
      • Automatyczny pokaz slajdów (przedstawienie NSTimer)
    3. Przechwytywanie gestów użytkownika (subklasy UIGestureRecognizer)
      • Podstawy CoreGraphics
      • Niezbędne struktury CoreGraphics
      • Efektywne wykorzystanie makr
    4. Budowa interfesu:
      • Budowa aplikacji za pomocą StoryBoard
      • Wykorzystanie AutoresizingMask w celu budowania prostych interfejstów
      • Budowa interfejsu za pomocą AutoLayout
      • Budowa interfejsu wyłącznie z kodu
      • Budowa interfejsu dla iPhone 4/4S oraz iPhone 5
      • Budowa interfejsu dla iPada oraz iPada mini
      • Tworzenie aplikacji uniwersalnych
      • Przygotowywanie aplikacji wielojęzycznych
      • Tłumaczenie tekstów oraz grafik
      • Tumaczenie za pomocą Base Internationalization
    5. Nawigacja między wieloma widokami
      • Przedstawienie UINavigationController
      • Przedstawienie UITabBarController
    6. Budowa przeglądarki internetowej
      • Wykorzystanie kontrolki UIWebView
      • Korzystanie z lokalnych stron internetowych
      • Wyświetlanie pomocy (tutorial) za pomocą HTML
      • Wykonywanie kodu JavaScript
      • Walidacja adresów internetowych (wyrażenia regularne dla iOS)
    7. Integracja projektu z CocoaPods
  3. Budowa list oraz lokalny system plików
    1. Zarządzenie plikami w systemie iOS
      • Trwałe przechowywanie danych
      • Przedstawienie singletonu NSFileManager
      • Przechowywanie ustawień oraz tworzenie ustawień globalnych
      • Serializacja obiektów oraz wady poszczególnych rozwiązań
      • Bezpieczeństwo przechowywanych danych
      • Obsługa danych w formatach JSON, XML oraz plist
    2. Dodanie UISearchBar oraz UISearchBarController
    3. Dostosowanie UITableView
      • Obsługa protokołów UITableViewDelegate oraz UITableViewDataSource
      • Rozróżnienie domyślnych styli
      • Tworzenie indeksów (ABC… jak w książce adresowej)
      • Sortowanie tablic
      • Tworzenie własnego stylu
      • Zaawansowane metody tworzenia komórek
      • Różnice między wersjami iOS
    4. Wykorzystanie UIMapView oraz CoreLocation
      • Pobieranie położenia użytkownika na podstawie GPS
      • Symulowanie położenia w iOS Simulator
      • Przedstawienie formatów gpx oraz GeoJSON
      • Obliczanie odległości między punktami
      • Wstawianie elementów na widok UIMapView
  4. Programowanie współbieżne
    1. Tworzenie oraz obsługa wątków w systemie iOS
    2. Bloki - Wprowadzenie do funkcji anonimowych
      • Sposoby na asynchroniczne wykonywanie kodu
      • Tworzenie bloków oraz alokacja pamięci
      • Zarządzanie pamięcią oraz sposoby na uniknięcie Strong Retain Cycle
    3. Wprowadzenie do Grand Central Dispatch (GCD)
      • Kolejki synchroniczne
      • Kolejki asynchroniczne
      • Definiowanie operacji do wykonania zadań
      • Analogie do manualnego zarządzania wątkami
    4. Omówienie klas NSOperationQueue oraz NSOperation
      • Poprawne wykorzystanie klasy NSBlockOperation
      • Subklasy NSOperation z możliwością przerwania wykonywania
      • Współbieżne wykonywanie operacji
    5. Pobieranie danych
      • Omówienie klas NSURL,NSURLRequest oraz NSURLConnection
      • Omówienie protokołu NSURLConnectionDelegate
      • Pobieranie danych za pomocą NSURLConnection oraz completionBlock
      • Wysyłanie żądań POST/PUT/DELETE
      • Podstawy AFNetworking
      • Debugowanie połączeń internetowych
  5. Przechowywanie informacji w bazie danych
    1. Wprowadzenie do CoreData
    2. Metody CRUD
    3. Tworzenie subklas dla obiektów
    4. Tworzenie związków między obiektami
    5. Rozbudowa obiektów za pomocą kategorii
    6. Importowanie oraz eksportowanie dużych ilości danych
    7. Generowanie przykładowych danych
    8. Wyszukiwanie danych
      • Wprowadzenie klasy NSPredicate
      • Łączenie zapytań oraz ich sortowanie
    9. Przedstawienie protokołu NSFetchedResultsController
    10. Optymalizacja dla bardzo dużych zestawów danych
    11. Wprowadzenie zmian do struktury bazy (edycja Schema)
    12. Przeprowadzenie migracji automatycznych
    13. Tworzenie wielu kontekstów za pomocą paradygmatu Parent-Child
    14. Omówienie popularnych rozwiązań CoreDataStack

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email