Program rozwojowy


Poznaj pakiet rozwojowych systemów mobilnych, odpowiadających na aktualne oczekiwania biznesu, w trakcie blisko 200h nauki

Poznaj nas na webinarze

Zdobądź kwalifikacje niezbędne do pracy w komercyjnych projektach

Zdobądź kompetencje pożądane na rynku pracy, dostosowane do aktualnych potrzeb biznesu i oczekiwań pracodawców względem kandydatów

  • Nauczysz się wykorzystywać popularne narzędzia developerskie jak Android Studio, Gradle czy Xcode i Swift Package Manager
  • Zdobędziesz umiejętności niezbędne do budowania natywnych aplikacji mobilnych, także między-platformowe (Flutter, React Native)
  • Opanujesz testowanie na poziomie jednostkowym i integracyjnym oraz stosowanie podejścia Test Driven Development
  • Poznasz najważniejsze elementy API oraz nauczysz się jak integrować aplikacje mobilne z backendem
  • Będziesz tworzyć czysty kod i architekturę, świadomie stosować wzorce projektowe oraz refaktoryzacyjne
Przejrzyj WSZYSTKIE przewagi

Kurs poprowadzi Łukasz Andrzejewski

Doświadczony trener z ponad 13-letnią praktyką na sali szkoleniowej. Aktywnie działa jako konsultant i programista w zakresie szeroko pojętych technologii Java, rozwiązań frontendowych i mobilnych. Absolwent Wydziału Fizyki Technicznej Politechniki Poznańskiej, specjalizacja: Symulacje komputerowe.


Aktualnie Partner, Head of Technology w Sages. Dba o rozwój oferty, przygotowuje i prowadzi szkolenia, konsultuje i bierze udział w realizacji projektów IT.

Czy program Mobile Developer PRO jest dla Ciebie?

ZALEŻY NAM NA REALNYM EFEKCIE

TAK, jeśli...

  • Znasz dowolny język obiektowy w stopniu przynajmniej podstawowym tzn. opanowałeś jego składnię, znasz standardowe SDK, potrafisz samodzielnie pisać i debuggować kod
  • Masz opanowane najważniejsze zagadnienia z zakresu programowania obiektowego tzn. wiesz czym są klasy i obiekty, na czym polega kompozycja i dziedziczenie, do czego służą interfejsy oraz czym jest hermetyzacja
Zaaplikuj

NIE, jeśli...

  • Dopiero zaczynasz swoją przygodę z programowaniem
Nie masz pewności? Sprawdź się aplikując!

Co oferuje nasz program rozwojowy?

Ogrom wiedzy w maksymalnie krótkim czasie

200h nauki, w tym 112h na żywo online z najlepszymi mentorami

Dostęp do nagrań ze wszystkich zajęć

Zajęcia z praktykiem z 13 letnim doświadczeniem na sali szkoleniowej

Program

Wprowadzenie do języka Kotlin

  • Podstawy składni
  • Typy bazowe
  • Operatory
  • Instrukcje sterujące
  • Kolekcje
  • Praca z tekstem
  • Klasy, interfejsy, wyliczenia, rozszerzenia
  • Funkcje i domknięcia
  • Programowanie obiektowe
  • Obsługa wyjątków
  • Typy generyczne
  • Zarządzanie pamięcią
  • Istotne idiomy programistyczne
  • Interoperacyjność z Java
  • Podstawy użycia Android Studio
  • Tworzenie, konfigurowanie i budowanie projektu
  • Uruchamianie aplikacji na urządzeniu oraz emulatorze
  • Debugowanie kodu
  • Praca z dokumentacją
  • Zarządzanie zależnościami w oparciu o system Gradle

Praca z projektem Android

  • Struktura i najważniejsze elementy projektu
  • Zarządzanie zasobami
  • Komponenty aplikacji: Activities, Services, Content Providers, Buroadcast receivers, Intents
  • Wprowadzenie do Android Jetpack
  • Architektura MVVM w oparciu o Architecture Components

Podstawy tworzenia aplikacji

  • Wprowadzenie do Material Design
  • Aktywności i fragmenty - wykorzystanie, cykl życia, bindowanie kontrolek, obsługa zdarzeń
  • Zarządzanie rozkładem elementów (layouts managers)
  • Wykorzystanie dostępnych kontrolek
  • Elastyczne zarządzanie rozkładem z ConstraintLayout
  • Zaawansowane elementy widoku na przykładzie RecyclerView
  • Programowe budowanie widoków
  • Nawigacja między ekranami

