Kotlin язык разработки под Android



Реп: (32)
Kotlin язык разработки под Android

Обсуждения языка Kotlin и обмена полезными ссылками.
Так же можно задавать любые вопросы по языку.

Новости и события (будут переодически обновляться):

Книги:

Ресурсы:

Новости и Подкасты:

Видео с Youtube:


P.S. @Zyomich дал согласие на создание темы

Сообщение отредактировал derak1129 - 28.12.19, 05:18
Причина редактирования: Правила раздела "Android - Разработка и программирование" п. 3.4



Реп: (52)
kaerus @ 01.11.2016, 21:08 *
P.S. @Zyomich дал согласине на создание темы

Заранее сорян, если кого обижу постом.

Вот и зря, что разрешил.

Был как-то в этом году яндексе на конфе.
Никто из тех(в основном это были программеры из яндекса из питерского офиса), кто пропагандировал начать использование этого недоразумения,
внятно не смог объяснить, задающим этот вопрос из зала, в чем же его преимущества перед java и зачем же его начинать использование.

Конвертации проектов Kotlin -> Java нет(на тот момент), только из Java -> Kotlin.
По ощущениям, язык просто надстройка над java, которую решили написать, т.к. в java создатели Kotlin внезапно нашли "фатальный недостаток".

Может топикстартер доступно объяснит, в чем же преимущества перехода с java на Kotlin?



Реп: (475)
dima_koz @ 02.11.2016, 02:47 *
в чем же преимущества перехода с java на Kotlin?

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

Вообще, ваши инсинуации несколько странны, не думаю, что в самом деле прям так никто не мог сказать , зачем этот язык.

К слову, насчет недоразумения вы тоже как то погорячились, язык изначально разрабатывался для внутренних нужд Jet Brains (на нем написаны все их продукты, включая IDEA) - я вот прямо сейчас так и представляю себе - сидят на брифинге и такие: слишком просто код писать стало, нужно придумать какое-то недоразумение и писать на нем, да еще так придумать , чтоб никто объяснить не мог, зачем это надо, но пользовались все больше и больше. :rofl:

Я вообще пробовал на нем писать, очень даже быстро привыкаешь к "маленьким радостям".. в итоге оставил только из за null safety - весь код усеян этими вопросами, меня это почему то раздражает. В целом впечатление довольно положительное.

Насчет надстройки, тогда все JVM-based языки в той или иной степени надстройки друг над другом ..

Немного добавлю ресурсов:

Antonio Leiva активно продвигает этот язык, даже книгу написал.
Раздел Kotlin на Java Help
Раздел Kotlin и раздел Android Kotlin на Devcolibri

Сообщение отредактировал pavlofff - 02.11.16, 07:18



Реп: (52)
pavlofff @ 02.11.2016, 06:59 *
К слову, насчет недоразумения вы тоже как то погорячились, язык изначально разрабатывался для внутренних нужд Jet Brains (на нем написаны все их продукты, включая IDEA) - я вот прямо сейчас так и представляю себе - сидят на брифинге и такие: слишком просто код писать стало, нужно придумать какое-то недоразумение и писать на нем, да еще так придумать , чтоб никто объяснить не мог, зачем это надо, но пользовались все больше и больше.

На счет IDEA, скорее всего не совсем так и вы преувеличиваете, особенно во фразе
написаны все продукты
. Это звучит, как будто собрались люди, написали котлин, и такой успешный язык оказался, что написали они на нем все.

А вот что пишут в самом Jet Brains в описании вакансии программиста для разработки IntelliJ IDEA.
пруф
Как устроено внутри:
Большая часть исходного кода написана на Java. Пока что используется Java 6 (из-за трудностей с последующими версиями Java на MacOS), но переход на Java 8 уже начинается. Есть части, написанные на Groovy и Kotlin, сейчас в основном это тестирующий код. Несколько небольших утилит, тесно взаимодействующих с операционной системой, написаны на C++ (например, утилита, которая следит за изменениями файлов на диске и сообщает о них IDE).


