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

Мое знакомство с Котлин началось с этого видео на 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 функции

 

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

 

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

 

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

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

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

 

 

 
 

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

 

 

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

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

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

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

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

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

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

 

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


Language

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

 

Telegram канал



Android чат в Telegram



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



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

Яндекс
410011180491924

WebMoney
R248743991365
Z551306702056

Paypal