Kotlin-разработчик: кто это, обязанности, зарплаты и как им стать в 2022 году. Обзор профессии.

Обучение
Содержание

Кто такой Kotlin-разработчик?

Kotlin-разработчик (Котлин-программист) — это специалист, который знаком и владеет языком программирования Kotlin. Поскольку Kotlin не ограничивается конкретным типом разработки, разработчики Kotlin могут быть разработчиками любого типа. При этом Kotlin в основном используется для веб-разработки и разработки мобильных приложений.

Что делают Kotlin-разработчики и чем занимаются?

Обязанности на примере одной из вакансий:

  • Разработка нового функционала приложений.
  • Разработка и поддержка существующего функционала приложений и SDK.
  • Участие в обсуждении лучших и наиболее эффективных решений для проекта.
  • Взаимодействовать с продуктовой командой, командой веб-разработки и UX.
  • разработка и развитие сервисов и модулей на Kotlin в рамках проекта АРМ;
  • создание и обновление проектной документации;
  • участие в планировании и оценке времени выполнения задач.

Что должен знать и уметь Kotlin-разработчик? 

Требования к Kotlin-разработчикам:

  • Уверенные знания языка программирования Kotlin
  • Тестирую мобильные приложения
  • Опыт работы с многопоточностью
  • Базовые навыки работы в Figma
  • Создаю приложения для Android-устройств
  • Провожу code-review
  • Навыки работы с SQLite, Firebase
  • Соблюдаю кодстайл — мой код легко читать и понимать коллегам
  • Понимаю паттерны проектирования
  • Работа с API
  • Контроль версий в Git
  • Технический английский

Востребованность и зарплаты Kotlin-разработчиков

На сайте поиска работы в данный момент открыто 2 977 вакансий, с каждым месяцем спрос на Kotlin-разработчиков растет.

Количество вакансий с указанной зарплатой Kotlin-разработчика по всей России:

  • от 90 000 руб. – 914
  • от 185 000 руб. – 720
  • от 280 000 руб. – 383
  • от 375 000 руб. – 109
  • от 470 000 руб. – 26

Вакансий с указанным уровнем дохода по Москве:

  • от 85 000 руб. – 341
  • от 170 000 руб. – 316
  • от 255 000 руб. – 226
  • от 335 000 руб. – 106
  • от 420 000 руб. – 19

Вакансий с указанным уровнем дохода по Санкт-Петербургу:

  • от 110 000 руб. – 186
  • от 180 000 руб. – 164
  • от 255 000 руб. – 114
  • от 325 000 руб. – 63
  • от 400 000 руб. – 10

Как стать Kotlin-разработчиком и где учиться?

Варианты обучения для Kotlin-разработчика с нуля:

  • Самостоятельное обучение – всевозможные видео на YouTube, книги, форумы, самоучители и т.д. Плюсы – дешево или очень недорого. Минусы – нет системности, самостоятельное обучение может оказаться неэффективным, полученные навыки могут оказаться невостребованными у работодателя;
  • Онлайн-обучение. Пройти курс можно на одной из образовательных платформ. Такие курсы рассчитаны на людей без особой подготовки, поэтому подойдут большинству людей. Обычно упор в онлайн-обучении делается на практику – это позволяет быстро пополнить портфолио и устроиться на работу сразу после обучения.

Ниже сделали обзор 15+ лучших онлайн-курсов.

15+ лучших курсов для обучения Kotlin-разработчика: подробный обзор

Стоимость: Рассрочка на 34 месяца — 4 601 ₽ / мес
  • Курс адаптирован под требования работодателей
  • Командный итоговый проект
  • Бесплатные ознакомительные модули
  • Помощь в трудоустройстве.

Кому подойдёт этот курс:

  • Новичкам в программировании
    Без стресса пройдёте путь от новичка до уверенного Android-разработчика: с нуля научитесь программировать на Kotlin, напишете первые приложения для портфолио и сможете трудоустроиться сразу после курса.
  • Начинающим разработчикам
    На практике закрепите основы и углубитесь в более сложные темы. Научитесь создавать и тестировать большие приложения по ТЗ от реального заказчика.
  • Программистам, которые хотят поменять направление
    Узнаете об особенностях разработки и тестирования мобильного ПО. Получите системные знания и портфолио, сможете найти работу Android-разработчиком и повысить доход.

Чему вы научитесь:

  • Программировать на Kotlin
    Kotlin — основной язык для программирования приложений на Android. Вы с нуля изучите и базовые возможности языка, и продвинутые концепции — такие как многопоточность.
  • Работать в среде Android Studio
    Узнаете, как проектировать экраны и программировать логику приложений, научитесь релизить свои проекты в Google Play.
  • Использовать Android SDK
    Будете создавать динамичные приложения, которые решают проблемы пользователей. Например, научитесь получать доступ к камере устройства или к местоположению.
  • Создавать анимации и кастомные экраны
    Скучные и статичные приложения — прошлый век. Вы узнаете всё, что нужно для проектирования нестандартных переходов между состояниями приложения, и сможете закодить даже самый необычный экран.
  • Тестировать приложения
    Кто будет пользоваться вашим приложением, если оно не работает? Вы научитесь проверять работоспособность проектов при разных условиях, использовать эмуляторы и симуляторы.
  • Проектировать стабильные и быстрые приложения
    Шаблоны проектирования помогут вам ускорить процесс разработки, а ещё вы узнаете, как не допускать утечек памяти — про этот аспект часто забывают новички.

Содержание курсов

