
Alex
26.08.2017
13:55:38
Жаль, пропустил ?

? animufag ?
26.08.2017
14:15:48
http://compsciclub.ru/courses/kotlin/2017-autumn/ случайно заметил

Антон
26.08.2017
14:49:50
Планируется @fly_style
https://www.facebook.com/events/300684303738971/?active_tab=about

Google

Alex
26.08.2017
14:50:32
Супер, спасибо!

Valeriy
26.08.2017
15:46:29
Всем привет! Как выключить переименовывание имени аргумента при компиляции Котлином? Сейчас у меня fun get(id: Long): Single<T> компилируется в Single get(long var1), а мне нужно чтобы имя параметра было id, для Room, в Dao интерфейсе

Vadim
26.08.2017
16:28:16

Valeriy
26.08.2017
16:28:57
Уже разобрался -
apply plugin: 'kotlin-kapt'

Vadim
26.08.2017
16:30:12

Valeriy
26.08.2017
16:31:02

Dmitry
26.08.2017
16:32:28
Кстати, каким плагином смотреть, в какой смали код скомпилировался мой котлин клас?

Sergey
26.08.2017
16:33:17

Dmitry
26.08.2017
16:33:47
Эм, а в идее?

Sergey
26.08.2017
16:34:21
Android Studio. функция называется Profile or Debuh APK

Dmitry
26.08.2017
17:43:36
такого не нашел (может на стабильной ветке этого нет?) вообщем в идее есть Tools → Kotlin → Show Kotlin Bytecode
а для андроида есть плагин java2smali

? animufag ?
26.08.2017
18:17:22
Смали это какой то андроид специфичный байткод?

Михаил
26.08.2017
18:18:57

Google

Quantum Harmonizer
26.08.2017
18:27:35
Он даже бряки в smali-коде умеет ставить — можно отлаживать без исходников.

Sergey
26.08.2017
18:45:17

Dmitry
26.08.2017
18:47:21
смали компактнее, проще демонстрировать
Smalidea
Не вижу такого в репозиториях плагинов. Сторонняя штуковина?

Sergey
26.08.2017
18:50:12
ну ок

Quantum Harmonizer
26.08.2017
19:00:02

Sasha
27.08.2017
00:40:34
Glide 4ку кто юзает с котлином? Как там с каптом?

Михаил
27.08.2017
00:42:27

Sasha
27.08.2017
00:42:48

Михаил
27.08.2017
00:43:54
Ясно. Спасибо.
Имею ввиду, что то что делается с каптом там, можно запилить на экстеншн функциях

Sasha
27.08.2017
00:44:46

Михаил
27.08.2017
00:45:11

Sasha
27.08.2017
00:45:26
Гуд. Спасибо.

Роман
27.08.2017
05:41:58
Привет, господа. Вопрос, конечно, похож на требующий libmedium, но попробую. Делаю приложуху для android, использую IDEA, создал приложение, MainActivity сконвертировал в kotlin, подключил мобильник, нажимаю debug, проходит gradle task assembleDebug и ничего. Приложение на телефон не деплоится кнопка debug становится неактивной
Что я делаю не так?

Михаил
27.08.2017
05:44:44
Привет, господа. Вопрос, конечно, похож на требующий libmedium, но попробую. Делаю приложуху для android, использую IDEA, создал приложение, MainActivity сконвертировал в kotlin, подключил мобильник, нажимаю debug, проходит gradle task assembleDebug и ничего. Приложение на телефон не деплоится кнопка debug становится неактивной
А что за кнопка дебаг такая?

Роман
27.08.2017
05:47:12

Михаил
27.08.2017
05:47:41
Понял. По идее должно запуститься

Google

Михаил
27.08.2017
05:48:23
Но вообще при запуске должно открыться окно с выбором девайса для деплоя

Роман
27.08.2017
05:49:34

Михаил
27.08.2017
05:50:19
Ну это вряд ли проблема котлина. Или без котлина норм?

Роман
27.08.2017
05:55:00
сейчас проверю java-only приложуху
спасибо за вопрос
ты прав, java-only тоже не запускается
спасибо за помощь)

Quantum Harmonizer
27.08.2017
07:07:04
Привет, господа. Вопрос, конечно, похож на требующий libmedium, но попробую. Делаю приложуху для android, использую IDEA, создал приложение, MainActivity сконвертировал в kotlin, подключил мобильник, нажимаю debug, проходит gradle task assembleDebug и ничего. Приложение на телефон не деплоится кнопка debug становится неактивной
У меня деплой перестал работать, когда я поставил плагин Anko support.
Кстати, у кого-нибудь он работает?

Роман
27.08.2017
07:07:26
а ведь и правда
деплой заработал
лол
спасибо
@Harmonizr ты, кстати, anko насколько плотно юзаешь? Чем заменяешь constraintlayout?

Pavel
27.08.2017
08:55:01
Никто не подскажет, почему для приватных полей объявленных в конструкторе дата класса не генерятся геттеры и сеттеры, зачем так сделали?

