Курси Swift
- iOS Development
- Swift
На Вас чекають живі онлайн-заняття, під час яких Ви вивчатимете основи програмування на Swift і одразу ж застосовуватиме знання на практиці. Разом із досвідченим iOS-розробником Ви напишете свій код та проаналізуєте помилки.
Програма курсу
Знайомство. Огляд курсу
- Структура курсу
- Налаштування робочих машин для практичних занять
- Налаштування інструментів
- Що таке програмування?
Основи розробки на платформі iOS
Мета: вивчення основних інструментів для програмування за допомогою мови Swift UI шляхом створення нового проєкту, роботи з плейграундами, маніпулювання рядками та числами з виведенням результатів у консоль, а також в умінні зберігати код за допомогою системи контролю версій Git.
Q&A. Створення функцій, робота з базовими типами, XCode Playground
Основи мобільної розробки: Робота з мутабельними структурами даних, колекціями та управлінням виконанням коду в iOS середовищі
Мета: навчитися створювати прості інтерфейси за допомогою Swift UI, а також створювати колекції і виводити їх на екран. Оволодіти навичками створення нових типів даних і проведення перевірки коду на виконання, виявлення помилок за допомогою дебагера
Q&A. Створення структур, дженеріки, опціонали, дебагер
Основи програмування в Swift UI: поліморфізм, протоколи, замикання, кортежі, комплексні операції над колекціями для інтерактивного інтерфейсу
Мета: навчитися створювати інтерактивний інтерфейс та виконувати складні операції над колекціями.
Q&A. Замикання і комплексні операції. Інтерактивний інтерфейс. Брифінг про фінальні проєкти
Основи ООП та мережевого програмування
Мета: навчитися процесу завантаження даних з мережі у фоновому режимі та їх відображення на екрані, а також вибір фінального проєкту для практичного застосування отриманих знань.
Q&A. Багатопоточність. URLSession. Вибір і затвердження проєктів
Введення в програмування: архітектурні принципи та патерни (MVC, MVVM), перехід на MVVM у нашій аплікації, тестування (Unit Tests) та основи навігації
Мета: ознайомитися з архітектурою і принципами створення складних продуктів, автоматичним тестуванням окремих компонентів для забезпечення якості коду та основи навігації в Swift UI.
Q&A. Перехід на MVVM. Складаємо тести
Основи збереження даних
Мета: оволодіти навичками збереження даних між сесіями в додатках iOS, а також розуміти принципи роботи файлової системи та системи безпеки в цій операційній системі.
Q&A. Робота із файлами і SwiftData
Спілкування та співпраця: Swift Package Manager, Корисні бібліотеки (Kingfisher), Командна робота (бранчі, пул-ріквести)
Мета: вивчення основ командної роботи та умінні ефективно співпрацювати з іншими розробниками у проєкті. Оволодіти навичками підключення та використання сторонніх бібліотек для розширення функціональності своїх додатків.
Q&A. Підключаємо Open Source
Огляд iOS розробки
Мета: розміщення готової програми в App Store, щоб користувачі змогли знайти та завантажити її на свої пристрої.
Q&A. Захист фінального проєкту
Що робити далі?
Мета: отримати поради щодо подальшого розвитку вашої програми, щоб залучити більше користувачів, поліпшити їхнє задоволення від використання та забезпечити стабільний ріст популярності і функціональності.
Особливості курсу
- Zoom-лекції та практикуми
- Тренер та ментор в чаті групи
- Перевірка і код рев'ю Д/З ментором з коментарями
- Сертифікат по закінченню курсу (при успішному захисті фінального проекту і виконаних Д/З)
- Підтримка клієнтського сервісу
- Відеозаписи блоку "IT Career"
- Участь в Web Academy Club
Викладачі курсу
- Michael Vorontsov - Senior iOS Developer at Skyscanner (London)
- Oleksandr Slobodianiuk - Senior iOS Engineer at Grid Dynamics
- iOS Development
- Swift
Програма курсу
Теми:
- Шаблони проектів iOS: розбір і вивчення
- Програми з декількох сторінок Page-Based Application
- Табличне представлення об'єктів в додатку Master-Detail Application
- Додаток з перемиканням активних екранів Tabbed Application
- Робота програм у фоновому режимі
- Запуск у фоновому режимі Background Modes
- Оновлення у фоновому режимі Background Fetch
- Робота з базами даних CoreData
- Моделі та методи
- Як включити механізм в проєкт: основні принципи
- Як відбувається запис даних та їх читання
- Система контролю версій: навички роботи
- Веб-сторінки: відображення і завантаження
- Робота зі створення мережі Networking
- Видове уявлення для HTML-контенту UIWebView
- HTML - основні теги й поняття
- Передача даних і завантаження файлів з NSURLConnection
- Робота з HTTP-протоколом
- Запити: POST, GET, Multipart
- Для чого потрібен формат JSON
- Огляд системних і призначених для користувача подій
- Огляд повідомлень Local/Remote
- Клас Core Image для роботи з зображеннями
- Як відбувається обробка зображень: основні методики
- Налаштування сенсорів і датчиків
- Налаштування телефонії, вхідних та вихідних дзвінків
- Робота з SMS: приймання та відправлення
- Робота з email: приймання та відправлення
- Як працювати зі списком контактів. Створення нового контакту, читання контакту
- Налаштування сервісів GPS/MapKit
- Робота з геоданими CoreLocation: отримання й обробка
- Робота з Apple-картами MapKit і визначення місця розташування
- Робота з Google Maps і визначення місця розташування
- Налаштування push-повідомлень
- Як інтегрувати додаток у веб-сервіси та сервіси від Apple
- Інтеграція в соціальні мережі
- Як відбувається тестування додатка, його принципи
- Що таке профілювання додатків, його принципи
- Як опублікувати додаток в App Store
Що ти зможеш після проходження курсу:
- Проводити операції з датчиками пристроїв
- Займатися базами даних
- Займатися інтернет-ресурсами
- Реалізовувати інтеграцію різноманітних соціальних сервісів в додатки
- Використовувати закінчені рішення інших розробників
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатися у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- iOS Development
- Swift
Програма курсу
Теми:
- Як налаштувати середовище розробки. Загальна інформація про Apple
- Введення в документацію
- Симулятор пристроїв і їх налаштування в середовищі розробки Xcode
- Як створити новий проєкт
- ООП: принципи та прийоми
- Як працювати з шаблонами проектування
- Базові відомості про мову Swift
- Синтаксис мови Swift - токени
- Переваги мови Swift і загальна інформація. Які оператори використовуються у Swift
- Принципи ООП щодо Swift і їх застосування
- Як реалізується спадкування й інкапсуляція у Swift
- Колекції у Swift: масиви, набори й словники
- Словники dictionary
- Масиви array
- Набори set
- Як працювати з зображеннями
- Як працювати з колекціями
- Узагальнення generics і параметризація методів
- Класи й управлінські структури
- Класи й методи екземпляра
- Властивості зберігання та обчислювані властивості
- Як працювати з ресурсами
- Об'єкти Swift та їх життєвий цикл
- Безпека зберігання, пам'ять і механізми управління
- Налаштування контролерів і переходів з segue
- Створення діалогових вікон з UIAlertView
- Створення модальних меню з UIActionSheets
- Інструменти UITabBarController і UINavigationController для реалізації навігації
- Стандартна бібліотека Cocoa Touch та її елементи
- Core Graphics для створення графічних примітивів
- Interface Builder для докладної роботи з графікою
- Як працювати з системою контролю версій
- Візуалізація за допомогою Xib-файлів
- Створення інтерфейсу програми та Storyboard
- Створення й використання протоколів
- Локалізація в середовищі iOS
- Рядки та символи. Типи string, character
- Розробка багатопоточних додатків. Потоки thread і черги queues
- Інструменти малювання й анімації
- Застосування анімації у Swift
- Як відобразити безліч елементів
- Табличне представлення UITableView
- Відображення елементів в колекції UICollectionView
- Користувальницьке введення даних та їх обробка
- Верстка: ручна й адаптивна за допомогою autolayout
- Верстка інтерфейсу адаптивним способом
- Створення елементів інтерфейсу - кнопок, полів і меню, що випадають
- Програма: оптимізація та налаштування
- Як реалізувати жести натискання у Swift
- Сторонні бібліотеки CocoaPods: підключення та застосування
- Паралелізм задач за допомогою бібліотеки Grand Central Dispatch
- Споживання пам'яті: аналіз
- Продуктивність: аналіз і оптимізація
- Практичний модуль і курсовий проєкт
Цільова аудиторія для курсу:
- Програмісти, які тільки починають свою кар’єру та намагаються реалізовувати перші кроки у програмування
- Розробники, яким вже відомо про інші платформи, і вони хочуть освоїти це спрямування
- Веб-розробники, які хочуть бути компетентними в цій платформі
- Всі ті, хто бажає навчитися писати власні додатки під iOS
Вміння після проходження курсу:
- Використання головних компонентів регулювання інтерфейсу користувачів iOS
- Адаптування додатків під пристрої з різними екранами
- Оптимізація та компонування джерел додатку
Особливості курсу
- Викладачі практики
- Корпоративне навчання
- Можливість навчатись у вихідні
- Можливість влаштуватись у провідні IT-компанії
- Індивідуальне навчання
Викладачі курсу
- Володимир - Програміст
- Ігор - Програміст
- Володимир - Програміст
- Олексій - Програміст
- iOS Development
- Swift
Навчання відбувається онлайн: ви вивчаєте курс з нуля у своєму темпі, переглядаючи відео-лекції та виконуючи практичні завдання від автора курсу. Після проходження курсу Swift Start – ви з нуля осягнете основи Swift, які дозволять вам розвиватися далі самостійно або на наших курсах менторингу iOS
Програма курсу
Вступна частина
Теорія:
- Вступне слово, поради щодо самоорганізації
- Привітання – розповідь про мову, що це, для чого застосовується, у чому переваги, де використовується Swift
Встановлення оточення
Теорія:
- Що таке XCode і для чого він призначений
- Apple Developer аккаунт
- Що таке Playground, як з ним працювати, інструменти
Практика:
- Встановлення XCode
- Робота з Playground
Змінні та базові операції зі змінними
Теорія:
- Змінні та константи
- Конкатенація
- Інтерполяція
Практика:
- Арифметичні операції на прикладі Int
- Робота з виводом у термінал - перша функція print()
- Завдання на роботу з опрацьованим матеріалом
Типи даних
Теорія:
- Базові типи даних
- Масив, Кортеж
- Словар, Сет
Практика:
- Приведення типів даних одного до іншого
- Впізнаємо тип даних за підказками xcode-a
- Базові операції по роботі з масивами, кортежами
- Базові операції по роботі зі словниками, сетами
- Завдання на роботу з кожною колекцією
Оператори керування потоком
Теорія:
- Логічні оператори
- Оператори порівняння
- Цикли
- Опціональні типи даних
Практика:
- Використовуємо if – else, логічні оператори (&&, || etc.), оператори порівняння (<, >, == etc)
- Працюємо з циклами for in, while, repeat while + guard, switch
- Працюємо з опціональними типами даних, optional Binding etc., nil, unwrapping
- Завдання по роботі з операторами в циклі. Завдання на опціонали
Функції
Теорія:
- Що таке функція
- Вступ до замикання
Практика:
- Написання простої функції
- Написання просунутої функції
- Приклади замикань із коробки
- Практика з написання своїх функцій
Кастомні типи даних та їх об'єкти
Теорія:
- Що таке – класи, структури, enum
- Базове введення в Reverence і Value типи
- Об'єкти типів – базове введення в ініціалізатори
- Базове введення в Протокол
- Збережені властивості
- Extensions
- Методи об'єктів
Практика:
- Методи об'єктів (object.doSome())
- Методи типів (static/class SomeClass.doSome())
- Написання та виклик методів і типів даних
- Створюємо свої типи даних
ООП
Теорія:
- Що таке ООП
- Послідування
- Поліморфізм
- Інкапсуляція
Практика:
- Послідування, поліморфізм на прикладі класів і масивів
- Інкапсуляція – атрибути private etc
Перший додаток
Теорія:
- Ведення в XCode проєкт
- Що таке симулятор
Практика:
- XCode: створюємо проєкт, вивчаємо інтерфейс, Storyboard, симулятор
- Работуємо перший повноцінний застосунок
Попередні вимоги
- Вільне володіння комп'ютером
- Вміння читати англійський текст
- Наявність будь-якого Apple комп'ютера для розробки
Особливості курсу
- Онлайн курс
- Необмежений доступ до відео-лекцій і завдань
- Без-перевірки
- Допомога в чаті Slack
Викладачі курсу
Олександр Олійник - iOS Engineer
Більше інформації- iOS Development
- Swift
Під час курсу ви створюватимете програми для пристроїв Apple. У тих студентів, хто дістанеться кінця курсу, в портфоліо буде мінімум одне, а скоріше 4-5 додатків під iOS. А найзавзятіші зможуть похвалитися своїми додатками в AppStore.
Програма курсу
Git Course
Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.
Специфіка роботи зі Swift
- Управління пам’яттю, посилальні та прості типи
- Колекції, функції, замикання, класи, структури, протоколи, розширення та інший синтаксичний цукор
- Основи роботи з інтерфейсом
- Створення додатків за допомогою статичних дизайн-образів, спеціально розроблених талановитим дизайнером для ваших завдань
UIKit
- Auto Layout
- Створення інтерфейсу за допомогою Storyboards
- Створення інтерфейсу за допомогою коду
SwiftUI
- Основи роботи зі SwiftUI
- Планування та проєктування додатка
- Додавання функціональності та взаємодії
Робота з мережею
- Отримання даних із мережі та їх обробка
- Створення привабливих і функціональних застосунків, що відповідають вимогам дизайнерів та API
- Тестування та оптимізація
Сторонні бібліотеки
- Використання бібліотек для обробки та аналізу даних
- Створення застосунків з інтеграцією кількох сторонніх бібліотек
Додаткові аспекти
- Життєвий цикл додатка
- Робота з файловою системою
- Тестування
- Налагодження
- Графіка та анімація
- Вимоги до публікації додатка в App Store
Заключення
За підсумком курсу ви опануєте принципи побудови iOS застосунків і отримаєте досвід їх створення. У найстійкіших буде понад 5 застосунків для портфоліо, а в найкреативніших - свої застосунки на основі завдань в App Store.
Попередні вимоги
- Синтаксис мови Swift
- Базові знання фреймворків UIKit, Storyboards, MVC (Model View Controller)
- Розуміння ООП
- Досвід роботи з Git
- Знання англійської мови на рівні технічної документації
Особливості курсу
- Швидкість проходження курсу залежить від вас. Швидже вчитесь - менше платите.
- 7 днів тестового періоду
- Менторинг
- Безкоштовна заморозка
Викладачі курсу
- Олександр Кабанов - Lead iOS Engineer at FiveSystems development
- Владислав Скінтіян - Lead iOS Engineer at Kuna
- Олег Дрозд - Middle iOS Developer at Grid Dynamics
- Денис Голишевський - Senior iOS Developer at Дія
- Павло Білогаєнко - Senior iOS Developer at iTomych Studio
- Олександр Олійник - iOS Engineer at Avenga
- Василь Драга - Middle iOS Developer at KeyToTech
- Володимир Андрієнко - Lead iOS Developer at WeFuture
- iOS Development
- Swift
На Вас чекають живі онлайн-заняття, під час яких Ви вивчатимете основи програмування на Swift і одразу ж застосовуватиме знання на практиці. Разом із досвідченим iOS-розробником Ви напишете свій код та проаналізуєте помилки.
Програма курсу
Обговорення курсу. Playgrounds: курси від Apple. Установка Xcode та його налаштування. Swift: примітивні типи, функції. Ознайомлення з Github.
- Рекомендації щодо вивчення iOS розробки
- Поговоримо про створення додатку під iOS платформу
- Познайомимося із мовою Swift
- Задамо базові налаштування та познайомимося з Xcode, вивчимо найкорисніші шорткати
- Playgrounds - програма, в якій ми вирішуватимемо завдання протягом наступних двох тижнів
- Lightbot – програма для iOS
- Що таке змінні та функції
- Що таке Bool, String, Int, Array, Dictionary
Swift: продовжуємо вивчати функції (модифікатори функцій, параметри), умови, логічні оператори, цикли. Розв'язання задач у playgrounds
- Продовжимо говорити про основи мови, розбираючись із ними в Xcode playgrounds
- Практика: оператор if..., цикл for, команда break, логічні оператори
Принципи ООП, класи та структури. Життєвий цикл
- Поговоримо про об'єктноорієнтоване програмування (ООП)
- Чим відрізняються value type від reference type
- Класи та структури
- Поговоримо про життєвий цикл UIViewController
Protocols, Extensions. Нові оператори: switch та guard
- Розберемося, що таке протокол та розширення
- Як їх можна використовувати, множинне спадкування
Створення інтерфейсу програми. Storyboard, Constraints, UIView, AutoLayout, Animations. Основні елементи для створення інтерфейсу
- Навчимося використовувати storyboard, xib та створювати інтерфейс у коді, використовувати Constraints
- Навчимося створювати власну View
- Створимо прості анімації (переміщення елементів, зміна кольору)
UITableView, Custom cells. Navigation
- Навчимося працювати з таблицею (UITableView), створювати для неї власні осередки та виконувати переходи по екранах
- Навчимося використовувати UINavigationController та презентувати нові екрани
REST API. Клієнт-серверний додаток. Робота з даними у форматі JSON. Менеджери залежностей, CocoaPods
- Розберемося, що таке REST api, клієнт-серверний додаток та навчимося використовувати корисний софт для роботи з мережею (Postman, Proxyman)
- Навчимося парсити дані у форматі JSON
- Напишемо перший код роботи із мережею
- Навчимося використовувати CocoaPods
- Почнемо робити курсові проекти
Починаємо робити програму для сайту TMDb. Пишемо мережевий шар програми
- Створимо програму для TMDb (сайту з рейтингом фільмів)
- У реальному додатку виконаємо мережеві запити та відобразимо дані у додатку
Зберігання даних. UserDefaults, Realm
- Розберемося, які є сховища даних та як працювати з User Defaults та Realm
- Напишемо менеджери по роботі з даними
UICcollectionView. Системи контролю версій
- Навчимося використовувати колекції (UICollectionView) і створювати складні осередки для них
- Розберемо головну особливість UICollectionView: розміщення елементів на екрані
- Додамо UICollectionView до проекту TMDb
Рефакторинг проекту TMDb. Робота з сайтами у додатку (Web view) та відеоплеєром (AVKit)
- Відрефакторимо весь код написаний нами в додатку TMDb
- Навчимося відкривати сайти в мобільному додатку та відтворювати відео
Map Kit. Операції з картою та анотаціями
- Навчимося працювати з картою
- Додаємо на неї маркери, малюємо полігони
Багатопотоковість в iOS. Що таке GCD
Розберемося, що таке багатопотоковість, вивчимо її на прикладі GCD
SOLID. Правила написання гарного коду
- Обговоримо, що таке SOLID, DRY, KISS, YAGNI
- Навчимося рефакторити код
Архітектура програми, MVC vs MVVM
- Розберемося, що таке архітектура програми
- Розглянемо різні приклади архітектури
- Відрефакторимо TMDb додаток, додавши до нього архітектуру MVVM
Паттерни: породжувальні, структурні та поведінкові
- Розберемо, що таке патерни і навіщо вони потрібні
- Вивчимо найпопулярніші патерни
Swift UI
Познайомимося зі SwiftUI та порівняємо його з UIKit
Здача проектів
- Здача проектів
- Рекомендації щодо пошуку першої роботи / запуску свого додатку
Особливості курсу
- Курс в записі, вчись прямо зараз
- Підтримка клієнтського сервісу
- Участь в Web Academy Club
- Година персональної Online консультації з IT-рекрутером з працевлаштування: рев'ю резюме і профілів
Викладачі курсу
- Michael Vorontsov - Senior iOS Developer at Skyscanner (London)
- Oleksandr Slobodianiuk - Senior iOS Engineer at Grid Dynamics
- iOS Development
- Swift
Цей курс iOS Developer Professional призначений для тих, хто вже має базові знання та навички в розробці на Swift і бажає розвинути їх у професійному напрямку. Незалежно від вашого досвіду роботи в галузі ІТ, ми допоможемо вам поглибити розуміння мобільної розробки для iOS.
Програма курсу
Теми:
- Starting with SwiftUI: essentials of descriptive UI
- Adding logic to your view
- Combine: essentials
- Fine tuning of your views
- Combine: creating data flows
- View hierarchy, lists, grids, stacks and navigation
- Connecting SwiftUI and UIKit
- Modern app architectures and SwiftUI
- Dependency Injections and MVVM+C
- App reliability: Unit Testing, snapshot testing, mocking dependecies
Топ причин освоїти професію iOS-розробника
- Великий попит на ринку праці: Розробка додатків для iOS є однією з найбільш швидкозростаючих і вимаганих галузей ІТ. Apple продовжує розвивати свою платформу, створюючи нові можливості для розробників, що робить цю професію дуже перспективною.
- Широкі можливості кар'єрного зростання: Починаючи як iOS Developer, ви можете побудувати кар'єру до різноманітних рівнів, таких як Senior Developer, Tech Lead, або навіть CTO. Розробники iOS широко використовуються в багатьох галузях, від стартапів до корпорацій.
- Гнучкість у роботі: Багато розробників iOS працюють у форматі віддаленої роботи або фрілансерами. Це дає вам можливість працювати з будь-якої точки світу та керувати своїм графіком.
- Творчий потенціал: Розробка додатків для iOS дозволяє реалізувати ваш творчий потенціал. Ви можете створювати додатки, які змінюють життя людей, вирішують реальні проблеми або просто надають розваги.
- Виклики та захоплення: Розробка для iOS завжди викликає нові завдання та можливості для вдосконалення ваших навичок. Кожен день ви стикаєтесь з новими технологіями та викликами, що робить цю професію захоплюючою та цікавою.
- Підтримка спільноти та ресурсів: Ви отримуєте доступ до великої спільноти розробників iOS, яка надає підтримку, рекомендації та рішення проблем. Крім того, існує безліч онлайн-курсів, підручників та ресурсів для навчання розробки для iOS.
Особливості курсу
- Модуль із лекцією
- Живі зустрічі
- Фідбек від викладача
- Чат групи
- Домашні завдання
- Сертифікат про проходження курсу
Викладачі курсу
Michael Vorontsov - Senior iOS Developer at Skyscanner, iOS/MacOS developer
Більше інформаціїЧитайте нас в Telegram, щоб не пропустити анонси нових курсів.