
I
13.08.2018
14:30:20
ребят есть приложение на Java и хотел добавить пару классов на котлин, как можно сделать инжект в котлин классы, если мы не можем добавить котлин класс в компоненты?

Anton
13.08.2018
14:32:25
ну берешь короче аспектджей пишешь на котлине апект который добавляет методы в твой класс(интертайп декларайшенс вроде) и делаешь байткод вивинг

I
13.08.2018
14:34:15

Андрей
13.08.2018
14:36:37

Google

I
13.08.2018
14:36:51

Андрей
13.08.2018
14:37:37
полагаю всегда можно через лишний врапер

Anton
13.08.2018
14:38:48
тьфу я думал ты методы хочшеь добавить в классы библиотечные
сорри
а почему ты не можешь добавить котлин класс в компоненты

Alexander
13.08.2018
14:40:47

I
13.08.2018
14:41:20
так java interface не понимает синтаксис котлина

Anton
13.08.2018
14:42:19
ну пиши на джаве в компоненте. там же тебе просто классы нужно запровайдить
ну или перепиши компонент на котлин

Bogdan
13.08.2018
14:43:26

Dmitry
13.08.2018
14:43:27
а зачем саспенд в бизнес логике?
У меня много экранной логики, когда например есть дерево опций, которые пользователь может переключать, и мы не хотим блокировать все опции, когда какой-то кусок дерева синхронизируется с сервером. Но это сейчас на уровне презентера происходит, т.е. логика экрана.

Bogdan
13.08.2018
14:44:13

I
13.08.2018
14:44:13

Google

Alexander
13.08.2018
14:44:16

I
13.08.2018
14:44:30

Anton
13.08.2018
14:45:19
У тебя компонент на джаве? Ну и пиши там void

I
13.08.2018
14:45:20

Anton
13.08.2018
14:45:36
нет)
ты что то совсем не то делаешь
нажми cmd shift a в компоненте и сделай convert to kotlin
в компоненте)

Alexey
13.08.2018
14:46:45
Футурки точно также пихают таски в очередь на исполнению тред пула, он занимается контролем потоков

Bogdan
13.08.2018
14:47:31

Alexander
13.08.2018
14:47:48
Ну не знаю, претензия была, что на корутинах не знаешь, что в каком потоке выполняется. Единственный способ это знать - запускать все вручную, форк-джойн всегда на неизвестном потоке работает
Я на самом деле в последнее время слегка балдю от корутин как раз из-за суспенд модификаторов. Всегда сразу видно, какую функцию нельзя запускать на UI потоке

I
13.08.2018
14:49:41
нет)
хорошо продублирую весь компонент, но я же в application его должен создать, мне тогда нужно содавать некий базовый, потом наследоваться, а потом уже обрабатывать как-то это в application, так как простой дубль компонента ничего не даст

Dmitry
13.08.2018
14:50:46

I
13.08.2018
14:51:45
Написал так void inject(KotlinClass kotlinClass) вроде не ругается, может даже будет работать, спасибо за подсказку, всё бывает проще чем кажется

Bogdan
13.08.2018
14:53:29
да
ну так джава про котлин не знает

I
13.08.2018
14:54:47

Bogdan
13.08.2018
14:55:21

Google

Bogdan
13.08.2018
14:55:37
kClass.javaClass

I
13.08.2018
14:56:11

Abbas
13.08.2018
14:56:40
народ в IDEA можно посмотреть структуру класса вместе со всеми extensions которые ему доступны?

Никита
13.08.2018
14:58:29

I
13.08.2018
14:59:50

Anton
13.08.2018
15:00:35
Зачем ты пытаешься в одном языке писать на другом

Abbas
13.08.2018
15:00:55

Anton
13.08.2018
15:00:56
Почитай про интероп на котлинланге

Bogdan
13.08.2018
15:01:03

I
13.08.2018
15:09:06

I
13.08.2018
15:27:42

Alexey
13.08.2018
15:38:45