Budowanie interfejsu użytkownika

Programowanie reaktywne

  • Wprowadzenie do RxJava/RxKotlin
  • Publikowanie i nasłuchiwanie zdarzeń
  • Operatory - transformacja, filtrowanie, kombinowanie, czas
  • Sterowanie kontekstem wykonania z użyciem Schedulers
  • Praca ze strumieniami

Utrwalanie i dostęp do danych

  • User preferences
  • Praca z plikami
  • SQLite i biblioteka Room

Komunikacja

  • Coroutines i praca z kodem asynchronicznym
  • Integracja z REST API oraz GraphQL
  • Wykorzystanie przykładowych bibliotek: Retrofit, OkHttp, Moshi, Picasso
  • Wykorzystanie klas i interfejsów
  • Specjalne typy klas (Data, Sealed, Nested, Enum, Inline)
  • Hermetyzacja i kontrola dostępu
  • Delegacja na poziomie klas (classes) i własności (properties)
  • Rozszerzenia (extensions)
  • Typy generyczne
  • Czym jest architektura i jakie ma znaczenie
  • Spójność, niskie sprzężenie, modułowość
  • Wstrzykiwanie zależności z użyciem Dagger / Hilt
  • Czysta architektura
  • Architektura w praktyce - implementacja wzorców Model-View-ViewModel, Model-View-Intent

Dystrybucja aplikacji

Architektura aplikacji Android

Testowanie

  • Dlaczego testowanie jest ważne?
  • Kod niskiej jakości a testowanie
  • Architektura aplikacji a testowanie
  • Piramida testów
  • Cechy dobrych testów
  • Metryki pokrycia testami
  • Przygotowanie i konfiguracja środowiska
  • Testy jednostkowe
  • Testy integracyjne
  • Testy na poziomie UI z użyciem Espress

Zaawansowane aspekty tworzenia interfejsu użytkownika

  • Budowanie niestandardowych kontrolek
  • Motywy aplikacji i zarządzanie stylami
  • Rysowanie z użyciem obiektu Canvas
  • Rola animacji w projektowaniu UI
  • Wykorzystanie animacji
  • Zarządzanie stanem oraz jego efektywne współdzielenie

Kotlin coroutines

  • Techniki programowania asynchronicznego
  • Podstawy pracy z coroutines
  • Zasięg i kontekst wykonania
  • Komponowanie zadań
  • Obsługa wyjątków
  • Współdzielenie stanu
  • Channels
  • Flows
  • Porównanie do RxJava

Wybrane elementy SDK

  • Lokalizacja GPS i geokodowanie z Google Play Services
  • Praca z mapami
  • Kamera i biblioteka zdjęć
  • Sensors API

Wprowadzenie do języka Swift

  • Podstawy składni
  • Typy bazowe
  • Operatory
  • Instrukcje sterujące
  • Kolekcje
  • Praca z tekstem
  • Struktury, klasy, protokoły, wyliczenia, rozszerzenia
  • Funkcje i domknięcia
  • Programowanie obiektowe
  • Obsługa wyjątków
  • Typy generyczne
  • Zarządzanie pamięcią

Praca z projektem Xcode

  • Podstawy użycia Xcode
  • Tworzenie, konfigurowanie i budowanie projektu
  • Uruchamianie aplikacji na urządzeniu oraz symulatorze
  • Debugowanie kodu
  • Praca z dokumentacją
  • Zarządzanie zależnościami w oparciu o CocoaPods i Swift Package Manager

UIKit - klasyczne budowanie interfejsu

  • View Controllers - wykorzystanie, cykl życia, obsługa zdarzeń
  • Interface builder / Storyboards
  • Wykorzystanie podstawowych kontrolek
  • Elastyczne zarządzanie rozkładem - Auto Layout, Trait Collections, Size Classes
  • Zaawansowane elementy widoku - TableView, CollectionView, ScrollView
  • Programowe budowanie widoków
  • Nawigacja między ekranami