Вас ждут онлайн-занятия и практика на основе реальных кейсов.
47 модулей, 300 онлайн-занятий

  1. Kotlin
  • Переменные.
  • Функции.
  • Условия и циклы.
  • Коллекции.
  • Объекты.
  • ООП.
  • Сравнение типов.
  • Исключения.
  • Корутины.
  • Потоки.
  1. Android-разработчик. Уровень 1
  • Введение в профессию
  • Начало работы
  • Вёрстка
  • Компоненты
  • ConstraintLayout
  • Ресурсы проекта
  • Экраны приложения
  • Анимация
  • Локализация приложений
  • Жизненный цикл
  • Основы хранения данных
  • Архитектура презентационного слоя
  • Работа с сетью (Retrofit)
  • Работа с БД (Room)
  • Работа с массивами данных
  • Работа с защищёнными разделами ОС
  • Работа с локацией
  • Firebase
  1. Android-разработчик. Уровень 2
  • Создаём собственные View и анимации.
  • Работа со списками.
  • Declarative UI.
  • Выполнение задач в фоновом режиме: практика.
  • Продвинутое внедрение зависимостей (dependency injection). Dagger 2.
  • Паттерны построения приложения.
  • Паттерны презентационного слоя.
  • Тестирование.
  • Выход приложения.
  • Утечки памяти и статические анализаторы.
  • Code review на продвинутом уровне.
  • Основы.
  • Часть 2. Операторы.
  1. Система контроля версий Git
  • Версии программного кода.
  • Установка Git.
  • Индекс и частичные коммиты.
  • Сравнение версий.
  • Отмена изменений и откат версий.
  • Репозитории и коллективная работа.
  • Ветки — создание и управление.
  • Слияние и разрешение конфликтов.
  • Полезные инструменты.
  • Правила работы с Git.
  1. Язык запросов SQL
  • Введение.
  • Структура БД, запрос DESCRIBE.
  • Выбор и фильтрация данных, запрос SELECT.
  • Функции и выражения, агрегация данных.
  • Отношения и соединение таблиц: JOIN.
  • Группировка.
  • Модификация данных.
  • Подзапросы.
  • Объявление и изменение структуры данных.
  1. Английский для IT-специалистов
  • IT Resume and CV: Составляем резюме на английском.
  • Job interview: questions and answers: Проходим собеседование на английском.
  • Teamwork: Говорим о командной работе и процессах на английском.
  • Workplace communication: Английский для общения.
  • Business letter: Ведем переписку на английском.
  • Software development: Разбираем все этапы жизненного цикла программного обеспечения на английском.
  • System concept development and SRS: Составляем ТЗ на английском.
  • Design: Говорим об основных концепциях проектирования.
  • Development and Testing: Разбираем ключевые термины, которые используются в разработке и тестировании.
  • Deployment and Maintenance: Обсуждаем типичные действия при развертывании и дальнейшем сопровождении ПО.
  1. Карьера и развитие для программиста
  • Что нужно работодателю?
  • Как создавать резюме и искать работу.
  • Как успешно пройти собеседование.
  • Как пройти испытательный срок.
  1. Figma 2.0
  • Введение в Figma. Обзор возможностей.
  • Работа с графикой.
  • Редактор Figma — модульные сетки и монтажные области.
  • Создание и настройка компонентов, работа с эффектами.
  • Создание вложенных компонентов. Auto Layout.
  • Организация рабочего пространства компонентов и стилей. Командная работа, контроль версий и передача макетов в разработку.
  • Прототипирование.
  • Figma Animate.
  • Бонус-модуль. Обзор и применение Figma plugins.
  1. Ручное тестирование мобильных приложений
  • Тестирование мобильных приложений.
  • Общее знакомство с темой.
  • Ориентация и экраны.
  • Эмуляторы и симуляторы.
  • Сборка приложений и продвинутые функции Android Studio и XCode.
  • GPS и батарея.
  • Связь.
  • Скриншоты и логи.
  • Информация о дипломном проекте.

Итоговые проекты

  1. Командный проект: мобильное приложение для Android
    В составе команды под руководством опытного тимлида вы создадите приложение под Android. Вам выдадут ТЗ, дизайн проекта и роли в команде. Все процессы этого проекта — максимально приближенный к реальным условиям опыт. Именно так создаются приложения.
  2. Консольное приложение для логистического центра
    Создадите программу, которая будет отслеживать перемещение грузовиков с отсортированными товарами, распределять потоки автомобилей между загрузочным и разгрузочным пунктами и предупреждать, если товар в машине превышает грузоподъёмность.
  3. Аналог Unsplash
    Разработаете приложение для сервиса обмена фотографиями, где зарегистрированные пользователи смогут смотреть фотографии, лайкать их и скачивать.
  4. Аналог Strava
    Создадите приложение для бегунов и велосипедистов, которое позволяет следить за своей физической активностью и весом и получать напоминания о тренировках.
  5. Аналог Reddit
    Разработаете приложение, которое позволяет пользователям размещать ссылки, находить интересный контент и обсуждать его.

Сертификат Skillbox

Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.

Стоимость: Рассрочка на 36 месяцев — от 3 878 ₽ / мес

Кому подойдёт этот курс:

  • Начинающим Android-разработчикам
    Освоите методологии и стандарты, научитесь работать с продвинутыми инструментами разработчика
  • Новичкам в программировании
    Поможем сменить деятельность, перейти в перспективную профессию и больше зарабатывать на интересных проектах.
  • Практикующим IT-специалистам
    Попробуете новое направление, систематиизируете знания и сможете зарабатывать больше.

Программа обучения:

Вы научитесь писать приложения на Java и Kotlin, работать с графикой и анимацией, проводить тестирования. Вы также освоите командную разработку и подготовитесь к собеседованию на должность Android-разработчика.

I четверть. Основы Android- разработки на Java
В первой четверти вы погрузитесь в язык программирования Java до уровня, необходимого для быстрого старта в разработке под Android. Познакомитесь с объектно-ориентированным программированием, исключениями, коллекциями и работой с сетью. Изучите механизмы работы с системой Android, разберете жизненный цикл приложения, получите навыки в верстке приложений. Узнаете, каким образом можно отображать информацию на экране устройства. Ознакомитесь с основными возможностями приложений на Android.

  • Видеокурс «Как учиться эффективно»
  • Java Core для Android
  • Android 1. Знакомство с платформой.

II четверть. Углубленное изучение Android на языке Kotlin
Во второй четверти вы получите продвинутые навыки разработки приложений под Android. Научитесь работать с основными компонентами приложения, создавать интерфейсы с элементами различной сложности и применять основы материального дизайна. Освоите выход в интернет и отправку запросов на удаленный сервер. Познакомитесь с push-уведомлениями, многопоточностью, получением данных через API и сохранением их в базу данных с помощью Room. Научитесь использовать возможности GPS-навигации и Google-карт.

  • Android на Kotlin
  • Material design.

III четверть. Профессиональная разработка приложений
В третьей четверти рассказываем о профессиональных подходах в коммерческой Android-разработке. Вы изучите внедрение зависимостей, многопоточность на основе функционального программирования. Изучите наиболее востребованные библиотеки в разработке под Android: RxJava, Dagger 2, Moxy, Cicerone и другие. В завершении четверти вы освоите профессиональные подходы в разработке под Андроид, архитектуры приложения, используете библиотеку внедрения зависимостей Koin, освоите многопоточность с применением Coroutines. Получите понимание многомодульности проекта и научитесь применять темную тему в приложении.

  • Популярные библиотеки: RxJava 2, Dagger 2, Moxy
  • Профессиональная разработка Android-приложений.
  • Проект — Создание переводчика с английского на русский.

IV четверть. Командная разработка и тестирование приложений, подготовка к собеседованию
Четверть начнется с погружения в тестирование приложений на стороне разработчика. Вы освоетесь со всеми основными видами тестов: Unit, инструментальные и UI-тесты с использованием соответствующих библиотек. Примените в работе Гибкие методологии в командной разработке приложения, систему контроля версий Git, ознакомитесь с принципами Continious Integration и Continious Delivery. Пройдете все этапы разработки приложения от идеи до релиза. В конце четверти вас ждет подготовка к техническому собеседованию на позицию Middle-разработчика. Вы получите знания и навыки, необходимые для старта карьеры в IT-компании.

  • Тестирование
  • Командная разработка Android-приложения
  • Подготовка к собеседованию Android-разработчика
  • Проект — Командная разработка Android-приложения.

Курсы вне четверти

  • Базовый курс
  • Алгоритмы Java. Интерактивный курс
  • Подготовка к поиску работы
  • MeetUp Факультета Android-разработки.

