Изучите Kotlin онлайн за 25 часов


Курс, знакомящий с Kotlin опытными разработчиками Java с ведущим разработчиком Kotlin в качестве одного из инструкторов, доступен на платформе Coursera. Звучит слишком хорошо, чтобы пропустить. Итак, мы попробовали.

Kotlin для разработчиков Java происходит от JetBrains, откуда появился Kotlin. Его преподает Андрей Бреслав, который руководит проектированием и разработкой языка программирования Kotlin с 2010 года, когда проект стартовал, вместе со Светланой Исаковой, которая помимо работы над языком Kotlin, является соавтором книги «Котлин в действии». и «AtomicKotlin», и, как защитник разработчиков, теперь проводит время, обучая и выступая на конференциях.

Хотя курс рассчитан как пятинедельный, так как он рассчитан на самостоятельное обучение, вы можете выбрать, идти так быстро или медленно, как вам нравится, и пять модулей различаются требуемыми усилиями.

Несмотря на то, что это называется неделей 1, введение, состоящее из четырех видеороликов, в которых Андрей Бреслав объясняет, что такое Kotlin, и излагает его историю, составляет всего 13 минут, но, безусловно, создает впечатление, что Kotlin особенный и мотивирует изучать больше.

С этого момента Светлана Исакова вступает во владение, и акцент вскоре переходит на код.

Неделя 2: Ожидается, что начало работы с Kotlin займет около 4 часов с 17 короткими видеороликами для просмотра. Откроется первый из них:

Начать использовать Kotlin действительно легко, особенно если вы Java-разработчик. Вы можете использовать все существующие фреймворки и библиотеки Java от Kotlin. Вы даже можете смешивать код Kotlin и Java в одном проекте. Kotlin — это язык JVM, поэтому вы можете легко вызывать код Java из Kotlin, но это также работает в другом направлении. Kotlin спроектирован таким образом, что использовать все его функции из Java просто. Это означает, что вы можете сделать переход с Java на Kotlin очень медленным, добавив новые функции к существующему Java-приложению, написанному на Kotlin.

После этого модуль рассматривает введение Kotlin в существующий проект; приводит пример «Hello, world2», а затем переходит к «тонкостям» языка, указывая на контрасты с Java там, где это уместно.

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

Автоматическое преобразование кода Java в Kotlin

Определите переменные и функции

Используйте контрольные структуры

Использовать диапазоны

Объясните, что такое функция расширения в Котлине

Определите и используйте расширения

Каждое из видео включает в себя вопросы викторины с несколькими вариантами ответов, чтобы проверить ваше понимание, и время от времени вы будете попадать на «площадку Kotlin Playground», где вас просят реализовать или изменить функцию, отредактировав предоставленный код и запустив код на посмотреть, работает ли это. Светлана Исакова предлагает решения для каждого из них, хотя они не обязательно уникальны.

Первое задание по программированию приходит в конце 2-й недели и является игрой вдохновителя. Вы решаете задания с помощью плагина JetBrains EduTools для IntelliJ IDEA или Android Studio, и есть учебное пособие, которое покажет вам, как это работает. Чтобы получить доступ к заданиям по программированию, два из которых включены в каждую из последующих недель, вам необходимо приобрести курс (49 долларов США). Решения заданий также доступны только платным ученикам — стипендии доступны студентам, которые не могут позволить себе очень умеренную плату.

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

Неделя 3: Обнуляемость, функциональное программирование

Различать типы, допускающие значение NULL, и типы, не допускающие значения NULL

Используйте разные способы выполнения действия, только если значение типа, допускающего значение NULL, не равно NULL

Предпочитать безопасные операции для значений, допускающих значение NULL

Используйте стиль функционального программирования для управления коллекциями

Используйте типы функций

Выберите правильную форму возвращаемого выражения для возврата из лямбда

Неделя 4: Свойства, ООП, Соглашения

Различают разные типы свойств: без поля поддержки, ленивый, латинин.

Обобщите различия в определении и использовании классов в Java.

Знать различный синтаксис конструкторов

Используйте разные типы классов для правильных ситуаций: перечисление, данные, внутренние, запечатанные.

Используйте аннотации для улучшения взаимодействия с Java

Объясните разницу между выражением объекта и объявлением объекта

Показать преимущества сопутствующих объектов перед статическими методами

Приведите примеры использования соглашений в стандартной библиотеке

Используйте соглашения для своих классов

Неделя 5: Последовательности, лямбды с получателем, типы

Используйте короткую простую функцию из стандартной библиотеки

Объясните, почему простые библиотечные функции не влияют на производительность

Продемонстрируйте, как работает встраивание

Опишите разницу между операциями над коллекциями и операциями над последовательностями.

Преобразование связанного вызова из коллекций в последовательности

Распознавать лямбды с получателем в коде: в стандартной библиотеке и разных DSL

Покажите, в каком смысле лямбды с получателем похожи на расширения

Показать иерархию типов Kotlin

Объясните разницу между типами Unit и Nothing

Распознавать типы платформ: типы, пришедшие из Java

Предотвращение NPE для смешанного кода Kotlin и Java

Это хорошо структурированный курс, и задания по программированию действительно помогут вам освоиться. Мне бы хотелось, чтобы Андрей Бреслав дал больше взгляда на высоком уровне, чтобы добавить больше «вау-фактора». Котлин особенный, но, возможно, если вы работаете с ним достаточно долго, вы просто принимаете это как должное.

Майк Джеймс является автором книги «Руководство программиста по программированию на Kotlin и Android на Kotlin: запуск приложения из библиотеки I Programmer Library», многие выдержки из которой доступны на этом сайте.


Добавить комментарий