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