Slava
это все?
Ontoshgo
та если только модно - то это чушь
Ontoshgo
1с тоже модно, но его не так легко выучить
Slava
это шутка такая?
Rankavar
это все?
Ну некоторые говорят, что меньше кода, т.е улучшается поддержка.
Тут стоит самому попробовать)
Slava
я просто видел примеры и не впечатлился
Slava
первое что убивает это перегрузка операторов
Slava
она делает операцию неочевидной
Rankavar
Ну я думаю что учить стоить - так как некоторые пишут на Котлине, возможно прийдется поддержку делать такого кода.
Slava
Dmytro
Georgii
про котлин скорее такой вопрос: а почему ты до сих пор на нем не кодишь?
Rankavar
Я на него потратил максимум часа 2 - чисто на ознакомление + запустил хелоу ворлд. Пока сказать ничего не могу
Slava
Ontoshgo
Slava
видео выше я видел
Slava
простота не должна бить за счет безопасности
Georgii
удобство, синтаксис
Ontoshgo
например
Dmytro
Slava
как по мне на котлине очень просто написать неочевидный код и допустить в нем ошибку, которую позже будет трудно найти
Александр
Когда уже банять будут за обсуждение котлина?))
Dmytro
Artem
Да так себе. Сейчас бан получу от админа :) но код телеграма уже обфусцирован, без прогуарда
Slava
взять ту же перегрузку операторов, в джаву ее не завезли не потому что лень
Roman
Dmytro
Ильфат
Ontoshgo
а если не скажет? то ты потратишь время на язык, который тебе совсем не нужен и не нравится?
Georgii
лямбды, к id андроид вью можно прям по названию обращаться, корутины, меньше кода при объявлении и при написании функций, датаобджекты, отсутствие сеттеров/геттеров, заставляет тебя нормально думать про null, ну и куча других мелкиз синтаксических плюх. Это то что я вспомнил прям сейчас.
Сам на работе работаю на джаве, но дома только котлин и после него больно на джаву возвращаться
Rankavar
Rankavar
Slava
Slava
а лямбда уже и жабе есть
Dmytro
ну мало ли
Artem
Я тут ощутил боль от котлина, когда обновил сапорты до 27 версии, и метод getContext стал nullable. Сотня ошибок при компиляции
Artem
Хотя ни одной проблемы до этого не было, даже когда я обращался без проверки на null
Artem
Полдня убил на фиксы
Alexander
так это боль не от котлина, а от possible NPE в коде%)
Artem
Ontoshgo
откуда инфа?
Georgii
на самом деле че спорить, нравится - пользуйся, не нравится не пользуйся. На вопрос надо ли пробовать ответ однозначный - надо, не просто же так много народу тащится и все крутые разрабы уже на него свои проекты год как перевели.
Georgii
разрабы телеграмма (а точно это несколько человек?) - вообще отдельная каста
Artem
Georgii
с того что телеграм в опенсурсе, иди и посмотри где там котлин
Slava
Artem
То есть, за 4 месяца в телеграм затянули Котлин и во всю на нем пишут? Судя по тому, что там даже сапорт либрури не юзается из-за предрассудков разраба, чёт я сомневаюсь
Artem
Крохи чего?
Artem
Ядро куда-то на плюсах вынесено
Artem
Там своя реализация всего
Artem
Не удивлюсь, что и риплов в том числе
Georgii
потому этот разработчик и отдельная каста
Artem
Гугл следит через сапорты?)
Artem
Может быть
Anonymous
Народ, взломали телефон андройд, слушали долго, что сделать чтоб почистить и защитить?
Artem
TextUtils сливает инфу
Georgii
сервисы надо из модели звать
Georgii
CheckChoosedLanguage - это тоже бизнесс логика насколько я понимаю - в модель
Georgii
представь так: если отрезать от приложения презентеры и и активити то должно получиться полностью работающее приложение но без UI, и без пользовательского ввода (ну просто дергаешь методы через консольку) и при этом все должно работать логично и так как задумывалось
Georgii
если правильно понимать что такое сервисы, то да - всегда
German
Georgii
доставка данных и обработка действий пользователя.
Georgii
т е по клику - это происходит, по двойному - это и так далее
Georgii
onClick зовет метод презентера, который в свою очередь решает какой модели дать команду, а может и не модели а скажем Роутеру (объект ответственный за навигацию), если надо перейти на следующую вью
Vadim
Такой вопрос: Если у меня с сервера приходят данные в виде List<String>, как этот список можно закастить в LiveData<List<String>> ?
Artem
Georgii
не совсем понял, но возможно UML class diagram - это то что тебе нужно
Vadim
postValue насколько я правильно понял есть только в MutableLiveData, безопасно ли кастить MutableLiveData к LiveData ? или лучше все хранить в MutableLiveData ?
Vadim
@Bringoff спасибо
Vadim
я зассэтил пришедший лист к переменной LiveData<String> blahBlah
теперь в активити конструкция "viewModel.getBlahBlah.observe(this, urls -> { })" должна сама отработать?
Vadim
или после setBlahBlah(LiveData<List<String>> urls) нужно еще что-то вызвать?
Artem
Vadim
тогда видимо не правильно
Georgii
не, вот TDD - это то чему я мечтая научиться, но нет подходящей команды.
А то что ты говоришь - не совсем TDD, а вполне и обычное тестирование
Ⓜ️ᵃʳᵃᵗ
А есть что готовое , типа для отображения тайлов с зумом, нужно как то грид с квадратными ячейками , большой, показать, свой пилить пока лениво
Vadim
Как лучше слушать изменения примитива boolean ? С помощью LiveData же нельзя?