Исследуем возможности Android 13: переключение языка приложения в реальном времени
В Android 13 появилось новое API, которое позволяет выбрать язык приложения вне зависимости от системного.
Из статьи вы узнаете, как на примере простого приложения реализовать переключение языка приложения и смену локализованных строк:
https://proandroiddev.com/exploring-the-new-android-13-per-app-language-preferences-8d99b971b578
#android
В Android 13 появилось новое API, которое позволяет выбрать язык приложения вне зависимости от системного.
Из статьи вы узнаете, как на примере простого приложения реализовать переключение языка приложения и смену локализованных строк:
https://proandroiddev.com/exploring-the-new-android-13-per-app-language-preferences-8d99b971b578
#android
👍7
Интерактивные анимации в SwiftUI
Хоть по части анимаций фреймворк SwiftUI не так гибок, как UIKit, он существенно уменьшает работу над созданием анимаций.
Если хотите познакомиться с созданием анимаций на SwiftUI, рекомендуем статью, где объясняется процесс создания кастомного компонента
https://swiftcraft.io/blog/a-closer-look-at-interactive-animations-in-swiftui
#ios #swiftui #ui
Хоть по части анимаций фреймворк SwiftUI не так гибок, как UIKit, он существенно уменьшает работу над созданием анимаций.
Если хотите познакомиться с созданием анимаций на SwiftUI, рекомендуем статью, где объясняется процесс создания кастомного компонента
.sheet():https://swiftcraft.io/blog/a-closer-look-at-interactive-animations-in-swiftui
#ios #swiftui #ui
👍7
Реализация списка карточек для iOS
Ведущий iOS-разработчик в «Туту.ру» рассказал, как можно добавить список карточек в iOS-приложение с учётом практик чистого кода. В статье он подробно рассмотрел два подхода:
— через UITableView (решение в лоб);
— связка UICollectionView и UICollectionViewCompositionalLayout (для iOS 13+).
Полный код проекта из статьи:
https://github.com/onsissond/PassengerList_iOS13
#ios
Ведущий iOS-разработчик в «Туту.ру» рассказал, как можно добавить список карточек в iOS-приложение с учётом практик чистого кода. В статье он подробно рассмотрел два подхода:
— через UITableView (решение в лоб);
— связка UICollectionView и UICollectionViewCompositionalLayout (для iOS 13+).
Полный код проекта из статьи:
https://github.com/onsissond/PassengerList_iOS13
#ios
👍8
Создание игры на Flutter
Делимся серией уроков, где подробно показана реализация игры на космическую тематику:
https://www.youtube.com/playlist?list=PLY8G5DMG6TiPtqZVvOsKbQFlkQqFRT48j
Игра будет написана с нуля на чистом Dart. Пользователю предстоит управлять космическим кораблём и избегать столкновения с астероидами.
#flutter #начинающим
Делимся серией уроков, где подробно показана реализация игры на космическую тематику:
https://www.youtube.com/playlist?list=PLY8G5DMG6TiPtqZVvOsKbQFlkQqFRT48j
Игра будет написана с нуля на чистом Dart. Пользователю предстоит управлять космическим кораблём и избегать столкновения с астероидами.
#flutter #начинающим
YouTube
Flutter. Создаем игру на чистом Dart.
Приветствую 🖐 друзья, в данных видео уроках мы с вами создадим игру на Flutter на чистом Dart от начала и до конца. При этом, мы не будем использовать готовые движки, все напишем сами.
🤝 Поддержка канала:
✅ ВКонтакте: https://vk.com/donate_app?mid=-193881724…
🤝 Поддержка канала:
✅ ВКонтакте: https://vk.com/donate_app?mid=-193881724…
👍10🔥1🤮1
Jetpack Glance для создания виджетов приложений: ответы на самые популярные вопросы
Инструмент jetpack Glance упрощает реализацию виджетов и работает поверх рантайма Jetpack Compose. Но важно понимать, что фреймворк имеет ряд ограничений и трудно совместим с кодом на Compose.
Поэтому в статье собраны основные ответы на вопросы по созданию виджетов, их стилизации, а также по связанным инструментарием Android Studio:
https://medium.com/androiddevelopers/demystifying-jetpack-glance-for-app-widgets-8fbc7041955c
Если вы хотите попробовать Glance в деле, то можете воспользоваться гайдом, как сделать первый виджет на Jetpack Glance.
#android #jetpack
Инструмент jetpack Glance упрощает реализацию виджетов и работает поверх рантайма Jetpack Compose. Но важно понимать, что фреймворк имеет ряд ограничений и трудно совместим с кодом на Compose.
Поэтому в статье собраны основные ответы на вопросы по созданию виджетов, их стилизации, а также по связанным инструментарием Android Studio:
https://medium.com/androiddevelopers/demystifying-jetpack-glance-for-app-widgets-8fbc7041955c
Если вы хотите попробовать Glance в деле, то можете воспользоваться гайдом, как сделать первый виджет на Jetpack Glance.
#android #jetpack
👍3
Google Play приостанавливает биллинговую систему для пользователей из России
Это значит, что российские пользователи не смогут покупать приложения и игры, покупать и продлять подписки, а также совершать внутриигровые покупки.
Скорее всего, меры приняты в связи с уходом из России платёжных систем Visa и Mastercard, из-за чего невозможно провести транзакции за пределы страны.
#googleplay #android
Это значит, что российские пользователи не смогут покупать приложения и игры, покупать и продлять подписки, а также совершать внутриигровые покупки.
Скорее всего, меры приняты в связи с уходом из России платёжных систем Visa и Mastercard, из-за чего невозможно провести транзакции за пределы страны.
#googleplay #android
💩48👍39😢16😁5❤3
Android 12L для крупных экранов вышла из беты
Если вы пропустили анонс системы: Android 12L рассчитана на планшеты и складные устройства. Она отличается от Android 12 адаптированным UI, режимом split screen и панелью быстрого доступа для приложений.
Пока систему можно попробовать только в эмуляторе. Позже в этом году обновление системы придёт на некоторые устройства от Lenovo, Samsung и Microsoft.
#android
Если вы пропустили анонс системы: Android 12L рассчитана на планшеты и складные устройства. Она отличается от Android 12 адаптированным UI, режимом split screen и панелью быстрого доступа для приложений.
Пока систему можно попробовать только в эмуляторе. Позже в этом году обновление системы придёт на некоторые устройства от Lenovo, Samsung и Microsoft.
#android
🔥7
Forwarded from Представляешь,
приложение ВТБ перестало работать на iPhone
Об этом сообщил портал РИА «Новости», но и сами пользователи iPhone могут в этом убедиться. При попытке войти в приложение появляется уведомление *«Версия вашего приложения устарела и может работать неправильно. Пожалуйста, обновите приложение»,* но даже при обновлении приложения до последней версии ситуация не меняется.
ВТБ же разослала сообщение клиентам банка с предупреждением о возможной проблеме в работе приложения и предложением совершать необходимые операции в интернет-банке на сайте.
Об этом сообщил портал РИА «Новости», но и сами пользователи iPhone могут в этом убедиться. При попытке войти в приложение появляется уведомление *«Версия вашего приложения устарела и может работать неправильно. Пожалуйста, обновите приложение»,* но даже при обновлении приложения до последней версии ситуация не меняется.
ВТБ же разослала сообщение клиентам банка с предупреждением о возможной проблеме в работе приложения и предложением совершать необходимые операции в интернет-банке на сайте.
🥰9👍5
Лайфхаки по многомодульности в iOS
Когда над проектом работает 10 iOS-разработчиков, становится трудно поддерживать приложение в стабильном состоянии.
Разработчики из HeadHunter использовали такой подход: они разделили приложение на фичи — Xcode-проекты со своим изолированным кодом и необходимыми ресурсами и тестами. Но возникло три основных проблемы:
— сложно поддерживать большое количество фич;
— медленная компиляция;
— сложность разработки в большом проекте с договорённостями и многочисленными связями.
Как им удалось решить проблемы:
https://habr.com/ru/company/hh/blog/654771/
#ios
Когда над проектом работает 10 iOS-разработчиков, становится трудно поддерживать приложение в стабильном состоянии.
Разработчики из HeadHunter использовали такой подход: они разделили приложение на фичи — Xcode-проекты со своим изолированным кодом и необходимыми ресурсами и тестами. Но возникло три основных проблемы:
— сложно поддерживать большое количество фич;
— медленная компиляция;
— сложность разработки в большом проекте с договорённостями и многочисленными связями.
Как им удалось решить проблемы:
https://habr.com/ru/company/hh/blog/654771/
#ios
👍10🔥2
В Android можно будет архивировать приложения
Когда у пользователей заканчивается свободное место на смартфоне, они удаляют приложения. Чтобы уменьшить количество удалений, Google работает над новой функциональностью — архивацией приложений.
Как сообщается, для Android-приложений, собранных с помощью Android Gradle Plugin 7.3, будет доступен новый тип APK — archived APK. Они сокращают объём занимаемой памяти примерно на 60% и позволяют сохранить все пользовательские данные до восстановления приложения.
Точной даты запуска архивации нет, но функциональность планируется запустить уже в этом году.
#android
Когда у пользователей заканчивается свободное место на смартфоне, они удаляют приложения. Чтобы уменьшить количество удалений, Google работает над новой функциональностью — архивацией приложений.
Как сообщается, для Android-приложений, собранных с помощью Android Gradle Plugin 7.3, будет доступен новый тип APK — archived APK. Они сокращают объём занимаемой памяти примерно на 60% и позволяют сохранить все пользовательские данные до восстановления приложения.
Точной даты запуска архивации нет, но функциональность планируется запустить уже в этом году.
#android
👍26
Особенности Swift, которые ускорят и облегчат процесс iOS-разработки
Ребята из КРОК рассказали о фичах Swift, о которых вы могли не знать, — опционалах, операторе guard, wildcard, объявлении констант, функциях высшего порядка и атрибутах доступа.
Всё объяснено простым языком и с примерами кода:
https://tprg.ru/QGxM
#ios #swift
Ребята из КРОК рассказали о фичах Swift, о которых вы могли не знать, — опционалах, операторе guard, wildcard, объявлении констант, функциях высшего порядка и атрибутах доступа.
Всё объяснено простым языком и с примерами кода:
https://tprg.ru/QGxM
#ios #swift
👍10💩10
Большое наглядное руководство по Jetpack Compose
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
Нашли интересное приложение, где собрано огромное количество туториалов по Jetpack Compose, в том числе по навигации, анимации, работе с состояниями, виджетами Material и не только. Труда вложено немало — разработчик работал над приложением в течение года.
Весь контент разбит по главам с системой тегов. Множество элементов показано наглядно, и их устройство можно посмотреть в коде:
https://github.com/SmartToolFactory/Jetpack-Compose-Tutorials
#android #начинающим
👍32👎1
Модификатор graphicsLayer для анимаций в Jetpack Compose
В статье разобраны возможности модификатора
https://medium.com/mobile-app-development-publication/have-fun-with-jetpack-compose-graphicslayer-modifier-e39c12a4791f
Весь код примеров из статьи доступен на GitHub.
#compose #android
В статье разобраны возможности модификатора
graphicsLayer на примере переворачивающихся двусторонних карточек:https://medium.com/mobile-app-development-publication/have-fun-with-jetpack-compose-graphicslayer-modifier-e39c12a4791f
Весь код примеров из статьи доступен на GitHub.
#compose #android
👍11🤔3💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Улучшенный swipe-компонент для Jetpack Compose
В Compose существует SwipeToDismiss, который позволяет смахнуть компонент влево или вправо. Однако действие удаляет элемент.
Если вам нужно выполнить действия и сохранить элемент на экране, то можно использовать компонент swipe.
Как использовать: https://github.com/saket/swipe
#compose #android #библиотеки
В Compose существует SwipeToDismiss, который позволяет смахнуть компонент влево или вправо. Однако действие удаляет элемент.
Если вам нужно выполнить действия и сохранить элемент на экране, то можно использовать компонент swipe.
Как использовать: https://github.com/saket/swipe
#compose #android #библиотеки
🔥20👍8
Как определить причину запуска процесса Android-приложения
Напрямую через API это сделать нельзя, но можно выяснить по косвенному признаку — уровню важности процесса. Подробнее — в статье:
https://habr.com/ru/company/otus/blog/655005/
Это перевод продолжения статьи про холодный запуск Android-приложения.
#android
Напрямую через API это сделать нельзя, но можно выяснить по косвенному признаку — уровню важности процесса. Подробнее — в статье:
https://habr.com/ru/company/otus/blog/655005/
Это перевод продолжения статьи про холодный запуск Android-приложения.
#android
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Анимированная кнопка загрузки на SwiftUI
В основной части кнопки реализован эффект волны, а по краям — плавное изменение цвета кольца. Как вам?
Кода в открытом доступе пока нет, но автор планирует сделать туториал.
#ios #swiftui #ui
В основной части кнопки реализован эффект волны, а по краям — плавное изменение цвета кольца. Как вам?
Кода в открытом доступе пока нет, но автор планирует сделать туториал.
#ios #swiftui #ui
🔥43👍10❤2👎1
Руководство по архитектуре приложений для Android
В декабре 2021 года Google обновила гайды по архитектуре Android-приложений. Если вам привычнее читать материалы на русском языке, то рекомендуем почитать качественный перевод гайдов:
1. Обзор архитектуры.
2. Слой UI.
3. События UI.
4. Доменный слой.
5. Слой данных.
#android #начинающим
В декабре 2021 года Google обновила гайды по архитектуре Android-приложений. Если вам привычнее читать материалы на русском языке, то рекомендуем почитать качественный перевод гайдов:
1. Обзор архитектуры.
2. Слой UI.
3. События UI.
4. Доменный слой.
5. Слой данных.
#android #начинающим
👍23🔥6
Пример Android-проекта с «чистой» архитектурой MVVM
Внутри проекта используются корутины, Hilt, Room и Kotlin Flow. Структура проекта рассмотрена в статье, а весь код можно посмотреть на GitHub.
#android #архитектура
Внутри проекта используются корутины, Hilt, Room и Kotlin Flow. Структура проекта рассмотрена в статье, а весь код можно посмотреть на GitHub.
#android #архитектура
👍24👎1
Stack и Heap в Swift
Делимся годнотой для начинающих iOS-разработчиков. В видео рассмотрены структуры данных стек (Stack) и куча (Heap) в Swift, их различия и примеры их использования в реальных проектах:
https://youtu.be/4ocXiQ6mIuk
#swift #ios #начинающим
Делимся годнотой для начинающих iOS-разработчиков. В видео рассмотрены структуры данных стек (Stack) и куча (Heap) в Swift, их различия и примеры их использования в реальных проектах:
https://youtu.be/4ocXiQ6mIuk
#swift #ios #начинающим
YouTube
Swift - Stack vs Heap
In this video we look at:
- What the Swift stack and heap are
- How they are difference
- How they help us write better programs
0:00 Intro
0:47 What is a stack
1:27 What is a heap
1:50 How are they different
3:18 A working example
🤖 Source code
http…
- What the Swift stack and heap are
- How they are difference
- How they help us write better programs
0:00 Intro
0:47 What is a stack
1:27 What is a heap
1:50 How are they different
3:18 A working example
🤖 Source code
http…
👍5
Дружит ли React Native с Jetpack Compose?
Оказывается, вполне. Compose позволяет создавать собственные компоненты для React Native и упрощает для RN-разработчиков миграцию на нативный стек, поскольку использует декларативный подход.
Опытом интеграции Compose в существующий RN-проект поделился руководитель Android-разработки в «СберМаркете»:
https://habr.com/ru/company/sbermarket/blog/652683/
#react_native #compose
Оказывается, вполне. Compose позволяет создавать собственные компоненты для React Native и упрощает для RN-разработчиков миграцию на нативный стек, поскольку использует декларативный подход.
Опытом интеграции Compose в существующий RN-проект поделился руководитель Android-разработки в «СберМаркете»:
https://habr.com/ru/company/sbermarket/blog/652683/
#react_native #compose
👍2
Как выложить Android-библиотеку в open source: пошаговая инструкция
Реализовали крутую библиотеку? Не спешите выкладывать на GitHub и JitPack. Перед этим нужно подготовить проект к публикации: очистить код от коммерческой информации, «причесать» readme, выбрать лицензию распространения ПО и не только.
Подробнее обо всех шагах — в статье:
https://habr.com/ru/company/indriver/blog/655721/
#android #библиотеки
Реализовали крутую библиотеку? Не спешите выкладывать на GitHub и JitPack. Перед этим нужно подготовить проект к публикации: очистить код от коммерческой информации, «причесать» readme, выбрать лицензию распространения ПО и не только.
Подробнее обо всех шагах — в статье:
https://habr.com/ru/company/indriver/blog/655721/
#android #библиотеки