Мда уж, compose, по крайней мере customview, действительно проще view. Но вот вопрос с навигацией я даже не рассматривал, не знал что там все так... ммм... своеобразно. Спасибо!
Все таки в андроид система с жизненными циклами по сравнению с ios выглядит удобнее - передал view lifecycle owner, а эти все подписки сами отпишутся по окончании.
Так же для меня остался открытым вопрос - есть ли разделение на холодные/горячие потоки или все в одной куче?
Что там с обработкой ошибок - в rx, да и в flow есть нюансы с их обработкой.
Можно ли эту штуку тестировать - в андроид созданы отдельные rule для всего этого добра.
Подождите, корутины оперируют виртуальным временем, ждать там ничего не надо. delay(200) просто сдвинет виртуальное время.
Всю функцию можно свести к extension над coroutine - соответственно это цельная функция с изменением состояния стороннего объекта. Ее тесты все равно желательно дробить?
Ну мы же об андроид разработке? Я хочу проверить что спустя 200 мс будет показан прогресс бар, если данные не пошли, если пошли, то не будет показан. Или что отмена progress bar происходит после отправки готовых данных - не мигает белый экран. Юнит тесты же это позволяют проверить. Возможно я не верно ставлю задачу?
К сожалению тогда большое количество кода останется за скобками - тем более сейчас когда корутины упростили работу с фоновыми задачами по сути до myFun = job (т.е. viewModel scope.launch{})
А у корутин не самое понятное апи для тестирования, откровенно говоря.
Так учитесь то для себя. Тесты прям понимание архитектуры прокачивают на ура. Да и те же корутины после того как для них тесты попишешь понимаешь лучше. Короче для себя это убер полезно.
Как тот кто этот путь пройти умудрился, в том числе и благодаря Android academy, я бы не согласился что анимации не стоит рассматривать. Как и тесты. В обычных анимациях особо сложного нет (анимируй property), а помочь могут. А тесты очень хорошо показывают что надо бы вынести наружу, т.е. на практике показывают изъяны кода.
Ну а потоки да, знать бы надо :) иногда полезно, как и принципы синхронизации.
Да, давно я ценники не смотрел, раньше в chipdip nucleo 1.5к стоили...
2023 год на дворе, usb уже необходимость, не все время же переходниками uart/usb для связи пользоваться.
В любом случае это лучше чем ничего и рынок для них точно есть. Пусть будут лучше как avr, главное чтоб в достатке и недорого.
Хрена себе, 5к, доступно конечно же. Китайцы платы за 300 рублей пришлют с учётом доставки.
Что там с документацией и примерами будет тоже не ясно. usb нет.
С другой стороны лично я только рад появлению отечественных модулей.
Спасибо!
Вы видимо никогда не работали с sql в Android, room на пару порядков удобнее.
Про разный размер указателей для разных типов тоже хотел указать, в sdcc man есть пояснения по этому поводу про memory map model
Подписки удалились, а задача остановится? Если нет, то что будет при падении?
У Rx есть такая особенность, при падении задачи, у которой нет подписок, нужен глобальный перехватчик.
Мда уж, compose, по крайней мере customview, действительно проще view. Но вот вопрос с навигацией я даже не рассматривал, не знал что там все так... ммм... своеобразно. Спасибо!
Все таки в андроид система с жизненными циклами по сравнению с ios выглядит удобнее - передал view lifecycle owner, а эти все подписки сами отпишутся по окончании.
Так же для меня остался открытым вопрос - есть ли разделение на холодные/горячие потоки или все в одной куче?
Что там с обработкой ошибок - в rx, да и в flow есть нюансы с их обработкой.
Можно ли эту штуку тестировать - в андроид созданы отдельные rule для всего этого добра.
Я понял, спасибо большое за ответы!
Подождите, корутины оперируют виртуальным временем, ждать там ничего не надо. delay(200) просто сдвинет виртуальное время.
Всю функцию можно свести к extension над coroutine - соответственно это цельная функция с изменением состояния стороннего объекта. Ее тесты все равно желательно дробить?
Ну мы же об андроид разработке? Я хочу проверить что спустя 200 мс будет показан прогресс бар, если данные не пошли, если пошли, то не будет показан. Или что отмена progress bar происходит после отправки готовых данных - не мигает белый экран. Юнит тесты же это позволяют проверить. Возможно я не верно ставлю задачу?
А как быть если я хочу порядок вызовов у моков проверить?
К сожалению тогда большое количество кода останется за скобками - тем более сейчас когда корутины упростили работу с фоновыми задачами по сути до myFun = job (т.е. viewModel scope.launch{})
А у корутин не самое понятное апи для тестирования, откровенно говоря.
Работу с асинхронным кодом рассматривать будут? Там есть особенности.
Так учитесь то для себя. Тесты прям понимание архитектуры прокачивают на ура. Да и те же корутины после того как для них тесты попишешь понимаешь лучше. Короче для себя это убер полезно.
Как тот кто этот путь пройти умудрился, в том числе и благодаря Android academy, я бы не согласился что анимации не стоит рассматривать. Как и тесты. В обычных анимациях особо сложного нет (анимируй property), а помочь могут. А тесты очень хорошо показывают что надо бы вынести наружу, т.е. на практике показывают изъяны кода.
Ну а потоки да, знать бы надо :) иногда полезно, как и принципы синхронизации.
Ну автор был одним из ведущих разработчиков в Сбере, + вел курс андроид академии, так что действительно в теме.
Спасибо, было интересно, кастомные вью это всегда прекрасно.
П.с. сделайте уже rating bar в оценке полноценный пожалуйста. Так неудобно, что он не даёт скроллить оценку пальцем. Там же не сложно :)
Спасибо! Пишите ещё и выпускайте ролики! :)
Да, жаль что их не закроют дней на 90 до устранения недостатков... Они бы явно иначе стали бы относится...