Vladimir
27.08.2017
08:55:52

Pavel
27.08.2017
08:56:52
По большей части для эстэтики

Igor
27.08.2017
08:57:21

Pavel
27.08.2017
08:57:57
А если они приватные они будут использованы в хэше?

Dibro
27.08.2017
08:58:51

Google

Dmitry
27.08.2017
08:58:56
Tools -> Kotlin -> Show Kotlin Bytecode.
Decompile

Pavel
27.08.2017
09:00:43

Dibro
27.08.2017
09:01:42
?
не так понял вопрос, наверное будут
лучше действительно байт-код глянуть

Pavel
27.08.2017
09:02:33
Согласен
Сейчас просто не с компом

Quantum Harmonizer
27.08.2017
09:44:24

Pavel
27.08.2017
13:42:42
Есть такие кто кодил и на котлине, и на свифте? Давайте свой субъективный фидбек

Диёр
27.08.2017
13:43:27
холивар можно считать открытым

Denis
27.08.2017
13:49:18
Чето не горит

Диёр
27.08.2017
13:50:46
ну это, ещё не началось
просто фундамент готов
нужно зажечь
какой-нибудь красивый вброс про неочевидную вещь

Sergey
27.08.2017
13:52:58

Диёр
27.08.2017
13:53:13
слишком толсто, попробуй тоньше

Igor
27.08.2017
13:53:43
какой-нибудь красивый вброс про неочевидную вещь
Знаете что, если в свифт это норма
https://github.com/Kotlin/KEEP/pull/81
https://github.com/BenLeggiero/KEEP/blob/52f5692c997bad0c123ba71b86f4602f8bf279d0/proposals/error-handling.md
то в рот я его е###


? animufag ?
27.08.2017
13:57:50
Есть такие кто кодил и на котлине, и на свифте? Давайте свой субъективный фидбек
ну я. больше на свифте, чем на котлине. в общем то очень похожи. так сходу и не вспомню всего
Свифт > Котлин
восклицательный знак явно указывается в типе.
скобки для if, switch не нужны (вкусовщина, мне просто было непривычно поначалу)
енумы как-то поприятне sealed классов
свитч вроде помощнее чем when (там вроде можно что-то имплементить для свитча)
проще кидать функции (не нужно референсы прописывать, но не могу сходу вспомнить как кидаются функции с заданым инстансом и также стоит отметить что очень легко утекает self и приходится прописывать длинное [weak self] говнище)
Котлин > Свифт
больше таргет платформ (хотя меня не касается)
больше экспрешен ориентированный
у свифта обжектив-си бэкграунд и в общем с ним сложнее взаимодействовать и есть всякое динамическое говнище вроде протоколов
свифт жёстко привязан к икскоду (ну вдруг пишешь утилиту на нём или сервер на линуксе, то тебе в общем грустно)
у котлина градл или что угодно а у свифта см выше
ну так для начала

Google

? animufag ?
27.08.2017
13:58:40
стектрейсы у свифта забавные

Pavel
27.08.2017
14:01:53
Я свифт еще не научился готовить, но после котлина кажется удивительным отсутствие анонимных классов. Т.е. если кто не знает, как мы обычно пишем
setOnClickListener { doSomething() }, в свифте нужно либо извращаться через delegate либо объявлять новый класс. И как тут не вспомнить великого эскобара.

? animufag ?
27.08.2017
14:03:04
а куда тебе нужен анонимный класс?

Igor
27.08.2017
14:03:31


? animufag ?
27.08.2017
14:03:39
для себя или когда сдк просит делегат?

Pavel
27.08.2017
14:03:41
Объявить inline listener, datasource что угодно.

? animufag ?
27.08.2017
14:04:36
датасоурс всегда на селф вешал, если только он не пригодится в двух местах (тогда класс только и подойдёт)
если для себя то колбеки и лямбдочки

Pavel
27.08.2017
14:05:49
С анонимными классами логика группируется в одном месте, ты объявляешь слушателя и тут же пишешь его логику. Код пишется блоками и это хорошо читабельно.
Когда мы пишем listener = self/this мы должны логику слушателя написать в другом месте, и это портит читабельность, и это плохо.

? animufag ?
27.08.2017
14:05:59
а тип енум с полями?

Pavel
27.08.2017
14:06:01

? animufag ?
27.08.2017
14:06:44
ну короче там просто пишешь енум с полями и всё

Igor
27.08.2017
14:09:03
поясни что это
Как там сделать data Maybe a = Just a | Nothing ?
На как sealed классах - это понятно, а у них что enum могут содержать разные поля?

? animufag ?
27.08.2017
14:10:12
enum Maybe<T> {
case .just(a:T)
case .nothing
}
примерно так
в первом свифте была проблема что енумы не могут быть рекурсивны и нельзя писать к примеру список внутри ссылающийся на свой же тип