SwiftUI - deklaratywne budowanie interfejsu

  • Typ View jako sposób na tworzenie reużywalnych elementów widoków
  • Kontrolki wbudowane
  • Zarządzanie rozkładem w oparciu o dostępne kontenery
  • Bindowanie, reagowanie na zdarzenia i obsługa gestów
  • Stylizacja z wykorzystaniem modyfikatorów
  • Warunkowe renderowanie interfejsu
  • Nawigacja między ekranami
  • Wprowadzenie do Combine framework
  • Publikowanie i nasłuchiwanie zdarzeń
  • Operatory - transformacja, filtrowanie, kombinowanie, czas
  • Sterowanie kontekstem wykonania z użyciem Schedulers
  • Praca ze strumieniami

Programowanie reaktywne

Komunikacja

  • Podstawy użycia URLSession
  • GDC i praca z kodem asynchronicznym
  • Integracja z REST API oraz GraphQL
  • Wykorzystanie przykładowych bibliotek: Alamofire, Moya, Siesta
  • User Defaults
  • Praca z plikami
  • SQLite
  • Wprowadzenie do Core Data

Utrwalanie i dostęp do danych

  • Budowanie i podpisywanie kodu
  • Publikacja z wykorzystaniem iTunes Connect
  • Udostępnianie wersji testowej
  • Przygotowanie do review

Dystrybucja aplikacji

Architektura aplikacji iOS

  • Czym jest czysty kod?
  • Code smells
  • Dług techniczny
  • Podstawowe zasady tworzenia jakościowego i testowalnego kodu (SOLID, GRASP, SRP …)

Testowanie

  • Przygotowanie i konfiguracja środowiska
  • Testy jednostkowe
  • Testy integracyjne
  • Testy na poziomie UI
  • Test Driven Development

Zaawansowane elementy SwiftUI i Combine

  • Zarządzanie stanem oraz jego efektywne współdzielenie
  • Tworzenie zaawansowanych i niestandardowych widoków
  • Zastosowanie matched geometry effect
  • Wykorzystanie animacji
  • Integracja z UIKit
  • SwiftUI na innych platformach
  • Debugowanie i obsługa błędów na poziomie Combine
  • Wykorzystanie / tworzenie reaktywnych rozszerzeń w kontekście istniejącego API

Core Data

  • Architektura i główne założenia
  • Konfiguracja Core Data Stack
  • Modelowanie encji* Utrwalanie i ładowanie danych
  • Wersjonowanie oraz migracja danych* Mierzenie i optymalizacja wydajności* Dobre praktyki

Wprowadzenie do Flutter toolkit

  • Wprowadzenie do języka Dart
  • Podstawy Flutter toolkit
  • Budowanie interfejsu użytkownika
  • Praca z danymi i komunikacja z backend
  • Core Location oraz praca z mapami
  • Kamera i biblioteka zdjęć
  • Core Graphics i Core animation

Wybrane elementy SDK

  • Podstawy React Native
  • Budowanie interfejsu użytkownika
  • Zarządzanie stanem
  • Praca z danymi i komunikacja z backend

Wprowadzenie do React Native

EKSPERCKI PROGRAM ROZWOJOWY STWORZYLIŚMY Z MYŚLĄ O BUDOWANIU NAJLEPSZYCH KADR IT

Dlaczego warto zainwestować w kurs
Mobile Developer PRO?

Uczysz się od razu przez praktykę

Budowa aplikacji, projekty do samodzielnego wykonania, mniejsze ćwiczenia pomagające zrozumieć i utrwalić omawiane zagadnienia

Wszyscy trenerzy to praktycy z wieloletnim doświadczeniem produkcyjnym i dydaktycznym

Masz wsparcie mentora

Doskonałe przygotowanie do pracy w komercyjnym zespole deweloperskim

Uczysz się pracy zespołowej

Poznajesz technologie pożądane na rynku

Najbardziej popularne frameworki, biblioteki i narzędzia

Poznajesz najlepsze praktyki, a także sposoby rozwiązania typowych problemów projektowych

Zdobywasz przydatną wiedzę

Dzięki znajomości zaawansowanych aspektów programowania stajesz się atrakcyjnym kandydatem na rynku pracy

Wchodzisz na wyższy level umiejętności

Uczysz się dobrych praktyk