Dmitry
13.08.2018
16:39:27
Поясните глупый момент - почему из саспенд функции нельзя вызвать код обычной функции?
Ведь корутина саспендится в определенных местах, а не произвольных. Мне кажется логично запретить саспенд точки в обычных функциях, а не их вызов вообще.

Vladimir
13.08.2018
16:46:00

Bogdan
13.08.2018
16:46:29


Alexander
13.08.2018
16:50:07
Bruno Gois Mateus и Matias Martinez, исследователи в University of Valenciennes (Франция), провели исследование, показавшее, что:
1. из 925 репозиториев с открытым кодом только 109 используют Kotlin;
2. при этом больше 50 приложений имеют более 80% процентов кода на Kotlin;
А теперь об интересном:
3. кода на Kotlin в среднем требуется на 40% меньше, чем на Java;
4. качество кода выше в приложениях в кодовой базе которых присутствует Kotlin.
https://arxiv.org/abs/1808.00025
Честно говоря результат предсказуемый и не очень интересный. Если посмотреть на хаскелевые репозитории, то там буде ще лучше. Не потому что хаскель такой крутой, а потому что его могут осилить только очень хорошие программисты

Google

Bogdan
13.08.2018
16:53:33

Alexander
13.08.2018
16:53:39
На котлине сейчас работают главным образом энтузиасты, индусов (в переносном смысле) еще не завезли, поэтому и качество хорошее.

Bogdan
13.08.2018
16:54:34
та уже люди приходят с аннотациями и рефлексией, сразу в крайности, но что бы подумать

Руслан
13.08.2018
16:55:14

Admin
ERROR: S client not available

Alexander
13.08.2018
16:55:42

Bogdan
13.08.2018
16:56:14

Alexander
13.08.2018
16:57:12
г-код можно писать на любом языке, но тут конечно есть принципиальная разница. На Java его писать несколько сложнее, чем на С++. Котлин в этом смысле добавляет кое что (primary constructors, null-safety), но не радикально. Компактнее и проще - это да.

Bogdan
13.08.2018
16:58:06

Костя
13.08.2018
16:58:09
а ещё Котлин просто красивый ?

Alexander
13.08.2018
16:58:35
Я кстати думаю, что в этом смысле самое главное достижение Kotlin - это primary constructor-ы и val/var разделение. Сильно стуктурирует процесс создания классов.
Я пописав годик на котлине сильно переосмыслил этот вопрос и начал потихоньку менять свои старые Java куски чтобы лучше соответствовать котлин-стилю

Bogdan
13.08.2018
17:04:51

Arsen
13.08.2018
18:16:38
Idea умеет не показывать хинты параметров, если они не юзаются? которые андескоры```{ _, usedParam, _ }```

Dmitry
13.08.2018
18:20:16
О, действительно можно
Хм, видимо раньше я натыкался на какой-то баг, иде заставляла саспенды на все вызовы прерываемых функций расставлять.

Andrew
13.08.2018
18:25:27

Dmitry
13.08.2018
18:31:34

Google

Dmitry
13.08.2018
18:31:40
Я думал это дизайн такой

Andrew
13.08.2018
18:32:10
Ну тогда хрен знает ¯\_(ツ)_/¯

'
14.08.2018
03:38:35
Дорый утро книги или видео учебникы есть на Kotlin
если есть брости на личку пожалуйста

Alexander
14.08.2018
04:23:23
А Гугл отключили за неуплату членского взноса?

Андрей
14.08.2018
05:01:31

Max
14.08.2018
05:03:59
Что за токсичное комьюнити??

Mikhail
14.08.2018
05:05:13
Ничего не токсичное, просто пиратить профессиональную литературу - не ок

Brian
14.08.2018
05:05:46

Max
14.08.2018
05:06:09
Ну человек не обязательно имел ввиду pdf?
Может он ссылочку на Амазон хотел?

Brian
14.08.2018
05:06:21

Mikhail
14.08.2018
05:06:27
А, тогда резко снижаю градус токсичности?

Brian
14.08.2018
05:06:31
Или видео с ютьюба

Max
14.08.2018
05:07:09
Поздно, вы уже испортили человеку мнение об этом чатике?

Brian
14.08.2018
05:07:36
??