Факультативы

  • Интерфейс приложений: работа дизайнеров и программистов
  • Корутины в Kotlin
  • Продвинутые операторы Kotlin
  • Аналитика и монетизация мобильных приложений
  • Сборка Android-приложения с помощью Gradle Build Tool
  • Законное индивидуальное предпринимательство и фриланс
  • Мобильная разработка на Flutter
  • Чистая архитектура в разработке под Android
  • Проект — Рекомендательная система для интернет-магазина, прогнозирование оттока клиентов.

Вы получите диплом о профессиональной переподготовке.

Стоимость: нет информации

Вы научитесь:

  • использовать язык Kotlin для разработки серверных приложений;
  • создавать приложения для разных платформ с помощью Kotlin Multiplatform: JS, JVM, Native (Linux/Windows/MacOs/Android/iOS);
  • применять асинхронное и многопоточное программирование с корутинами;
  • выполнять интеграцию бэкенд-приложения с различными фронтендами с использованием OpenAPI и Kotlin Multiplatform;
  • использовать Kotlin совместно с различными фреймоврками: Spring, Ktor, Kotless (Amazon Web Services);
  • реализовывать асинхронный транспорт с применением WebSocket, RabbitMQ и Kafka;
  • строить хранилища на базе SQL и NoSQL (Cassandra, AWS DynamoDB)
  • писать приложения с монолитной, микросервисной и бессерверной архитектурами;
  • разрабатывать гибкую и надежную бизнес-логику любой сложности, используя инструменты Kotlin DSL, ООП и null-safety;
  • проектировать архитектуру приложений с применением таких подходов как модульная разработка, DDD, TDD, MDD;
  • учитывать требования законодательства в области защиты информации при формировании архитектуры приложения;
  • внедрять элементы BI в приложения для получения аналитических отчетов по функционированию и бизнес-процессам.

Программа обучения

Модуль 1. Введение в Kotlin

  • Тема 1. Введение в курс и обзор языка
  • Тема 2. Основы Kotlin, типы, операторы, функции
  • Тема 3. Объектно-ориентированное программирование
  • Тема 4. Предментно ориентированные языки (DSL)
  • Тема 5. Асинхронное и многопоточное программирование с корутинами
  • Тема 6. Асинхронное и многопоточное программирование с каналами
  • Тема 7. Kotlin Multiplatform и интероперабельность с JVM, JS

Модуль 2. Старт проекта и общие принципы разработки бэкенда

  • Тема 8. Маркетинг и аналитика проекта
  • Тема 9. Тестирование проекта, TDD, MDD
  • Тема 10. Архитектурные вопросы и инициализация проекта
  • Тема 11. Практика по инициализации проекта и TDD

Модуль 3. Модули транспортных моделей

  • Тема 12. Создаем интерфейс с помощью OpenAPI
  • Тема 13. Создаем API-модели с Kotlin Multiplatform
  • Тема 14. Практика по разработке транспортных моделей

Модуль 4. Работа с фреймворками в Kotlin

  • Тема 15. Разработка монолитного приложения со Spring
  • Тема 16. Разработка микросервисного приложения с KTOR
  • Тема 17. Разработка бессерверного приложения на примере AWS Lambda с использованием Kotless
  • Тема 18. Практика по работе с фреймворками

Модуль 5. Модуль бизнес-логики проекта

  • Тема 19. Разработка библиотеки для шаблона Chain of Responsibilities
  • Тема 20. Создание модуля бизнес-логики с использованием шаблона Цепочка Ответственности.
  • Тема 21. Шаг валидации в бизнес-цепочке
  • Тема 22. Практика по созданию бизнес-уровня Backend-приложения

Модуль 6. Транспортный уровень приложения

  • Тема 23. Транспорт с WebSocket
  • Тема 24. Транспорт с RabbitMQ
  • Тема 25. Транспорт с Kafka
  • Тема 26. Практика по транспортному уровню приложения

Модуль 7. Работа с базами данных в Kotlin-проекте

  • Тема 27. Создание репозитария
  • Тема 28. Репозитарий с PostgreSQL
  • Тема 29. Репозитарий с Cassandra
  • Тема 30. Репозитарий с DynamoDB
  • Тема 31. Практика по работе с базами данным в Backend-приложении

Модуль 8. Защита информации и управление пользователями

  • Тема 32. Общие принципы защиты информации
  • Тема 33. Авторизация и аутентификация в фреймворках
  • Тема 34. Практика по управлению пользователями

Модуль 9. Мониторинг приложения

  • Тема 35. Общие принципы мониторинга
  • Тема 36. Сбор логов и построение аналитических отчетов
  • Тема 37. Практика по мониторингу

Модуль 10. Проектная работа

  • Тема 38. Обзор значимых проектов на Kotlin, которые выходят за рамки курса
  • Тема 39. Консультация по проектам и домашним заданиям
  • Тема 40. Защита проектных работ

Выпускной проект
За время обучения вы разработаете собственный проект для портфолио. Тему для выпускного проекта вы выбираете либо самостоятельно, либо из предложенных преподавателями. В проекте вы по своему выбору применяете те инструменты, которые рассматриваются на вебинарах.

После обучения вы:

  • получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов);
  • освоите Kotlin и научитесь создавать на нем высокопроизводительные серверные приложения;
  • сможете подружить Kotlin и Spring;
  • научитесь использовать KTOR, Kotlin Multiplatform, Kotless;
  • получите помимо языка спектр как классических, так и самых современных интрументов, на которые есть высокий неудовлетворенный спрос на рынке (Cassandra, AWS, ELK-stack и др.)
  • получите сертификат об окончании курса;
  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Программа обучения

1 блок

  1. Базовые конструкции языка
  • Переменные
  • Условия
  • Циклы
  • Функции
  1. Структуры данных
  • Массивы
  • Передача массивов в функцию
  • Многомерные массивы
  1. Объектно-ориентированное программирование
  • Объекты
  • Классы
  • Конструктор
  • наследование, инкапсуляция, полиморфизм;
  1. Android Studio
  • Структура приложения
  • Activity, Content
  • Provider, Broadcast
  • Receiver, Service
  1. Компоненты Android
  • Activity, Content Provider, Broadcast Receiver, Service.
  • Сборка проекта Gradle
  • Разметка экрана, различные типы View и ViewGroupe. LinearLayout. RelativeLayout. FrameLayout
  • Intent, Bundle. Extras

2 блок

  1. Асинхронность
  • Синхронные и асинхронные процессы
  • Handler. AsyncTask
  • Kotlin корутины
  1. RESTfull
  • HTTP, RESTfull
  • Методы GET, POST, PUT, DELETE
  1. Работа с данными
  • Реляционные БД
  • SQL Lite
  • SELECT, DELETE, UPDATE, INSERT
  • JSON/XML
  1. GIT
  • Github
  • основы GIT
  • ветки
  • мержи
  • пуши и пулы
  • Работа с Git через Android Studio
  1. Продвинутые возможности Android
  • Fragment, RecycleView, ConstraintLayout
  • Обработка касаний и множественных касаний, Touch, Multitouch
  • Анимации в android приложении
  1. Доступ к аппартным возможностям
  • Геолокация
  • GPS
  • Ориентация телефона
  • Камера, запись видео, фотография.

