Почему Котлин

Мое знакомство с Котлин началось с этого видео на Google IO 17. Уже тогда стало понятно, что имеет смысл, как минимум, обратить на этот язык внимание. А еще лучше - изучить его. Я потратил пару недель на официальные доки и примеры, чтобы усвоить основы. А затем периодически почитывал статьи с medium, чтобы разобраться в более сложных вещах. Спустя полгода я без особых проблем влился в новый проект на Котлине. И вот уже два года я пишу только на нем. 

Гугл официально признал Котлин, использует его для примеров в документации, создает курсы и codelabs по нему, встраивает его поддержку в свои библиотеки и фреймворки. Статьи на medium.com уже практически все с примерами на Котлин. Ну и в вакансиях он встречается все чаще

В общем, как мне кажется, вопрос "Изучать ли Котлин?" уже нет смысла обсуждать.

 

 

 

О чем курс  

Сразу скажу, что курс не для полных новичков. На официальном сайте Котлин есть хорошая документация и инструменты, чтобы изучить и попрактиковать основы. Кроме этого есть куча учебной литературы для начинающих. Поэтому я решил рассматривать только темы, понимание которых может оказаться сложным. Это такие темы, как Coroutines, DSL, Inline functions, Operator overloading, Delegated properties и прочие непростые штуки.

Соответственно, для лучшего понимания курса лучше уже иметь хотя бы небольшой опыт работы с Котлин. Так будет легче понять материал. 

 

Первой темой курса будут корутины. Я планирую рассмотреть следующие вопросы:
- почему suspend функции не блокируют поток
- как создать suspend функцию
- что такое Continuation, Job, Scope, корутина, диспетчер
- что происходит внутри билдеров
- чем билдеры отличаются друг от друга
- как изнутри работает связь между родительской и дочерней корутиной
- как происходит обработка ошибок
- как использовать корутины в Android

По мере написания курса буду обновлять этот список.

 

 

 

 

 

Как получить курс

 

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

 

В первом уроке я объясню, почему в первых уроках будет много теории. И мы начнем разбираться, что такое корутина и suspend функция.

Во втором уроке разберем, что такое Continuation и как suspend функция приостанавливает код, не блокируя поток.

В третьем уроке подробно разберем как создать suspend функции. Также рассмотрим можно ли блокировать поток, как корутина может потеряться и зачем нужно слово suspend.

 

Урок 1. Введение   Урок 2. Continuation   Урок 3. Suspend функции

 

Курс постоянно дополняется. На сегодня он состоит из 10 уроков

 

Полный курс доступен после регистрации на сайте и оплаты. Стоимость курса - 1400 рублей

 

С выходом новых уроков стоимость увеличивается. Но читатели, уже купившие курс, автоматически получат доступ к новым урокам. Поэтому, если тема вам интересна, не откладывайте покупку и получайте все следующие уроки бесплатно. Читателю, купившему хотя бы один курс, предоставляется скидка 20% на все остальные курсы.

Доступ к курсу предоставляется навсегда, включая все последующие уроки или обновления.

Сразу все курсы со скидкой 30% процентов вы можете купить (или докупить) на отдельной странице.

 

 

 
 

При возникновении каких-либо вопросов, используйте форму обратной связи

 

 

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

 
  • Урок 1. Корутины. Введение.

    В этом уроке начнем разбираться, что такое корутина и suspend функция.

  • Урок 2. Корутины. Continuation

    В этом уроке разберем, что такое Continuation и как suspend функция приостанавливает код, не блокируя поток.

  • Урок 3. Корутины. Suspend функции

    В этом уроке подробно разберем как создать suspend функции. Также рассмотрим, можно ли блокировать поток, как корутина может потеряться и зачем нужно слово suspend. 


Урок 4. Корутины. Continuation, возврат значений.
В этом уроке рассмотрим более подробно, как Continuation обрабатывает ответ от suspend функций. А также, как корутина может вернуть какое-либо значение, как результат своей работы.


Урок 5. Корутины. Suspend функции изнутри.
В этом уроке разбираем, как работает suspend функция изнутри. Как она может вернуть значение сразу или после асинхронной работы.


Урок 6. Корутины. Job.
В этом уроке начинаем разбираться, что из себя представляет корутина. Из каких объектов она состоит и что происходит во время ее выполнения.


Урок 7. Корутины. Scope.
В этом уроке рассмотрим, что такое Scope и как создать его самый простой вариант.


Урок 8. Корутины. Отмена.
В этом уроке запускаем и отменяем корутины. Проверяем, как корутины влияют на основной поток.


Урок 9. Корутины. Билдеры launch и async.
В этом уроке рассмотрим билдеры launch и async. Как ведут себя вложенные корутины. Как дождаться окончания работы корутины, и как получить результат этой работы. Как создать отложенную корутину и запустить ее позже. Как распараллеливать задачи с помощью корутин.


Урок 10. Корутины. Context.
В этом уроке разбираемся с Context. Какие его элементы используются по умолчанию. Как создавать свой элемент. Как происходит передача элементов в контекст создаваемой корутины.


Language

Социальные сети

 

Telegram канал



Android чат в Telegram



Группа ВКонтакте



Поддержка проекта

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

Paypal