Przyswajasz najlepsze praktyki związane z tworzeniem jakościowego i testowalnego kodu, a także poznajesz zaawansowane idiomamy programistyczne

Wyższe kompetencje to odpowiednio większe zarobki.

Masz szansę na większe zarobki

Zaaplikuj na kurs

Wybierz preferowany przez siebie tryb, w jakim poprowadzimy Twój program rozwojowy.

Do wyboru masz opcję weekendową oraz dzienną.

ETAP III

Poinformowanie o wyniku rozmów. Podpisanie umowy
z wybranymi kandydatami.

Rozmowa z wybranymi kandydatami

ETAP II

ETAP I

Zadania z podstaw programowania i OOP

(dowolny język do wyboru)

Weekendowy

Zajęcia w soboty i niedziele

6390

PLN

Możliwa płatność w ratach.

Kredyt 0% na 12 rat. Czytaj więcej >>>

Standardowa płatność możliwa w 4 ratach

CENA ZAWIERA

  • 200h na żywo z trenerem (online)
  • Projekt końcowy: Android
  • Projekt końcowy: iOS
  • Aktualne narzędzia i dobre praktyki
  • Konsultacje i mentoring
  • Bieżące review kodu
  • Zadania domowe i konsultacje przy ich rozwiązaniu na zamkniętej grupie na Slacku
  • Dostęp do nagrań z kursu
Zaaplikuj

TRYB

21.08.2021

START

CENA

Czekamy na Twoją aplikację do 2 września 2021.

Dedykowany dla firm

Zajęcia dostosowane do potrzeb Twojego zespołu

Indywidualna wycena

Kontakt:
Marcin Poncyliusz

570 269 615
m.poncyliusz@sages.pl

CENA ZAWIERA

  • Możliwość wyboru technologii (Flutter, Andorid, iOS, React Native)
  • Możliwość dostosowania programu pod potrzeby klienta
  • Aktualne narzędzia i dobre praktyki
  • Konsultacje i mentoring
  • Bieżące review kodu
  • Zadania domowe i konsultacje przy ich rozwiązaniu na zamkniętej grupie na Slacku

TRYB

CENA

Zostaw kontakt, wyślemy ofertę

Czekamy na Twoją aplikację do 16 czerwca 2021.

🔴 Webinar

POZNAJMY SIĘ NA ŻYWO

iOS - szybki start

Podczas wydarzenia: Pokażemy, jak w praktyce wygląda tworzenie aplikacji iOS. Zapoznamy Cię z dedykowanym środowiskiem programistycznym i poznasz podstawy języka Swift. Wraz z prowadzącym zbudujesz swoją pierwszą aplikację (pokazującą prognozę pogody) i dowiesz się, w jaki sposób uruchomić ją na telefonie lub innym urządzeniu.


Całość będzie miała formę warsztatu, dzięki czemu dużo łatwiej przyswoisz i zrozumiesz przedstawiane zagadnienia.


Wymagania dla uczestników, którzy chcą programować wraz z prowadzącym: Komputer z macOS, Xcode - instalacja przez AppStore

FAQ

Jak wygląda proces rekrutacji do programu?

Zgłoszenie uczestnictwa odbywa się na podstawie formularza aplikacyjnego. Po przesłaniu zgłoszenia kandydat otrzymuje drogą mailową zaproszenie do procesu rekrutacji. Rekrutacja jest dwuetapowa: obejmuje zadania, sprawdzające podstawową znajomość programowania oraz rozmowę kwalifikacyjną z trenerem (telefoniczna około 20 min.). Potwierdzenie terminu rozpoczęcia danego kursu następuje po zakończeniu całości procesu rekrutacyjnego na ten kurs.

Czy udział w programie gwarantuje zatrudnienie?

Nie, możemy jednak dać Ci 100% gwarancję, że na kursie dostarczymy Ci wiedzy i narzędzi odpowiadających potrzebom współczesnego rynku pracy.

Pełna zawartość programu opisana jest szczegółowo w sekcji Cena. Organizatorzy nie zapewniają sprzętu, zakwaterowania oraz wyżywienia uczestnikom na czas trwania kursu.

Co obejmuje cena kursu?

W przypadku osób prywatnych podana cena to cena końcowa, w przypadku finansowania szkolenia przez firmy - jest to cena netto - doliczamy 23% VAT.