По окончании обучения вы получите документ, в котором будут указаны:

  1. стек освоенных технологий;
  2. объем курса в академических часах;
  3. средний балл за весь курс;
  4. количество решенных домашних заданий;
  5. финальный проект.
Стоимость: 22 450 ₽ — 26 990 ₽

Вы научитесь:

  1. Использовать ветвление и циклы
  2. Создавать методы на Kotlin
  3. Применять лямбда-выражения
  4. Работать с массивами и со строками
  5. Разрабатывать классы на Kotlin
  6. Работать с Data-классами
  7. Изучите систему типов Kotlin
  8. Использовать наследование и полиморфизм
  9. Разрабатывать абстрактные классы и интерфейсы
  10. Обрабатывать ошибки, возникающие в программе
  11. Научитесь пользоваться коллекциями
  12. Познакомитесь с функциональным программированием
  13. Использовать в программе параметризованные типы
  14. Получите представление о тестировании кода на Kotlin
  15. Получите представление о паттернах проектирования.

Программа курса:

Модуль 1. Введение в Kotlin (3 ак. ч.)

  • Языковые лексемы
  • Модули, пакеты, файлы и классы
  • Настройка среды
  • Константы, переменные и функции
  • Строки, строковые шаблоны
  • Система типов
  • Допустимость null
  • Совместимость с Java
  • Лабораторная работа: работа со строковыми литералами и шаблонами строк

Модуль 2. Функции, методы и операторы (3 ак. ч.)

  • Создание и вызов функций
  • Именованные аргументы, значения по умолчанию
  • Операторы ветвления
  • when
  • Автоматическое приведение типов
  • Операторы циклов
  • Диапазоны
  • Пары и триплеты
  • Деструктурирование и мультидекларации
  • Встраивание функций
  • Лабораторная работа: циклы и ветвление
  • Лабораторная работа: замена if и switch на when

Модуль 3. Лямбда-выражения (2 ак. ч.)

  • Синтаксис лямбда-выражений
  • Ссылки на методы
  • Функциональные интерфейсы

Модуль 4. Разработка классов (4 ак. ч.)

  • Обзор основных концепций ООП
  • Перечисления
  • Объявление класса
  • Поля, свойства, методы, модификаторы доступа
  • Конструкторы и инициализаторы
  • Data-классы
  • Перегрузка операторов
  • Функции-расширения и свойства-расширения
  • Отложенная инициализация
  • Лабораторная работа: создание классов
  • Лабораторная работа: конструкторы и инициализаторы
  • Лабораторная работа: Data-классы

Модуль 5. Внутренние, вложенные классы (2 ак. ч.)

  • Внутренние классы
  • Вложенные классы
  • Шаблон синглтон
  • Объекты-компаньоны
  • Лабораторная работа: Использование объектов-компаньонов

Модуль 6. Наследование и полиморфизм (4 ак. ч.)

  • Наследование как механизм повторного использования кода
  • Конструктор при наследовании
  • Преобразование типов
  • Виртуальные методы и позднее связывание
  • Абстрактные классы и методы
  • Open, final, sealed
  • Делегирование как альтернатива
  • Лабораторная работа: создание иерархий классов

Модуль 7. Интерфейсы и аннотации (2 ак. ч.)

  • Концепция интерфейсов
  • Объявление интерфейса
  • Методы в интерфейсах
  • Реализация интерфейса
  • Использование и создание аннотаций

Модуль 8. Обработка исключений (2 ак. ч.)

  • Концепция исключений
  • Исключения Kotlin
  • Использование операторов try, catch и finally
  • Идиома try-with-resource
  • Лабораторная работа: работа с исключениями
  • Лабораторная работа: обработка исключений Java кода

Модуль 9. Коллекции (4 ак. ч.)

  • Иерархия классов коллекций
  • Концепция параметризованных типов данных
  • Работа с параметризованными методами и интерфейсами
  • Обзор возможностей коллекций в Kotlin
  • Лабораторная работа: работа с коллекциями

Модуль 10. Функциональное программирование (4 ак. ч.)

  • Функции высшего порядка
  • Работа с коллекциями в функциональном стиле
  • Последовательности
  • Лабораторная работа: функциональное программирование при работе с коллекциями

Модуль 11. Тестирование (2 ак. ч.)

  • JUnit
  • Mockito
  • Лабораторная работа: тестирование методов и классов.
Стоимость: 10 791 ₽ / мес

Что получит студент:

  • Опытного ментора
    Опыт ментора более 9 лет в разработке под Android и 5 лет в преподавании.
  • Реальные проекты
    80% домашних заданий построено на основе задач из реальных проектов.
  • Консультации
    Регулярные созвоны один на один. + Проводим тестовые интервью.

По итогу курса:

  • Научитесь профессионально проектировать приложения для Android.
  • Научитесь успешно проходить собеседования. Не хитростью, а знаниями.
  • Пройдете собеседование и получите работу.