pavlofff @ 02.11.2016, 06:59 *
Я вообще пробовал на нем писать, очень даже быстро привыкаешь к "маленьким радостям".. в итоге оставил...

Ну вот сами же не стали пользоваться, а продвигаете.



Реп: (32)
dima_koz @ 01.11.2016, 23:47 *
Конвертации проектов Kotlin -> Java нет(на тот момент)

Хм, это что-то уровня "конвертер Scala/Groovy/Clojure -> Java" - это просто не имеет смысла.
Идиоматичный (а НЕ java style) код на "совместимых" языка часто содержит непереводимые конструкции.

dima_koz @ 01.11.2016, 23:47 *
в чем же преимущества перехода с java на Kotlin?

Не хочется скатываться в холивар, ведь уже много раз это объясняли.
Вот Илья из JB рассказывает: https://www.youtube.com/watch?v=DQqOCx2UJ10 и https://www.youtube.com/watch?v=FftQuCe626A
или Jake Wharton (тоже большой фанат Kotlin): https://www.youtube.com/watch?v=A2LukgT2mKc

Лично для меня это null safety + DSL + async/await + extension function (тот же Stream-like апи в Kotlin)

P.S. Если у кого есть конкретные вопросы по применению Kotlin в Android - с удовольствием отвечу ;)



Реп: (3)
А есть ли примеры написания на Kotlin под Android на русском языке ?



Реп: (475)
Да, есть, в основном отдельные статьи правда.

На Java Help есть серия статей, которая постоянно дополняется и на devcolibry разделы есть, все впрочем указано с сылками в постах выше.

Сообщение отредактировал pavlofff - 16.01.17, 16:05



Реп: (3)
Да, я сейчас читаю статьи на Хабре. Очень заинтересовала эта тема. Хотелось бы по ближе познакомиться с языком.



Реп: (32)
Прикрепленное изображение


Господа, поздравляю с официальной поддержкой на Android.

Анонс с Google IO 2017: https://youtu.be/iZBWVwoJaJs?t=56m36s

Сообщение отредактировал vaalf - 21.02.18, 21:12
Причина редактирования: Картинки под спойлер, правила раздела



Реп: (475)
Стоит уточнить, что поддержка с Android Studio 3.0, которая сейчас в статусе, практически альфы, так что придется подождать, но новость, действительно, хорошая.

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

Сообщение отредактировал pavlofff - 18.05.17, 13:27



Реп: (475)
На официальном ресурсе разработчиков Android появился раздел Kotlin. Пока очень скромно ..



Реп: (168)
Интересно, появится ли компилятор kotlin под андроид



Реп: (1607)
sacha_zaharov @ 07.06.17, 19:32 *
Интересно, появится ли компилятор kotlin под андроид

Да он как бы давно уже существует



Реп: (19)
Я вот тоже не пойму этой эйфории насчёт Котлина.

Все заучили про этот "синтаксический сахар", что начинает набивать оскомину.

Четыре года учил Яву, сейчас изучаю Свифт. Когда я увидел котлиновский " рафинад", то меня стали терзать смутные сомнения, не к Свифту ли тянут Яву. Ну очень похоже. Но я ещё новичок, может я неверно вижу.

И да, учить и кодить в двух языках параллельно сложно - все время соль и перец из одного языка пытаешься впрыснуть в другой. Некомфортно.



Реп: (32)
rommex73 @ 14.06.17, 18:55 *
Все заучили про этот "синтаксический сахар", что начинает набивать оскомину.

В самом сахаре ничего плохого нет, это важно если 24/7 программируешь на одном языке.
Плюс язык выразительнее и можно делать более высокие абстракции (через inline/extension functions / DSL).
Котлин вообще форсит писать более надежный код (nullable/val/readonly-collections).

