О iOS дизайн системе за 5 мин
Сегодня хочу рассказать Вам, как мы пилили дробили монолит на SPM пакеты и создавали дизайн систему.
Все началось в одень "прекрасный" день, когда нас снова удалили с AppStore и перед нами стояла цель научиться быстро видоизменять наше приложение, как функционально, так и визуально, чтобы снова опубликоваться в “яблочном” магазине.
Чтобы провернуть такой план, мы решили, раздробить монолит на SPM пакеты. Для себя мы выделили три первых модуля, с которых все началось:
“Ядро”
“UI Компоненты”
“Компоненты приложения”
https://habr.com/ru/articles/881612/
#ios
👉 @developer_mobila
Сегодня хочу рассказать Вам, как мы пилили дробили монолит на SPM пакеты и создавали дизайн систему.
Все началось в одень "прекрасный" день, когда нас снова удалили с AppStore и перед нами стояла цель научиться быстро видоизменять наше приложение, как функционально, так и визуально, чтобы снова опубликоваться в “яблочном” магазине.
Чтобы провернуть такой план, мы решили, раздробить монолит на SPM пакеты. Для себя мы выделили три первых модуля, с которых все началось:
“Ядро”
“UI Компоненты”
“Компоненты приложения”
https://habr.com/ru/articles/881612/
#ios
👉 @developer_mobila
Всеобъемлющее руководство по созданию интуитивно понятных мобильных приложений
Для разработчиков мобильных приложений среднего уровня проектирование интуитивно понятных мобильных приложений требует глубокого понимания принципов пользовательского опыта (UX) и пользовательского интерфейса (UI). Хорошо спроектированное мобильное приложение улучшает удобство использования, удерживает пользователей и повышает общую вовлеченность. В этом руководстве рассматриваются лучшие практики упрощения, согласованности, механизмов обратной связи, увлекательного пользовательского опыта и методов тестирования.
https://bookflow.ru/vseobemlyushhee-rukovodstvo-po-sozdaniyu-intuitivno-ponyatnyh-mobilnyh-prilozhenij/
👉 @developer_mobila
Для разработчиков мобильных приложений среднего уровня проектирование интуитивно понятных мобильных приложений требует глубокого понимания принципов пользовательского опыта (UX) и пользовательского интерфейса (UI). Хорошо спроектированное мобильное приложение улучшает удобство использования, удерживает пользователей и повышает общую вовлеченность. В этом руководстве рассматриваются лучшие практики упрощения, согласованности, механизмов обратной связи, увлекательного пользовательского опыта и методов тестирования.
https://bookflow.ru/vseobemlyushhee-rukovodstvo-po-sozdaniyu-intuitivno-ponyatnyh-mobilnyh-prilozhenij/
👉 @developer_mobila
🤖 Пройди тест для Android-разработчиков и проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения ты освоишь:
— Проектирование архитектуры: Clean Architecture, MV*, многомодульные приложения и профессиональное использование DI.
— Современный стек: Kotlin, Jetpack Compose, Coroutines/Flow, Dagger 2/Hilt, Gradle.
— Разработку кросс-платформенных приложений с использованием Kotlin Multiplatform.
— Глубокое понимание Android SDK: оптимизация, безопасность и производительность приложений.
— Организацию инфраструктуры: CI/CD, Docker, линтеры, автоматизация сборки и мониторинг.
— Написание надежных тестов: интеграционные, UI-тесты и работа с фреймворками.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cJpPnA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Ответишь — пройдешь на продвинутый курс "Android Developer. Professional " от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения ты освоишь:
— Проектирование архитектуры: Clean Architecture, MV*, многомодульные приложения и профессиональное использование DI.
— Современный стек: Kotlin, Jetpack Compose, Coroutines/Flow, Dagger 2/Hilt, Gradle.
— Разработку кросс-платформенных приложений с использованием Kotlin Multiplatform.
— Глубокое понимание Android SDK: оптимизация, безопасность и производительность приложений.
— Организацию инфраструктуры: CI/CD, Docker, линтеры, автоматизация сборки и мониторинг.
— Написание надежных тестов: интеграционные, UI-тесты и работа с фреймворками.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cJpPnA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как я создал собственную дизайн-систему для компонентов iOS-приложения
Если вы создаете свое приложение или работаете в компании, где ваша команда еще не перенесла дизайн компонентов пользовательского интерфейса в отдельную библиотеку, пришло время сделать этот шаг. В этой статье я расскажу вам о своем подходе к созданию многократно используемых компонентов с помощью SwiftUI. Я пропущу базовую настройку библиотеки в Xcode (этому посвящено множество руководств) и сосредоточусь на том, что действительно важно: на создании надежной системы компонентов.
https://medium.com/@mireabot/how-i-created-a-personal-component-design-system-for-ios-apps-d3f9be6f426c
#ios
👉 @developer_mobila
Если вы создаете свое приложение или работаете в компании, где ваша команда еще не перенесла дизайн компонентов пользовательского интерфейса в отдельную библиотеку, пришло время сделать этот шаг. В этой статье я расскажу вам о своем подходе к созданию многократно используемых компонентов с помощью SwiftUI. Я пропущу базовую настройку библиотеки в Xcode (этому посвящено множество руководств) и сосредоточусь на том, что действительно важно: на создании надежной системы компонентов.
https://medium.com/@mireabot/how-i-created-a-personal-component-design-system-for-ios-apps-d3f9be6f426c
#ios
👉 @developer_mobila
Развитие Android глазами разработчика
Развитие Android разработки глазами разработчика
Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее. Предлагаю оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.
https://habr.com/ru/companies/oleg-bunin/articles/879836/
#Android
👉 @developer_mobila
Развитие Android разработки глазами разработчика
Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее. Предлагаю оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.
https://habr.com/ru/companies/oleg-bunin/articles/879836/
#Android
👉 @developer_mobila
Подборка Telegram каналов для программистов
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
Grit — простой список дел и трекер привычек
https://github.com/shub39/Grit
#Android
👉 @developer_mobila
https://github.com/shub39/Grit
#Android
👉 @developer_mobila
Какая навигация в Compose лучшая? Может ли AI писать UI за вас? Как проходит переезд на Compose в большой компании?
С 24 по 28 марта на Podlodka Android Crew разберем всё, что накопилось за 3 года продакшн-использования Compose!
🔥 Дебаты по навигации в Compose — два эксперта - Аркадий Иванов (X (ex-Twitter) и Игорь Кареньков (HH.ru), два подхода, одна истина. Кто окажется убедительнее, решат зрители!
🤖 Как AI пишет UI за вас — Павел Королев и Алексей Утепов (QazCode) на практике покажут генерацию верстки реального макета в Jetpack Compose.
🏗 Опыт Avito: переезд на Compose — изменения затрагивают дизайн-систему, архитектуру, перфоманс, процессы. Ребята из Авито делятся опытом и советами.
🔍 Публичное собеседование по Compose — реальный кандидат, реальный код, разбор ошибок и живой фидбек.
Главное — всё, что обсудим, можно сразу применять на практике! Билеты тут 👉 https://podlodka.io/droidcrew
С 24 по 28 марта на Podlodka Android Crew разберем всё, что накопилось за 3 года продакшн-использования Compose!
🔥 Дебаты по навигации в Compose — два эксперта - Аркадий Иванов (X (ex-Twitter) и Игорь Кареньков (HH.ru), два подхода, одна истина. Кто окажется убедительнее, решат зрители!
🤖 Как AI пишет UI за вас — Павел Королев и Алексей Утепов (QazCode) на практике покажут генерацию верстки реального макета в Jetpack Compose.
🏗 Опыт Avito: переезд на Compose — изменения затрагивают дизайн-систему, архитектуру, перфоманс, процессы. Ребята из Авито делятся опытом и советами.
🔍 Публичное собеседование по Compose — реальный кандидат, реальный код, разбор ошибок и живой фидбек.
Главное — всё, что обсудим, можно сразу применять на практике! Билеты тут 👉 https://podlodka.io/droidcrew
Горячие клавиши Xcode
Ctrl + A – в начало строки
Ctrl + E – в конец строки
Ctrl + T – поменять местами символы, прилегающие к курсору
Ctrl + K – удалить строку
Ctrl + L – курсор в центр строки
Esc – спрятать (показать) меню предложений
Tab – применить предложение
Cmd + Y – активировать (деактивировать) точки остановки
Cmd + Control + Y – продолжить компиляцию (в дебаггере)
F6 – степ-овер
Cmd + Opt + ↑ - переключение между заголовочным файлом и файлом исходного текста
Cmd + двойной щелчок - переключение к определению идентификатора
Opt + двойной щелчок - найти документацию для идентификатора
Tab + → или Ctrl + / - выбрать следующий аргумент в автозаполнении
Shift + Tab + → или Shift + Ctrl + / - выбрать предыдущий аргумент в автозаполнении
Ctrl + Shift + . - в обратном направлении между вариантами автозаполнения
Opt + Cmd + двойной щелчок на идентификаторе - найти в документации
Cmd + двойной щелчок на объекте в Document Window - переключиться к классу в XCode из IB
Ctrl + Shift + щелчок на объекте - выбрать наложенные друг на друга элементы в Interface Builder
Cmd + ] или Cmd + [ - табулировать блок кода вправо или влево
Cmd + / - закомментировать блок кода
Cmd + Shift + E - скрыть список файлов над редактором кода
Cmd + Opt + Shift + E - скрыть список файлов над редактором кода и «Groups and Files»
Alt + Shift + Cmd + K - очистить папки билда (build)
Cmd + стрелки влево/вправо - поворот симулятора
Cmd + R - запустить программу на выполнение
Cmd + . - остановить проект
Cmd + B - собрать проект, без запуска
Cmd + Shift + B - сборка проекта со сбросом кэша IDE
Cmd + L - переход к строке с номером
Cmd + N - создать файл
Cmd + Shift + F - поиск по всему проекту
Cmd + Ctrl + F - развернуть среду во весь экран
Cmd + Shift + O - перемещение по файлам, методам, классам
Cmd + T - создать новую вкладку
Cmd + Opt + T - показать или скрыть Toolbar
Cmd + Shift + N - создать новый проект
Cmd + Opt + → свернуть или развернуть код
Cmd + S - сохранить проект
Cmd + Shift + L - показать библиотеку компонентов
Cmd + Shift + Return - запустить Playground(выполнить код)
Cmd + 0 - показать или скрыть область навигатора(левое окно)
Cmd + Opt + 0 - показать или скрыть область инспектора (правое окно)
Cmd + Shift + Y - показать или скрыть область отладки (нижнее окно)
#ios
👉 @developer_mobila
Ctrl + A – в начало строки
Ctrl + E – в конец строки
Ctrl + T – поменять местами символы, прилегающие к курсору
Ctrl + K – удалить строку
Ctrl + L – курсор в центр строки
Esc – спрятать (показать) меню предложений
Tab – применить предложение
Cmd + Y – активировать (деактивировать) точки остановки
Cmd + Control + Y – продолжить компиляцию (в дебаггере)
F6 – степ-овер
Cmd + Opt + ↑ - переключение между заголовочным файлом и файлом исходного текста
Cmd + двойной щелчок - переключение к определению идентификатора
Opt + двойной щелчок - найти документацию для идентификатора
Tab + → или Ctrl + / - выбрать следующий аргумент в автозаполнении
Shift + Tab + → или Shift + Ctrl + / - выбрать предыдущий аргумент в автозаполнении
Ctrl + Shift + . - в обратном направлении между вариантами автозаполнения
Opt + Cmd + двойной щелчок на идентификаторе - найти в документации
Cmd + двойной щелчок на объекте в Document Window - переключиться к классу в XCode из IB
Ctrl + Shift + щелчок на объекте - выбрать наложенные друг на друга элементы в Interface Builder
Cmd + ] или Cmd + [ - табулировать блок кода вправо или влево
Cmd + / - закомментировать блок кода
Cmd + Shift + E - скрыть список файлов над редактором кода
Cmd + Opt + Shift + E - скрыть список файлов над редактором кода и «Groups and Files»
Alt + Shift + Cmd + K - очистить папки билда (build)
Cmd + стрелки влево/вправо - поворот симулятора
Cmd + R - запустить программу на выполнение
Cmd + . - остановить проект
Cmd + B - собрать проект, без запуска
Cmd + Shift + B - сборка проекта со сбросом кэша IDE
Cmd + L - переход к строке с номером
Cmd + N - создать файл
Cmd + Shift + F - поиск по всему проекту
Cmd + Ctrl + F - развернуть среду во весь экран
Cmd + Shift + O - перемещение по файлам, методам, классам
Cmd + T - создать новую вкладку
Cmd + Opt + T - показать или скрыть Toolbar
Cmd + Shift + N - создать новый проект
Cmd + Opt + → свернуть или развернуть код
Cmd + S - сохранить проект
Cmd + Shift + L - показать библиотеку компонентов
Cmd + Shift + Return - запустить Playground(выполнить код)
Cmd + 0 - показать или скрыть область навигатора(левое окно)
Cmd + Opt + 0 - показать или скрыть область инспектора (правое окно)
Cmd + Shift + Y - показать или скрыть область отладки (нижнее окно)
#ios
👉 @developer_mobila
Изучаем основы Android XR
Кодлаб от Google по разработке для Android XR. В этом лабораторной работе вы улучшите базовое одноэкранное приложение, чтобы обеспечить захватывающий пользовательский опыт на Android XR.
Что вы узнаете:
Уникальные пользовательские возможности, которые дает форм-фактор XR.
Основы адаптации приложений к работе на гарнитуре Android XR с помощью композабл элементов, предоставляемых библиотекой Jetpack Compose XR.
Как использовать элементы пользовательского интерфейса, предоставляемые библиотекой Compose XR.
Где можно узнать больше о создании приложений для Android XR.
https://developer.android.com/codelabs/xr-fundamentals-part-1#0
#Android
👉 @developer_mobila
Кодлаб от Google по разработке для Android XR. В этом лабораторной работе вы улучшите базовое одноэкранное приложение, чтобы обеспечить захватывающий пользовательский опыт на Android XR.
Что вы узнаете:
Уникальные пользовательские возможности, которые дает форм-фактор XR.
Основы адаптации приложений к работе на гарнитуре Android XR с помощью композабл элементов, предоставляемых библиотекой Jetpack Compose XR.
Как использовать элементы пользовательского интерфейса, предоставляемые библиотекой Compose XR.
Где можно узнать больше о создании приложений для Android XR.
https://developer.android.com/codelabs/xr-fundamentals-part-1#0
#Android
👉 @developer_mobila
📱Хотите создавать стильные и современные Android-приложения?
На открытом вебинаре «Material Design 3.0 — что нужно знать разработчику» 📅 24 марта в 20:00 мск вы разберете документацию, изучите инструменты и узнаете ключевые требования дизайна.
💼Научитесь создавать интерфейсы, которые будут радовать пользователей и впечатлять работодателей.
👉Открытый урок перед стартом курса «Android Developer. Professional», получите скидку на обучение: https://vk.cc/cJUW23
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
На открытом вебинаре «Material Design 3.0 — что нужно знать разработчику» 📅 24 марта в 20:00 мск вы разберете документацию, изучите инструменты и узнаете ключевые требования дизайна.
💼Научитесь создавать интерфейсы, которые будут радовать пользователей и впечатлять работодателей.
👉Открытый урок перед стартом курса «Android Developer. Professional», получите скидку на обучение: https://vk.cc/cJUW23
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
#вакансия #удалённо #parttime #преподаватель #iOS
OTUS ищет преподавателей на онлайн-курс iOS Developer. Professional
Мы расширяем команду экспертов (уже более 650 человек) и ищем опытных практикующих специалистов, которым интересно делиться знаниями. Преподавательский опыт не обязателен — наши методисты помогут вам освоить практики преподавания.
Требуется практический опыт разработки под iOS от 3- х лет. Приветствуется знание технологий: Swift, SwiftUI, Combine, CoreML, ARKit, а также архитектурные паттерны (MVVM, VIPER и др.).
Обязанности:
- подготовиться к занятиям (есть материалы для опоры);
- проводить онлайн-занятия, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи;
- за доплату возможна проверка домашних заданий.
Условия:
✅ гибкий график, легко совмещать с основной работой, занятия в вечернее время с 20:00 до 21:30, дни на выбор;
✅ темы занятий на выбор;
✅ оплата от 4000 до 6000 руб. за вебинар (полтора часа) и 300-400 рублей за проверку 1 домашнего задания;
✅ бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, участие в воркшопах и конференциях.
Обсудить подробнее: @HR_Nikita
OTUS ищет преподавателей на онлайн-курс iOS Developer. Professional
Мы расширяем команду экспертов (уже более 650 человек) и ищем опытных практикующих специалистов, которым интересно делиться знаниями. Преподавательский опыт не обязателен — наши методисты помогут вам освоить практики преподавания.
Требуется практический опыт разработки под iOS от 3- х лет. Приветствуется знание технологий: Swift, SwiftUI, Combine, CoreML, ARKit, а также архитектурные паттерны (MVVM, VIPER и др.).
Обязанности:
- подготовиться к занятиям (есть материалы для опоры);
- проводить онлайн-занятия, уделяя большое внимание практике. Здесь вы сможете развивать навыки публичных выступлений, работы с аудиторией и подачи обратной связи;
- за доплату возможна проверка домашних заданий.
Условия:
✅ гибкий график, легко совмещать с основной работой, занятия в вечернее время с 20:00 до 21:30, дни на выбор;
✅ темы занятий на выбор;
✅ оплата от 4000 до 6000 руб. за вебинар (полтора часа) и 300-400 рублей за проверку 1 домашнего задания;
✅ бонусы: доступ к нашим курсам, нетворкинг, развитие личного бренда, участие в воркшопах и конференциях.
Обсудить подробнее: @HR_Nikita
Статья посвящена модели кооперативной отмены задач в Swift
В ней рассматривается, как разработчики могут определить момент отмены задачи и корректно обработать это событие. Swift не прерывает выполнение задачи автоматически при ее отмене; вместо этого предоставляется информация о статусе отмены, и разработчик самостоятельно решает, как на это реагировать.
В статье представлены примеры использования API Task для проверки статуса отмены с помощью методов
https://swiftwithmajid.com/2025/02/11/task-cancellation-in-swift-concurrency/
#ios
👉 @developer_mobila
В ней рассматривается, как разработчики могут определить момент отмены задачи и корректно обработать это событие. Swift не прерывает выполнение задачи автоматически при ее отмене; вместо этого предоставляется информация о статусе отмены, и разработчик самостоятельно решает, как на это реагировать.
В статье представлены примеры использования API Task для проверки статуса отмены с помощью методов
Task.isCancelled
и Task.checkCancellation()
, а также даны рекомендации по эффективной обработке отмененных задач в асинхронном коде.https://swiftwithmajid.com/2025/02/11/task-cancellation-in-swift-concurrency/
#ios
👉 @developer_mobila
Подборка Telegram каналов для программистов
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
This media is not supported in your browser
VIEW IN TELEGRAM
Mantis — кроп для изображений в стиле Фото
Mantis — это библиотека для обрезки (кропа) изображений для iOS, написанная на Swift и обеспечивающая богатые возможности обрезки для вашего приложения для iOS/Mac. Поддерживает разные формы (в том числе кастомные), кнопку отмены.
https://github.com/guoyingtao/Mantis
#ios
👉 @developer_mobila
Mantis — это библиотека для обрезки (кропа) изображений для iOS, написанная на Swift и обеспечивающая богатые возможности обрезки для вашего приложения для iOS/Mac. Поддерживает разные формы (в том числе кастомные), кнопку отмены.
https://github.com/guoyingtao/Mantis
#ios
👉 @developer_mobila
Обновляем дорожную карту Android-разработчика в 2025 году
Прошло уже более трех лет с момента выпуска дорожной карты Android-разработчика, и технологии Android продолжают стремительно развиваться в различных областях. В то время Jetpack Compose только достиг стабильного релиза 1.0, и разработчики с нетерпением ждали его зрелости и развития экосистемы.
Со временем появилось множество решений и инструментов для решения проблем разработки, которые значительно улучшили проекты. В частности, значительно повысилась производительность Android Studio, а интеграции с искусственным интеллектом в IDE теперь помогают разработчикам писать код более эффективно. Однако основные принципы создания Android-приложений остались относительно стабильными.
В этой заметке мы рассмотрим серию статей, представивший всесторонний взгляд на разработку приложений для платформы Android, сообщество и рост разработчиков, а также оценим, остаются ли эти идеи актуальными сегодня.
https://proandroiddev.com/recap-the-android-developer-roadmap-in-2025-84bf11429302
#Android
👉 @developer_mobila
Прошло уже более трех лет с момента выпуска дорожной карты Android-разработчика, и технологии Android продолжают стремительно развиваться в различных областях. В то время Jetpack Compose только достиг стабильного релиза 1.0, и разработчики с нетерпением ждали его зрелости и развития экосистемы.
Со временем появилось множество решений и инструментов для решения проблем разработки, которые значительно улучшили проекты. В частности, значительно повысилась производительность Android Studio, а интеграции с искусственным интеллектом в IDE теперь помогают разработчикам писать код более эффективно. Однако основные принципы создания Android-приложений остались относительно стабильными.
В этой заметке мы рассмотрим серию статей, представивший всесторонний взгляд на разработку приложений для платформы Android, сообщество и рост разработчиков, а также оценим, остаются ли эти идеи актуальными сегодня.
https://proandroiddev.com/recap-the-android-developer-roadmap-in-2025-84bf11429302
#Android
👉 @developer_mobila
Media is too big
VIEW IN TELEGRAM
Переход с UIKit на SwiftUI — разработка трекера тренировок с нуля
00:00 - Intro
01:36 - Настройка проекта
02:57 - Создание модели User
04:06 - Отличие UIKit от SwiftUI
05:25 - Создание UserInfoView
06:48 - Создание ZStack
07:50 - Создание HStack
10:19 - Использование padding для Image
11:15 - Использование offset для Image
12:30 - Использование padding для Rectangle
14:09 - Использование alignmentGuide
16:35 - Размещение Text
20:36 - Создание ViewMetrics
25:18 - Лайк и Подписка
источник
#ios
👉 @developer_mobila
00:00 - Intro
01:36 - Настройка проекта
02:57 - Создание модели User
04:06 - Отличие UIKit от SwiftUI
05:25 - Создание UserInfoView
06:48 - Создание ZStack
07:50 - Создание HStack
10:19 - Использование padding для Image
11:15 - Использование offset для Image
12:30 - Использование padding для Rectangle
14:09 - Использование alignmentGuide
16:35 - Размещение Text
20:36 - Создание ViewMetrics
25:18 - Лайк и Подписка
источник
#ios
👉 @developer_mobila
Все знают, какие приложения установлены у вас в телефоне
Ещё несколько лет назад любое приложение, установленное на устройство с Android, могло без разрешений видеть все остальные приложения.
В 2022 году, с выпуском Android 11, Google удалила этот доступ для разработчиков приложений. Согласно новой политике видимости пакетов, приложения должны видеть другие приложения только в том случае, если те необходимы для их базовой функциональности. Кроме того, разработчики должны явным образом объявлять эти приложения в обязательном для всех приложений Android файле конфигурации AndroidManifest.xml.
В крайних случаях, например, для диспетчеров файлов, браузеров и антивирусов Google предоставляет исключение в виде разрешения QUERY_ALL_PACKAGES, которое позволяет видеть все установленные приложения.
На своём основном телефоне я не пользуюсь Android, но у меня есть запасной, и мне стало очень любопытно, какие приложения индийских компаний содержат проверки других установленных мной приложений.
Я скачал несколько десятков пришедших мне в голову приложений и начал изучать их файлы манифестов. Они ведь наверняка будут уважать мою конфиденциальность и запрашивать только те приложения, которые необходимы для их базовой функциональности?
https://habr.com/ru/articles/895774/
original https://peabee.substack.com/p/everyone-knows-what-apps-you-use
#Android
👉 @developer_mobila
Ещё несколько лет назад любое приложение, установленное на устройство с Android, могло без разрешений видеть все остальные приложения.
В 2022 году, с выпуском Android 11, Google удалила этот доступ для разработчиков приложений. Согласно новой политике видимости пакетов, приложения должны видеть другие приложения только в том случае, если те необходимы для их базовой функциональности. Кроме того, разработчики должны явным образом объявлять эти приложения в обязательном для всех приложений Android файле конфигурации AndroidManifest.xml.
В крайних случаях, например, для диспетчеров файлов, браузеров и антивирусов Google предоставляет исключение в виде разрешения QUERY_ALL_PACKAGES, которое позволяет видеть все установленные приложения.
На своём основном телефоне я не пользуюсь Android, но у меня есть запасной, и мне стало очень любопытно, какие приложения индийских компаний содержат проверки других установленных мной приложений.
Я скачал несколько десятков пришедших мне в голову приложений и начал изучать их файлы манифестов. Они ведь наверняка будут уважать мою конфиденциальность и запрашивать только те приложения, которые необходимы для их базовой функциональности?
https://habr.com/ru/articles/895774/
original https://peabee.substack.com/p/everyone-knows-what-apps-you-use
#Android
👉 @developer_mobila
This media is not supported in your browser
VIEW IN TELEGRAM
Bonsai 🌳 — небольшая библиотека для управления состоянием во ViewModel
Bonsai — это крошечная библиотека управления состоянием без зависимостей, созданная специально для использования во
Особенности
- Однонаправленный поток данных
- Без внешних зависимостей
- Простота в использовании
- Небольшой размер
- Объединяется с Kotlin Coroutines и Jetpack Compose
Пример использования
И затем, в Compose:
https://github.com/adrielcafe/bonsai
#Android
👉 @developer_mobila
Bonsai — это крошечная библиотека управления состоянием без зависимостей, созданная специально для использования во
ViewModel
. Она облегчает реализацию однонаправленного потока данных (unidirectional data flow) и отделяет логику управления состоянием от UI и бизнес-логики.Особенности
- Однонаправленный поток данных
- Без внешних зависимостей
- Простота в использовании
- Небольшой размер
- Объединяется с Kotlin Coroutines и Jetpack Compose
Пример использования
class CounterViewModel : BonsaiViewModel<CounterState>(CounterState()) {
fun increment() = reduce { state -> state.copy(count = state.count + 1) }
fun decrement() = reduce { state -> state.count.takeIf { it > 0 }?.let { state.copy(count = it - 1) } ?: state }
}
data class CounterState(val count: Int = 0)
И затем, в Compose:
val state by viewModel.state.collectAsState()
Text("Count: ${state.count}")
https://github.com/adrielcafe/bonsai
#Android
👉 @developer_mobila