Программа курса

  1. Система контроля версий GIT
    Git — это один из самых важных инструментов программиста, для хранения и управления файлами. С самого началы мы будем использовать Git на практике аналогично тому, как он используется в коммерческой разработке. К тому же, хороший профиль на GitHub, крутой плюс на собеседовании.
  • Основные концепции Git (философия инструмента
  • Основные операции сlone, commit, checkout, pull, merge и push
  • Cтратегии решения конфликтов
  • Ветвления (branch) и слияния (merge)
  • Файл .gitignore и Pull/Push/Merge request и концепция code review
  • Сторонние программы управления GIT
  • Командная работа.
  1. Java
    Изучим основные концепции языка Java и научимся уверенно писать программный код. Каждую тему закрепим домашним заданием, а в конце проверим знания на тестовом собеседовании.
  • Типы данных и операторы управления
  • Циклы и массивы
  • Класс, объект, методы (функции) и управление ими
  • Статические и динамические элементы
  • Объектно-ориентированнное программирование (ООП)
  • Наследование и абстракция
  • Модификаторы доступа и инкапсуляция
  • Абстрактные классы и интерфейсы. Полиморфизм
  • Лямбда выражения
  • Коллекции и мапы
  • Лучшие практики конструирования приложений
  • Тестовое собеседование на знание основ Java.
  1. Алгоритмы
    Знание алгоритмов — это основа основ программирования и нереальный плюс на собеседовании. Цель этого раздела научиться писать рациональный и хорошо структурированный код.
  • Сложность алгоритмов по скорости и по памяти, Аннотация (0)
  • Алгоритмы сортировки данных
  • Базовое понимание «деревьев»
  • Разберем реализацию основных структур данных
  • Детально разберем самые популярные алгоритмы
  • Научимся решать самые популярные задачи с собеседований
  • Тестовое собеседование на знание алгоритмов.
  1. Углубленное изучение Java
  • Детальное изучение типа String
  • Работа с датами
  • Сложные манипуляции с абстрактным классом и интерфейсом
  • Исключения
  • Чтение и запись файлов. Работа со потоками данных
  • Stream API
  • Работа с интернетом, понятие HTTP
  • Регулярные выражения
  • Reflaction API
  • Многопоточность
  • Типизированные методы и классы
  • Сборщик мусора и утилизация объектов. Типы ссылок
  • Базовые паттерны проектирования
  • Архитектура приложения
  • Тестовое собеседование на знание Java.
  1. XML и JSON
  • DOM Parser
  • SAX Parser
  • Json
  • GSON, Jackson и др. сторонние парсеры
  • Получение XML и JSON данных с сервера.
  1. Kotlin
  • Основные концепции Koltin
  • Классы, объекты, интерфейсы и ООП. Лямбды
  • Коллекции, последовательности и функциональное программирование
  • JvmField, JvmStatic и другие аннотации. Миграция из Java
  • Generics — обобщенное программирование
  • Coroutines и многопоточное программирование
  • Тестовое собеседование на знание Java и Kotlin.
  1. REST сервер на Kotlin
    Изучим REST, базы данных и напишем 2 приложения: клиентское и серверное.
  • Протоколы передачи данных TCP/UDP/IP/HTTP
  • Различия протоколов, области применения, принципы работы
  • DNS и как работают соединения в интернете
  • Архитектура REST
  • Фреймворк Ktor
  • Базовые навыки языка HTML
  • Базовые навыки в базах данных и языка SQL
  • Арихитектура клиент серверных приложений
  • Разработка серверного приложения на Kotlin (Back-end)
  • Разработка клиентского приложения на Kotlin (Front-end).
  1. Android
    Научимся писать приложения под Android и работать с основными компонентами платформы.
  • Экосистема Android (файловая структура, компоненты, принципы)
  • Построение интерфейса
  • Ресурсы приложения
  • Собственные View (реализуем минимум 3 собсвенных интерфейсных элемента)
  • Конструирование списочных данных
  • Конфигурирование приложения
  • Диалоговые окна
  • Сервисы и отложенные задачи
  • Разработаем собственное многоэкранное приложение
  • Unit тестирование
  • REST в Android
  • Разработаем собственное клиент серверное Android приложение
  • Тестовое собеседование на знание Android.
  1. Архитектура Android приложений
  • Композиция и SOLID
  • Подход Clean architecture
  • Паттерны MVP и MVVM
  • Dependency injection
  • Dagger 2
  • Koin
  • Паттерн Repository
  • Паттерны Facade, Proxy, Adapter, Singlton и другие
  • Тестовое собеседование на знание паттернов.
  1. Углубленное изучение Android
  • ReactiveX
  • Применение Coroutines
  • Базы данных (SQL helper, ROOM, Realm и другие)
  • Карты и местоположение (Google maps, Yandex map)
  • Внедрение рекламы в приложение
  • Покупки внутри приложений
  • Безопасность и шифрование
  • Публикация приложений в Google Play
  • Итоговый проект и тестовое собеседование на знание Android.
  1. Soft skill
    Ваш успех во многом зависит от того, как вы говорите и ведете себя в коллективе. Данный раздел бесплатный и изучается самостоятельно после прохождения всего курса.
  • Паттерны, как правильно делать замечания коллеге
  • Cитуационное руководство и лидерство
  • Командная работа и как быть заметным/ой
  • Ведение совещаний
  • Проработка авторитета
  • Тренировка речи.

Данный видео курс состоит из 12-ти последовательных уроков, на которых учащиеся смогут познакомиться с достаточно молодым и перспективным языком программирования Kotlin, который работает поверх виртуальной машины Java (JVM) и часто используется в разработке мобильных и веб-приложений.

Программа обучения рассчитана как на новичков в программировании, так и на тех, кто владеет языком Java.

После прохождения курса вы сможете использовать Kotlin в создании проектов различной сложности.

Чему вы научитесь с помощью данного видео курса:

  • Применять циклы и условные конструкции
  • Работать с функциями и массивами
  • Понимать основы ООП и функционального программирования, а также применять эти знания на практике
  • Использовать делегаты и обобщения в Kotlin
  • Использовать аннотации и механизм рефлексии
  • Понимать основные концепции многопоточного программирования.

Уроки:

  1. Введение
  2. Синтаксис. Основные типы, система типов, базовые типы
  3. Циклы и условные конструкции
  4. Функции
  5. Массивы в Kotlin
  6. Классы
  7. Команды
  8. Делегаты
  9. Обобщения
  10. Исключения в Kotlin
  11. Аннотации
  12. Многопоточность.

В ходе курса вы изучите язык программирования Котлин (Kotlin) с нуля, а также научитесь использовать его для построения Андроид программ. Вы обучитесь всем ключевым моментам работы с Kotlin и сможете выполнить легкий переход от Java к Kotlin.

В конце курса мы также разработаем небольшую программу в Android Studio. Программа будет создана на основе языка Kotlin. Таким образом вы не только изучите сам язык программирования, но также научитесь применять его на практике для построения Андроид программ.

  • Введение в Kotlin и установка
  • Переменные и типы данных в Kotlin
  • Условные операторы (if else, when)
  • Использование функций
  • Массивы данных (Array, List, Map)
  • Параметры в функциях и циклы
  • Создание классов и объектов (ООП)
  • Абстрактные классы и интерфейсы
  • Наследование классов и перечисление
  • Классы данных, изолированные классы
  • Kotlin Android Studio. Создание калькулятора
  • Создание погодного Андроид приложения на Kotlin.
Стоимость: нет информации

«Котлин — это мощный язык, который подходит для преподавания широкого спектра курсов компьютерных наук.

Присоединяйтесь к сообществу педагогов: подпишитесь на нашу рассылку новостей или присоединяйтесь к нашему каналу.»

Стоимость: нет информации

Учитесь программировать на практике
Выйдите за рамки лекционных материалов — учитесь, программируя. Выберите проект и продвигайтесь по учебному плану, который охватывает все необходимые темы и понятия. Пробуйте сразу же применять полученные знания в разработке реальных приложений.

Узнайте, как темы связаны между собой
Открывайте новые темы и проекты по мере прохождения курса. Используйте карту знаний, чтобы перемещаться между разделами и следить за своими достижениями.

Учитесь в своей IDE
Во время обучения вы сможете освоить лучшие профессиональные инструменты. Ведь вы будете работать над проектами в IDE от JetBrains.

Курс Kotlin Koans — это серия специально подобранных упражнений для знакомства с синтаксисом Kotlin.

Стоимость: нет информации

Курс посвящен изучению языка программирования Kotlin, передовому языку для проектирования различного рода приложений. Разработчики Android используют Kotlin и называют его выразительным, а разработку с ним – приятной.

Цель курса – сформировать у слушателей представление о современном и набирающем популярность языке программирования Kotlin, разработанном компанией JetBrains.

После прохождения курса, слушатели смогут уверенно программировать на Kotlin, ориентируясь в синтаксисе и конструкции языка. Кроме того, они узнают о базовых основах языка, поработают с классами и объектами, познакомятся с функциональным программированием, а также получат возможность узнать о практическом использовании языка Kotlin на примере приложения для Android.

Программа курса

В курсе рассматриваются следующие темы:

  1. Введение в Kotlin
    Введение в курс. Преимущества языка Kotlin. Установка IntelliJ IDEA. Первый проект на Kotlin. Практика
  2. Основы языка Kotlin
    Стилистика кода. Переменные. Условные операторы. Операторы перехода. Практика
  3. Классы и объекты
    Классы и наследование. Свойства и поля. Интерфейсы. Модификаторы доступа. Функции extensions. Практика
  4. Классы и объекты (продолжение)
    Классы данных.   Перечисления enum.  Анонимные объекты.
    Делегирование класса и свойства. Практика
  5. Функции и лямбды
    Свойства функции. Высокоуровневые функции и лямбды. inline и noinline функции. Как работают сопрограммы? Практика
  6. Практическое использование Kotlin в Android-разработке
    Первый проект в Android Studio. Редактирование файла layout. Обращение к элементам через код. Разница написания кода между Java и Kotlin. Выводы по курсу
  7. Введение в Android разработку
    Первый проект Hello   Структура Android проекта. Знакомство с Activity и Intent. Интерфейс Android Studio. Практика
  8. Элементы View
    Структура Layout файла. Density-Independent Pixels (dp). Атрибуты View элементов. Создание разметки с помощью кода. Практика.

Результаты обучения:

  • Знания на уровне представлений алгоритмов, методов и средств обработки информации, применяемых при анализе научно-технической информации, отечественного и зарубежного опыта по тематике исследования (РО-1.1)
  • Знания на уровне представлений основ объектно-ориентированного программирования, синтаксиса языка программирования Java и Kotlin (РО-1.2)
  • Знания на уровне воспроизведения инструментальных средств разработки, доступных у платформы IntelliJ IDEA (РО-2.1)
  • Знания на уровне воспроизведения назначений и основных свойств стандартных элементов IntelliJ IDEA (РО-2.2)
  • Умение собирать эмпирический материал, опираясь на современные источники, осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования (РО-3.1)
  • Умение осуществлять подготовку данных для реализации работы над приложением (РО-3.2)
  • Умения реализовывать базовые алгоритмические конструкции на языках программирования Kotlin и Java (РО-4.1)
  • Владение навыками самостоятельного проведения библиографической работы с привлечением современных электронных технологий (РО-5.1)
  • Владение навыками работы с интегрированной средой разработки, которая позволяет реализовывать разработку проекта (РО-5.2).
Стоимость: нет информации

Примерный список тем:

  1. Кратко о JVM, переменные и функции в Kotlin
  2. Классы, работа с null-значениями
  3. Коллекции, Лямбда-выражения, Работа с файлами
  4. Интерфейсы, Обобщения (Generics)
  5. Функции-расширения, Операторы, Аннотации
  6. Ввод/вывод
  7. Загрузка классов. Зависимости. Совместимость.
  8. Кратко о базах данных
  9. Многопоточность
  10. Coroutines
  11. Делегация, inline, контракты, Kotlin Multiplatform

Для получения зачета будет необходимо выполнить набор домашних заданий. Также периодически в начале занятий будут проходить летучки, для проверки понимания материала предыдущих лекций.

Знание языка программирования Java является пререквизитом, если вы хотите получить максимум пользы для себя.

Стоимость: нет информации

Цель освоения дисциплины:
Познакомить слушателей с новым языком программирования Kotlin, который не рассматривается в рамках основных образовательных программ.

Планируемые результаты обучения

  • Уметь использовать основные управляющие конструкции языка: циклы, ветвления и др. Уметь использовать среду разработки IntelliJ IDEA для создания простого приложения на Kotlin.
  • Знать устройство системы типов языка Kotlin и представлять устройство системы типов языка Java. Понимать значение термина «null-безопасность». Уметь использовать приведения типов, проверки типов.
  • Уметь работать с массивами и основными коллекциями (списки, множества, словари) в языке Kotlin.
  • Уметь работать с диапазонами в Kotlin.
  • Понимать устройство строк в Kotlin. Уметь работать со строками.
  • Уметь перегружать стандартные операторы в языке Kotlin.
  • Знать и уметь использовать операторы проверки и приведения типов.
  • Знать предназначение элвис-оператора, оператора безусловного вызова. Уметь их использовать.
  • Понимать основные особенности объектно-ориентированной парадигмы программирования.
  • Уметь объявлять и использовать классы, интерфейсы. Знать отличия классов и интерфейсов, а также их предназначение в языке.
  • Уметь объявлять методы, поля, свойства (в т.ч. делегируемые).
  • Знать предназначение и особенности использования внутренних и вложенных классов.
  • Понимать отличия классов и объектов.
  • Уметь использовать функции расширения.
  • Понимать особенности функциональной парадигмы программирования.
  • Владеть возможностями языка Kotlin для программирования в функциональном стиле.
  • Уметь использовать лямбда-выражения.
  • Уметь использовать функции высших порядков.
  • Владеть возможностями работы с обобщенными функциями и классами в языке Kotlin.
  • Знать понятие вариантности. Понимать его предназначение.
  • Знать основы устройства модели памяти Java.
  • Уметь работать с потоками и сопрограммы в языке Kotlin.

Содержание учебной дисциплины

  1. Базовый синтаксис языка. Основные управляющие конструкции.
    Рассматривается базовый синтаксис языка, ключевые слова, встроенные операторы, основные конструкции потока управления: условные конструкции, циклы. На практике изучаются основы использования среды разработки IntelliJ IDEA при программировании с использованием языка Kotlin. Ввод кода, подсветка кода, удобные вспомогательные функции: автодополнение и другие, поиск. Работа с проектами. Обработка исключений в языке Kotlin.
  2. Система типов.
    Рассматриваются особенности системы типов языка Kotlin. Правила приведения (преобразования) типов. Вывод типов в языке Kotlin. Типобезопасность языка Kotlin. Возможности работы с небезопасными типами. Связь с системой типов Java. Особенности использования Java-кода в проектах на Kotlin. Функции расширения.
  3. Коллекции.
    Массивы. Коллекции. Диапазоны. Работа с Java-коллекциями. Немного о строках.
  4. Операторы.
    Операторы. Перегрузка операторов. Операторы проверки и приведения типов. Элвис-оператор.
  5. Объектно-ориентированное программирование с использованием языка Kotlin.
    Классы, интерфейсы. Методы, поля, свойства (в т.ч. делегируемые). Вложенные классы. Модификаторы доступа. Наследование. Реализация интерфейсов. Конструкторы классов. Расширения. Объекты, объекты-компаньоны. Особенности ООП кратко.
  6. Функциональное программирование с использованием языка Kotlin.
    Функции в языке Kotlin. Методы. Передача параметров. Лямбда-выражения. Использование лямбда-выражений при работе с коллекциями. Функции высших порядков. Встроенные функции. Особенности функционального стиля кратко.
  7. Инструменты обобщенного программирования в языке.
    Работа с обобщениями в языке Kotlin. Обобщенные типы. Обобщенные функции. Вариантность. Проекции типов.
  8. Разработка параллельного и асинхронного кода с использованием Kotlin.
    Модель памяти Java. Понятия параллельного и асинхронного кода. Потоки. Сопрограммы.
Стоимость: разная стоимость
  1. Ринат Сулейманов
  • Kotlin
  • Git
  • Java
  • Gradle
  • DevOps
  • AWS
  • Бэкенд
  • Spring
  • Spring Boot
  • Maven
  • TeamCity
  • Spring Framework
  • CI/CD
  • GitHub
  1. Алексей Гладков
  • Kotlin
  • Мобильная разработка
  • Android
  • iOS
  1. Максым Атыгаев
  • Kotlin
  • PostgreSQL
  • Ubuntu
  • Java
  • Docker
  • Бэкенд
  • Spring
  • Spring Boot
  • Spring Framework
  1. Александра Пшеборовская
  • Kotlin
  • Java
  • REST API
  • Тестирование
  • Управление командой
  • Структуры данных
  • Selenium
  • Автоматизация тестирования
  • Тест-кейсы
  • Процессы разработки и тестирования
  • Прохождение собеседований
  • Алгоритмы
  • Selenide
  • REST-assured
  • Функциональное тестирование
  1. Алексей Карасавов
  • Kotlin
  • Функциональное программирование
  • Java
  • REST API
  • Network
  • Microservices
  • Architecture
  • Структуры данных
  • Scala
  • Алгоритмы
  • Go
  1. Дмитрий Варыгин
  • Kotlin
  • Базы данных
  • Функциональное программирование
  • Java
  • Бэкенд
  • Scala
  1. Евгений Аверкин
  • Kotlin
  • SQL
  • Java
  • Spring Boot
  • Hibernate
  • MySQL
  • Spring Framework
  • Oracle
  • Kafka
  1. Илья Серков
  • Kotlin
  • JavaScript
  • PostgreSQL
  • SQL
  • Java
  • REST API
  • DevOps
  • AWS
  • Бэкенд
  • Elasticsearch
  • Spring
  • Управление командой
  • Spring Boot
  • Процессы разработки и тестирования
  • Redis
  1. Алексей Зыков
  • Kotlin
  • Мобильная разработка
  • Android
  • AR
  • Бэкенд
  • Computer Vision
  • iOS
  • Swift
  • In App Purchases.
  1. Максим Кочетков
  • Kotlin
  • Java
  • Gradle
  • Тестирование
  • DevOps
  • Docker
  • Selenium
  • Автоматизация тестирования
  • Groovy
  • Jenkins
  • Прохождение собеседований
  • GitlabCI
  • Unit Tests
  • Selenide
  • Cucumber
  • GitHub
  • Kubernetes
  • Helm.
Стоимость: бесплатно

Уроки по изучению языка программирования Kotlin. Основы синтаксиса, объявление переменных и констант, типы данных и функции. Правила именования переменных в Kotlin.

  1. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Тип null в Kotlin — Как правильно работать с типом null
    У всех переменных и констант, с которыми мы работали до сих пор, были конкретные значения. У переменной типа string, вроде var name, есть строковое значение, которое с ней ассоциируется. К примеру, «Joe Howard». Это может быть и пустая строка вроде…
  2. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Функции в Kotlin для начинающих
    Функции являются основой многих языков программирования. Проще говоря, функция позволяет определить блок кода, который выполняет определенную задачу. Затем, если приложению требуется выполнить данную задачу, можно вызвать функцию вместо того, чтобы копировать и вставлять везде одинаковый код. Содержание статьи Создание новой
  3. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Продвинутый порядок выполнения кода в Kotlin
    В предыдущих уроках вы узнали, как управлять порядком выполнения кода в Kotlin, используя if выражения и цикл while. В следующих уроках мы продолжим изучения порядка выполнения и рассмотрим особенности цикла for.
  4. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Выражения when в Kotlin
    Управлять порядком выполнения программы можно с помощью выражения when, которое выполняет разный код в зависимости от значения переменной или константы.
  5. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Цикл for в Kotlin
    В одном из предыдущих уроков мы уже рассмотрели циклы while. Мы также изучили интервалы. Пришло время взглянуть на особенности цикла for в Kotlin. Вероятно, это самый распространенный вид циклов. Вы будете использовать его довольно часто.
  6. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Интервалы в Kotlin
    Перед разбором цикла for нам обязательно нужно изучить интервалы, которые представляют собой последовательность целых чисел. Взглянем на два вида интервалов. Первым типом является закрытый интервал, который записывается следующим образом:
  7. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Базовый порядок выполнения в Kotlin
    При написании компьютерной программы, разработчик указывает компьютеру, что делать в различных сценариях. К примеру, приложение для калькулятора совершает одно действие при нажатии на кнопку «плюс», и совсем другое при нажатии на кнопку «минус».
  8. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Цикл while в Kotlin
    Циклы являются способом многократного выполнения кода в Kotlin. В этом уроке мы познакомимся с одним из типов циклов, а именно — циклом while. Содержание статьи Цикл while в Kotlin Цикл do-while в Kotlin Прерывание цикла с помощью break в Kotlin
  9. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Выражение if else в Kotlin
    Наиболее распространенным способом управления порядком выполнения программы является использование выражения if, которое указывает программе на выполнение определенного действия при определенном условии. Содержание статьи Использование выражения if в Kotlin Замыкание в Kotlin Инкапсуляция переменных в Kotlin Задания для проверки Использование выражения
  10. КУРС ИЗУЧЕНИЯ KOTLIN ДЛЯ НАЧИНАЮЩИХ
    Boolean и операторы сравнения в Kotlin
    Мы уже познакомились с несколькими типами данных, такими как Int, Double и String. В данном уроке будет рассмотрен тип данных, который используется с операторами сравнения.
Стоимость: бесплатно

Руководство по языку Kotlin

Глава 1. Введение в язык Kotlin

  • Что такое Kotlin. Первая программа
  • Первая программа в IntelliJ IDEA

Глава 2. Основы языка Kotlin

  • Структура программы
  • Переменные
  • Типы данных
  • Консольный ввод и вывод
  • Операции с числами
  • Условные выражения
  • Условные конструкции
  • Циклы
  • Последовательности
  • Массивы

Глава 3. Функциональное программирование

  • Функции и их параметры
  • Переменное количество параметров. Vararg
  • Возвращение результата. Оператор return
  • Однострочные и локальные функции
  • Перегрузка функций
  • Тип функции
  • Функции высокого порядка
  • Анонимные функции
  • Лямбда-выражения

Глава 4. Объектно-ориентированное программирование

  • Классы и объекты
  • Конструкторы
  • Пакеты и импорт
  • Наследование
  • Модификаторы видимости
  • Геттеры и сеттеры
  • Переопределение методов и свойств
  • Абстрактные классы и методы
  • Интерфейсы
  • Вложенные классы и интерфейсы
  • Data-классы
  • Перечисления enums
  • Делегирование
  • Анонимные классы и объекты

Глава 5. Обобщения

  • Обобщенные классы и функции
  • Ограничения обобщений
  • Вариантность, ковариантность и контравариантность

Глава 6. Дополнительные возможности ООП

  • Обработка исключений
  • Null и nullable-типы
  • Делегированные свойства
  • Преобразование типов
  • Функции расщирения
  • Инфиксная нотация

Глава 7. Коллекции

  • Изменяемые и неизменяемые коллекции
  • List
  • Set
  • Map

Глава 8. Корутины

  • Введение в корутины
  • Область корутины
  • launch и Job
  • Async, await и Deferred
  • Диспетчер корутины
  • Отмена выполнения корутин
  • Каналы

Глава 9. Асинхронные потоки

  • Введение в асинхронные потоки
  • Создание асинхронного потока
  • Операции с потоками
  • Функции count, take и Количество элементов в потоке
  • Функции first, last, single
  • Преобразование данных. Функции map и transform
  • Фильтрация данных
  • Сведение данных. Функции reduce и fold
  • Объединение потоков.
Стоимость: бесплатно

Kotlin — это современный статически типизированный язык программирования для JVM, Android и браузера. Он лаконичен, безопасен и универсален. Код Kotlin может быть скомпилирован в байт-код JVM, JavaScript или непосредственно в собственный машинный код.

Программа курса:

  1. Вступление
  • Привет, мир!
  • Преобразование Java в Kotlin
  • Именованные аргументы
  • Аргументы по умолчанию
  • Лямбды
  • Строки
  • Классы данных
  • Типы, допускающие обнуление
  • Умные броски
  • Функции расширения
  • Выражения объектов
  • Конверсии СЭМА
  • Функции расширения для коллекций.
  1. Конвенции
  • Сравнение
  • В пределах досягаемости
  • Диапазон до
  • Для цикла
  • Перегрузка операторов
  • Объявления о разрушении
  • Взывать
  1. Коллекции
  • Вступление
  • Фильтр; карта
  • Все, Любые и другие предикаты
  • Плоская карта
  • Макс; мин
  • Сортировать
  • Сумма
  • Сгруппировать По
  • Раздел
  • Складывать
  • Сложные задачи
  • Привыкайте к новому стилю.
  1. Свойства
  • Свойства
  • Ленивая собственность
  • Пример делегатов
  • Делегаты.
  1. Строители
  • Литералы функций расширения
  • Строители строк и карт
  • Функция применяется
  • Конструктор Html
  • Строители: как это работает.
  1. Дженерики
  • Общие функции.
Стоимость: бесплатно

Kotlin — это следующий этап развития Java. В последнее время популярность Kotlin растет с огромной скоростью. Изучите все, что нужно, чтобы перейти с Java на более современный, удобный и классный язык — Kotlin.

После прохождения обучения по курсу Kotlin, все, что вы до этого писали на Java, вы сможете написать на Kotlin.

Чему Вы научитесь:

  • Основы языка Kotlin
  • Переменные, нулабельные типы, условные операторы, циклы и др.
  • Методы и Лямбда-выражения
  • Extension-функции
  • Особенности ООП на Kotlin
  • Null-safety
  • Функциональное программирование
  • Написание программ в Kotlin-стиле
  • Data-классы
  • Коллекции на Kotlin
  • Практическое применение Kotlin в Android-разработке.

Программа:

  1. ВВЕДЕНИЕ
    • О курсе Kotlin — Быстрый старт! Чему вы научитесь
    • Первая программа на Kotlin
  2. ОСНОВНОЙ СИНТАКСИС KOTLIN
  • Переменные
  • Тестирование
  • Nullable types (нулабельные типы)
  • Условный оператор if
  • Тестирование
  • Условный оператор when
  • Введение в коллекции
  • Тестирование
  • Циклы
  • Введение в функции
  • Дефолтные и именованные параметры
  • Исключения
  • Тестирование.
  1. ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ
  • Анонимные методы или лямбда-выражения
  • Функции высшего порядка filter и map
  • Бесконечные последовательности
  • Функция ZIP
  • Функция FlatMap
  • Контрольная работа по коллекциям
  • Функции with и let
  • Создание функций высшего порядка
  • Extension-функции
  1. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ. ООП
  • Введение в ООП
  • Конструкторы
  • Методы
  • Equals
  • HashCode
  • Data class
  • Enum-class
  • Наследование
  • Абстрактные классы, интерфейсы и Smart Cast
  • Анонимные классы
  • Оптимизируем код
  • Модификаторы доступа
  • Companion Object
  • SingleTon
  • Generic
  • Generic functions. Lateinit var
  • Тестирование
  1. ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ KOTLIN В ANDROID-РАЗРАБОТКЕ
  • Первое приложение на Kotlin
  • Обзор второго приложения на Kotlin
  • Добавляем зависимости для приложения
  • Добавляем POJO объекты
  • Получаем данные из сети
  • Создание локального хранилища
  • Добавляем и настраиваем ViewModel
  • Дорабатываем ViewModel
  • Создаем первые макеты
  • Адаптер и первый экран
  • Экран с детальной информацией
  • Итоги

ЗАВЕРШЕНИЕ КУРСА — ПОЛУЧЕНИЕ СЕРТИФИКАТА.

Стоимость: бесплатно

Уроки:

  1. Введение
  2. String Templates
  3. Переменные var vs. val
  4. Типы данных Kotlin
  5. Функции
  6. NPE и Null Safety
  7. Работа с классами и их свойствами
  8. Пакеты — Импорт методов и классов
  9. Enum — Перечесления и их роль
  10. When — Оператор выбора.
Стоимость: бесплатно

Курс предназначен начинающим программистам. Людям, уже знающим несколько языков программирования, можно смело пропустить (вернее, проглядеть вскользь) его первую половину (модули 1-3). Предполагается наличие знаний по математике (в рамках курса средней школы) и общее знакомство с компьютером и хотя бы одной операционной системой.

В рамках этого модуля вы познакомитесь со следующими аспектами языка Котлин:

  • Базовые типы данных: целый, вещественный, логический, символьный, строковый
  • Структуры данных: списки, массивы, ассоциативные массивы, множества
  • Объявление и использование функций и переменных
  • Основные операторы: if, when, for, while, do/while, try/catch
  • Использование рекурсии
  • Текстовый ввод-вывод
  • Простейшие файловые операции
  • Исключения и обработка ошибок
  • Элементы функционального программирования: функции высших порядков, лямбды.

После прохождения этого курса вы будете иметь достаточно знаний для того, чтобы решать с помощью языка Котлин простые и практически полезные задачи; кроме того, данный курс подготовит вас к дальнейшему изучению интересного мира программирования.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 76

Оценок пока нет. Поставьте оценку первым.

Автор статьи. Ответственный за актуальный контент, текст и редактуру сайта. Эксперт по выбору профессии, курсов и профессий с 2016 года. Делюсь личным практическим опытом.

Оцените автора
Блог Романа Семенцова
Добавить комментарий