Czy podana cena jest kwotą netto czy brutto?

Zajęcia odbywają się godzinach 9-17. Są podzielona na cztery bloki - po dwa przed i po przerwie obiadowej, rozdzielone przerwą. Nie ma podziału na zajęcia wykładowe i ćwiczeniowe - zajęcia mają formę warsztatową i cały czas pracujemy przy swoich komputerach. Nie znaczy to, że w ogóle nie ma momentów, w których trener coś opowiada i pokazuje, a uczestnicy tylko słuchają. Natomiast takich momentów “wykładowych” jest stosunkowo mało, a do tego często mają formę angażującą - teoria płynnie przeplatana jest praktyką. Zajęcia są elastyczne i nieograniczone tradycyjnym sztywnych harmonogramem - jeżeli grupa ma trudności z opanowaniem pewnego zagadnienia, a inne są łatwiejsze, to prowadzący więcej czasu poświęci na to trudniejsze zagadnienie. Nie ma tu miejsca na mechaniczne odhaczanie punktów “podstawy programowej” - celem zajęć jest dobre opanowanie materiału przez uczestników, a plan kursu jest skonstruowany tak, że na wszystko jest czas. Standardem są również kształcące dyskusje wywiązujące się z pytań uczestników. Jest to wyższa jakość edukacji w stosunku do tradycyjnych studiów.

Jak wyglądają zajęcia?

Wymagania opisaliśmy na stronie w sekcji: Czy program Mobile Developer PRO jest dla Ciebie? Natomiast jeśli w dalszym ciągu masz wątpliwości to pamiętaj, że będziesz mógł to sprawdzić w trakcie procesu rekrutacji, który jest darmowy i do niczego nie zobowiązuje. Rekrutacja obejmuje zadania z zakresu podstaw programowania oraz rozmowę indywidualną osoby merytorycznej z kandydatem.

Czy kurs jest dla mnie?

W obecnych czasach w Internecie da się znaleźć wszystko - i dotyczy to również tego czego uczymy na kursie. Natomiast nie istnieje jedno źródło (kurs online, zestaw materiałów, podręcznik dostępny online), które kondesowałoby tę wiedzę w jednym miejscu. Każde materiały dostępne w sieci pokrywają jedynie pewien wycinek całości i są one rozrzucone po bezkresie Internetu. Odnalezienie się w tym, oddzielenie treści przydatnych od tych zbędnych, wybranie materiałów dobrej jakości - to olbrzymie i bardzo trudne wyzwanie, wymagające poświęcenia ogromnej ilości czasu na jego realizację. Do tego dochodzą naturalne kwestie efektywności nauki samodzielnej - motywacja do samotnej pracy, wynajdywanie czasu pośród natłoku obowiązków życia codziennego, brak pomocy nauczyciela. Ponadto podczas nauki samodzielnej nigdy nie skorzystamy z osobistych doświadczeń specjalistów - nie dowiemy się co jest ważne w praktyce, na co trzeba zwracać uwagę i nie dowiemy się jak najefektywniej rozwiązywać praktyczne problemy. Wielu uczestników naszych kursów rozpoczynało naukę na własną rękę, ale ostatecznie z różnych względów decydowało się na udział i uznało to za opłacalną inwestycję.

Czy na kursie nauczę się więcej, niż mogę sam z internetu?

- laptop / PC (4 rdzeniowy procesor, 16GB RAM, dysk SSD, 512GB)

- dostęp do internetu

- kamerka + słuchawki

- dodatkowy monitor (opcjonalnie)

Jaki sprzęt powinni zapewnić sobie uczestnicy programu?
Nie czekaj aż wyprzedzą Cię inni - zainwestuj w siebie i stań się atrakcyjnym kandydatem na rynku pracy.

Zapotrzebowanie na wykwalifikowanych specjalistów Mobile Android i iOS ciągle rośnie. Stań się jednym z nich.


UWAGA: ilość miejsc ograniczona

Do zgłoszenia się do programu na jesienną edycję masz jeszcze tylko:

DNI
GODZ
MIN
SEK

© Sages. Wszelkie prawa zastrzeżone.

Ta strona korzysta z ciasteczek. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie. Możesz to zmienić w ustawieniach swojej przeglądarki.