Довольно холиварная тема - стоит ли использовать TDD при написании UI слоя в приложении? Автор считает, что да, хотя я бы еще сильно поспорил.
http://www.donnfelker.com/tdd-your-ui-layer/
#tdd #testing #ui
http://www.donnfelker.com/tdd-your-ui-layer/
#tdd #testing #ui
Транскрипт доклада с одного из Kotlin Night про паттерн "робот" - абстракцию над выполнением конкретных действий на отображаемом экране. Помогает отвязаться от деталей представления и писать автотесты, которые не будут ломаться при каждом изменении лэйаута. И на закуску - немного Kotlin'а и его языковых фич
https://realm.io/news/kau-jake-wharton-testing-robots/
#testing #ui #kotlin
https://realm.io/news/kau-jake-wharton-testing-robots/
#testing #ui #kotlin
Очередная порция слез про фрагменты с кучей доводов, почему с ними не стоит работать, и рядом предложений по их выпиливанию.
https://medium.com/square-corner-blog/advocating-against-android-fragments-81fd0b462c97#.vffi1daxy
#ui #architecture
https://medium.com/square-corner-blog/advocating-against-android-fragments-81fd0b462c97#.vffi1daxy
#ui #architecture
Medium
Advocating Against Android Fragments
Alternatives for dealing with (painful) Android fragments.
"Производительность - это не математика. Производительность - это восприятие". Докладчик хоть и рассказывает о фронтенде, большая часть идей легко применима и к мобильной разработке. Отличное видео для утреннего просмотра по дороге на работу: https://www.youtube.com/watch?v=egiLQun-FxI
#ui #perfomance
#ui #perfomance
YouTube
В погоне за производительностью, Денис Мишунов
Страница должна загружаться быстрее чем 1 секунда; количество серверных запросов должно быть сведено к минимуму; CSS и JS файлы должны быть сжаты и не превышать 50 килобайт…
Это лишь малая часть технических решений и рекомендаций, которыми нас снабжает индустрия…
Это лишь малая часть технических решений и рекомендаций, которыми нас снабжает индустрия…
Про группировку единичных уведомлений. Там не все так просто, как может показаться на первый взгляд.
http://blog.danlew.net/2017/02/07/correctly-handling-bundled-android-notifications/
#ui #push
http://blog.danlew.net/2017/02/07/correctly-handling-bundled-android-notifications/
#ui #push
Dan Lew Codes
Correctly handling bundled Android notifications
Bundled notifications on Android are a tricky business.
Individual, fire-and-forget notifications are simple. You create a Notification
[https://developer.android.com/reference/android/app/Notification.html], send it
to NotificationManagerCompat
[https:…
Individual, fire-and-forget notifications are simple. You create a Notification
[https://developer.android.com/reference/android/app/Notification.html], send it
to NotificationManagerCompat
[https:…
А вы задумывались о том, как система преобразует xml с разметкой UI в код на Java? В статье этот процесс подробно разбирается шаг за шагом.
https://blog.uncommon.is/deflating-the-layoutinflater-a16aa0c96415#.lxpznq41c
#sdk #ui
https://blog.uncommon.is/deflating-the-layoutinflater-a16aa0c96415#.lxpznq41c
#sdk #ui
Medium
Deflating the LayoutInflater
Exploring Android’s layout inflation process.
Выбираем между TextView и WebView для отображения html контента.
http://www.hidroh.com/2016/02/27/richtext-textview-versus-webview/
#ui
http://www.hidroh.com/2016/02/27/richtext-textview-versus-webview/
#ui
Ha Duy Trung’s Blog
Rich text battle: TextView vs WebView
An analysis of using TextView versus WebView to display HTML content
Нас давно просили обсудить построение сложных интерфейсов. И вот, в 13 выпуске нашего подкаста мы поговорили про то, как оптимизировать сложные интерфейсы, используя фоновые потоки и затронули тему декларативного программирования. В этом нам помогла небезызвестная Ксения Покровская - ведущая популярного подкаста Радио-Т и iOS-разработчик из Facebook.
В конце выпуска мы обсудили важность знания фундаментальных основ программирования на собеседованиях и поспорили о необходимости высшего образования для программистов.
Ссылки на эпизод:
Soundcloud: https://soundcloud.com/podlodka/podlodka-13-asinkhronnyy-ui-i-deklarativnye-interfeysy
iTunes: https://apple.co/2rFNNFG
Содержание и ссылки:
http://telegra.ph/Podlodka-13---Asinhronnyj-UI-i-deklarativnye-interfejsy-06-28
#podlodka #ui
В конце выпуска мы обсудили важность знания фундаментальных основ программирования на собеседованиях и поспорили о необходимости высшего образования для программистов.
Ссылки на эпизод:
Soundcloud: https://soundcloud.com/podlodka/podlodka-13-asinkhronnyy-ui-i-deklarativnye-interfeysy
iTunes: https://apple.co/2rFNNFG
Содержание и ссылки:
http://telegra.ph/Podlodka-13---Asinhronnyj-UI-i-deklarativnye-interfejsy-06-28
#podlodka #ui
SoundCloud
Асинхронный UI и декларативные интерфейсы
Нас давно просили обсудить построение сложных интерфейсов. И вот, в 13 выпуске нашего подкаста мы поговорили про то, как оптимизировать сложные интерфейсы, используя фоновые потоки и затронули тему де
Майкрософт заопенсорсили свою дизайн систему для iOS и Android. В комплекте сами компоненты, юай, инструменты.
https://www.microsoft.com/design/fluent/#/android
#tools #ui
https://www.microsoft.com/design/fluent/#/android
#tools #ui
Еще одна статья от Роботов, на этот раз про темы и стили.
https://habr.com/ru/company/redmadrobot/blog/461201/
#ui
https://habr.com/ru/company/redmadrobot/blog/461201/
#ui
Хабр
Темы и стили в Android-приложениях
Каждому Android-разработчику так или иначе приходилось работать со стилями. Кто-то чувствует себя с ними уверенно, у кого-то есть только поверхностные знания, к...
Про то, как делали темную тему в Android приложении Juno.
https://arturdryomov.online/posts/midnight-in-android-themes/
#ui
https://arturdryomov.online/posts/midnight-in-android-themes/
#ui
Forwarded from Мобильное Чтиво (Maxim Kachinkin)
This media is not supported in your browser
VIEW IN TELEGRAM
🎨 Главное — чтобы было красиво!
Тесты, шместы, архитектура — это всё прекрасно. Но в итоге главное — чтобы было красиво! Я вот вспомнил одну нашу фичу, где надо было сделать кастомный контрол типа табов, которые плавно анимировались, центрировались на выбранном, а потом обратно схлопывались. Всё на Compose, конечно. 💻
И что вы думаете? Контентные паддинги в LazyRow не помогли, игры с отступами тоже. Даже использование horizontalScroll не дало результата. Пришлось думать дальше. 🤔
А как в итоге сделали? Ну, это можно назвать костылём (или нормальным решением, если вам так больше нравится). Добавили "фейковые" элементы в начале и в конце списка и анимировали их размер. 🙃
Используем LazyRow и делаем первый и последний item просто прозрачные Spacer, чтобы создать видимость отступов. Плавно и красиво анимируем их ширину, и всё! 💫 На самом деле не совсем всё: это тянет за собой много всего, чтобы учитывать эти элементы по-особенному (чтобы не кликались, не анимировались, не участвовали в выборе и т.д.).
Как заметили в комментариях, это создает дополнительные рекомпозиции 🫣, что не может не радовать. Такой трейдофф решили взять. Но в итоге всё выглядит плавно, аккуратно, ну и просто красиво! 🌟
В комментах я добавлю скриншот кода и видосик — там видно, как это анимируется и центрируется. 🎥
А у вас какие были проблемы из-за красоты? Поделитесь! 😎
#android #compose #ui #lazyrow
Тесты, шместы, архитектура — это всё прекрасно. Но в итоге главное — чтобы было красиво! Я вот вспомнил одну нашу фичу, где надо было сделать кастомный контрол типа табов, которые плавно анимировались, центрировались на выбранном, а потом обратно схлопывались. Всё на Compose, конечно. 💻
И что вы думаете? Контентные паддинги в LazyRow не помогли, игры с отступами тоже. Даже использование horizontalScroll не дало результата. Пришлось думать дальше. 🤔
А как в итоге сделали? Ну, это можно назвать костылём (или нормальным решением, если вам так больше нравится). Добавили "фейковые" элементы в начале и в конце списка и анимировали их размер. 🙃
Используем LazyRow и делаем первый и последний item просто прозрачные Spacer, чтобы создать видимость отступов. Плавно и красиво анимируем их ширину, и всё! 💫 На самом деле не совсем всё: это тянет за собой много всего, чтобы учитывать эти элементы по-особенному (чтобы не кликались, не анимировались, не участвовали в выборе и т.д.).
Как заметили в комментариях, это создает дополнительные рекомпозиции 🫣, что не может не радовать. Такой трейдофф решили взять. Но в итоге всё выглядит плавно, аккуратно, ну и просто красиво! 🌟
В комментах я добавлю скриншот кода и видосик — там видно, как это анимируется и центрируется. 🎥
А у вас какие были проблемы из-за красоты? Поделитесь! 😎
#android #compose #ui #lazyrow