rommex73 @ 14.06.17, 18:55 *
Когда я увидел котлиновский " рафинад", то меня стали терзать смутные сомнения, не к Свифту ли тянут Яву

Просто поздно увидел, первый публичный билд котлина был в 2012 (против 2014 свифта).
Другой вопрос, что многие фичи котлина взяты из scala/groovy.

rommex73 @ 14.06.17, 18:55 *
И да, учить и кодить в двух языках параллельно сложно

В отличине от objc/swift, котлин очень похож на java и после нее учится за неделю максимум.
Дальше можешь писать как раньше (только короче), используя теже либы.

Потом при желание можно сменить парадигму и уйти в функ. программирования с case классами и pure functions.



Реп: (118)
kotlinlang.ru там markdown
Как можно собрать все в pdf ?



Реп: (237)
Тут уже спрашивали, повторю:
Какие преимущества у этого нововведения перед java?
Только, пожалуйста, ответьте не беглым списком
kaerus @ 02.11.16, 14:18 *
null safety + DSL + async/await + extension function
а подробнее.
Можно в виде ссылки на статью, где это говорится с примерами.
Ролик на "тытрубе" не подойдёт.



Реп: (475)
ProgramZistor @ 02.08.17, 14:55 *
преимущества у этого нововведения перед java


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

Сообщение отредактировал pavlofff - 02.08.17, 13:04



Реп: (129)
Код на нем лаконичнее. findViewById прописывать явно не надо. Лямбды из коробки, что удобно в обработчиках. Дата-классы в одну строчку, геттеры, сеттеры и переопределенные методы руками прописывать не надо.

When вместо switch в Java очень удобно сделан.

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

Более удобно и менее громоздко.



Реп: (32)
ProgramZistor @ 02.08.17, 10:55 *
Тут уже спрашивали, повторю:
Какие преимущества у этого нововведения перед java?
Только, пожалуйста, ответьте не беглым списком

Где ты был последние два года?... сейчас уже никто не сравнивает java vs kotlin.
А после Google IO и доказывать ничего не надо, это дефакто язык Android (Java осталась для совместимости с легаси).
Учить язык придется, что бы понимать чужой код.

Коммьюнити с IO выросло в разы и на том же medium/habrahabr столько статей, что их уже никто не читает (я уж точно).
Могу тебе оффициальную доку скинуть https://kotlinlang.org…has-that-java-does-not
Остальное гугли по "kotlin vs java on android"

Добавлено 05.08.2017, 18:17:

LeshaRB @ 29.07.17, 01:54 *
kotlinlang.ru там markdown
Как можно собрать все в pdf ?

Вопрос совершенно не связан с языком.
Первые две ссылки в google
https://superuser.com/…ored-markdown-to-a-pdf
https://github.com/travs/markdown-pdf

Так же можно у автора попросить (он есть в kotlin_lang в телеграмме), что бы он сам собирал.

Сообщение отредактировал kaerus - 05.08.17, 18:14



Реп: (0)
Правильно говорите, что Kotlin это будущее Android.

Единственная причина брать Java для Android это если нужно поддерживать существующие приложения.

Я изучал Java ещё в 2010-ом и через три года она мне окончательно надоела и я перешёл в 2013-ом на Scala. Проработав 4 года на Scala сейчас переключился на Kotlin, так как хочу перейти с бекенда на мобильные приложения.

Kotlin спроектирован грамотно Андреем Бреславом. Команда JetBrains действительно постаралась. Они засунули в язык много хорошего функционала из Scala и C#, при этом постарались сделать язык простым. Я думаю у них это получилось. Ребята молодцы.

Так что всем новичкам советую сразу начинать с Kotlin. Основы Java тоже нужно знать, но это придет со временем полюбому.

Добавлено 28.03.2018, 12:27:

Короткое видео что я об этом думаю https://www.youtube.com/watch?v=Xj_6vx6ZrUI&t


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 12:57