Работа Backend-Driven UI на мобильном клиенте: опыт Ozon Tech
Подход Backend-Driven UI позволяет формировать интерфейс приложения через бэкенд. Он полезен в кейсах, когда нужно быстро обновить информацию в приложении и миновать ревью App Store, — например, объявления о распродаже в интернет-магазине.
Разработчики из Ozon Tech активно используют подход Backend-Driven UI. В статье они подробно рассказали, как они его применяют в проекте и какие преимущества и недостатки они выявили в процессе:
https://habr.com/ru/company/ozontech/blog/661941/
#ios
Подход Backend-Driven UI позволяет формировать интерфейс приложения через бэкенд. Он полезен в кейсах, когда нужно быстро обновить информацию в приложении и миновать ревью App Store, — например, объявления о распродаже в интернет-магазине.
Разработчики из Ozon Tech активно используют подход Backend-Driven UI. В статье они подробно рассказали, как они его применяют в проекте и какие преимущества и недостатки они выявили в процессе:
https://habr.com/ru/company/ozontech/blog/661941/
#ios
🔥9👍5❤1
Google Play приостанавливает возможность публикации платных приложений и их обновлений для разработчиков из России
Нововведение вступило в силу 5 мая. При этом бесплатные приложения и их обновления по-прежнему можно загружать в Google Play.
Все купленные до этого времени приложения останутся доступными для пользователей, а текущие подписки продолжат действовать до окончания их срока действия.
#android #googleplay
Нововведение вступило в силу 5 мая. При этом бесплатные приложения и их обновления по-прежнему можно загружать в Google Play.
Все купленные до этого времени приложения останутся доступными для пользователей, а текущие подписки продолжат действовать до окончания их срока действия.
#android #googleplay
👍39👎39🥰5🤬4😢4
Тестирование уведомлений Android-приложения
Раньше для тестов уведомлений было удобно использовать фреймворк UI Automator. Однако с конца 2018 года он перестал поддерживаться, и к текущему времени порядком устарел.
Поэтому автор статьи нашёл альтернативный вариант — использовать NotificationManager:
https://proandroiddev.com/creating-reliable-tests-for-android-notifications-4b3aa7aa147a
#android #тестирование
Раньше для тестов уведомлений было удобно использовать фреймворк UI Automator. Однако с конца 2018 года он перестал поддерживаться, и к текущему времени порядком устарел.
Поэтому автор статьи нашёл альтернативный вариант — использовать NotificationManager:
https://proandroiddev.com/creating-reliable-tests-for-android-notifications-4b3aa7aa147a
#android #тестирование
👍7
Учимся работать с Java Dynamic Proxy
В основе популярной библиотеки для работы с REST API Retrofit лежит технология Java Dynamic Proxy. Она позволяет во время работы приложения создать объект, реализующий несколько интерфейсов, и проксировать все его вызовы в специальный класс, реализующий интерфейс
Java Dynamic Proxy может применяться и для улучшения архитектуры Android-приложения. Как с ней работать, хорошо объяснено в ролике:
https://youtu.be/FGYbjBsCZ7c
#android #kotlin
В основе популярной библиотеки для работы с REST API Retrofit лежит технология Java Dynamic Proxy. Она позволяет во время работы приложения создать объект, реализующий несколько интерфейсов, и проксировать все его вызовы в специальный класс, реализующий интерфейс
InvocationHandler.Java Dynamic Proxy может применяться и для улучшения архитектуры Android-приложения. Как с ней работать, хорошо объяснено в ролике:
https://youtu.be/FGYbjBsCZ7c
#android #kotlin
👍9
Анимированный экран приветствия для iOS-приложения
Библиотека UIOnboarding поможет реализовать приветственный экран в духе приложения Apple Stocks. Она легко конфигурируется, написана на UIKit и поддерживает iOS и iPadOS не ниже 13 версии.
Кроме того, разработчик библиотеки не забыл про доступность. UIOnboarding поддерживает Dynamic Type, VoiceOver и Reduce Motion на всех устройствах от Apple, а также Split View и Slide Over на iPad.
#ios #библиотеки
Библиотека UIOnboarding поможет реализовать приветственный экран в духе приложения Apple Stocks. Она легко конфигурируется, написана на UIKit и поддерживает iOS и iPadOS не ниже 13 версии.
Кроме того, разработчик библиотеки не забыл про доступность. UIOnboarding поддерживает Dynamic Type, VoiceOver и Reduce Motion на всех устройствах от Apple, а также Split View и Slide Over на iPad.
#ios #библиотеки
👍12
Внедрение Jetpack Compose в существующий проект: опыт HeadHunter
Ищете, что посмотреть вечером воскресенья? Предлагаем глянуть ролик от ребят из hh, где они поделились опытом внедрения Compose в продакшн.
Что внутри:
— постановка амбициозной задачи перевести всю дизайн-систему приложения на Compose;
— боли и шишки, полученные в процессе внедрения Compose;
— советы по тому, стоит ли адаптировать Compose в продакшн:
https://youtu.be/_XJnMs_nKZY
#android #compose
Ищете, что посмотреть вечером воскресенья? Предлагаем глянуть ролик от ребят из hh, где они поделились опытом внедрения Compose в продакшн.
Что внутри:
— постановка амбициозной задачи перевести всю дизайн-систему приложения на Compose;
— боли и шишки, полученные в процессе внедрения Compose;
— советы по тому, стоит ли адаптировать Compose в продакшн:
https://youtu.be/_XJnMs_nKZY
#android #compose
👍11
Серия роликов MAD Skills про архитектуру Android-приложения
Короткие видео познакомят вас с архитектурными слоями и управлением данными:
1. The data layer
2. The UI layer
3. Handling UI events
4. The domain layer
5. Organizing modules
6. Entities
#android #архитектура
Короткие видео познакомят вас с архитектурными слоями и управлением данными:
1. The data layer
2. The UI layer
3. Handling UI events
4. The domain layer
5. Organizing modules
6. Entities
#android #архитектура
👍24
6 принципов, которые помогут лучше писать модули для iOS-приложений
Делимся переводом статьи, где iOS-разработчик подробно рассказал, каким принципам он следует при внедрении библиотеки или модуля в приложение:
https://tprg.ru/Yjqd
#ios #модули
Делимся переводом статьи, где iOS-разработчик подробно рассказал, каким принципам он следует при внедрении библиотеки или модуля в приложение:
https://tprg.ru/Yjqd
#ios #модули
👍6
Вышла новая версия Android Studio
Изменений немного, поскольку в релизе Android Studio Chipmunk разработчики сосредоточились на внедрении последних обновлений IntelliJ и исправлении ошибок.
Важно: если у вас пропал пункт Preferences в меню IDE, то в настройки Android Studio можно попасть через Tools -> SDK Manager.
Скачать Android Studio Chipmunk, как всегда, можно на официальном сайте.
#android
Изменений немного, поскольку в релизе Android Studio Chipmunk разработчики сосредоточились на внедрении последних обновлений IntelliJ и исправлении ошибок.
Важно: если у вас пропал пункт Preferences в меню IDE, то в настройки Android Studio можно попасть через Tools -> SDK Manager.
Скачать Android Studio Chipmunk, как всегда, можно на официальном сайте.
#android
👍22😢2
Визуализация в iOS голосовых сообщений, как в Telegram
Наверняка вы видели много раз, что в Telegram голосовые сообщения и другие аудиофайлы визуализируются с помощью столбчатой диаграммы.
Как реализовать подобное нативно на iOS и при этом без кучи сторонних библиотек, рассказал разработчик из Surf (без углубления в физику звука не обошлось):
https://habr.com/ru/company/surfstudio/blog/664792/
#ios
Наверняка вы видели много раз, что в Telegram голосовые сообщения и другие аудиофайлы визуализируются с помощью столбчатой диаграммы.
Как реализовать подобное нативно на iOS и при этом без кучи сторонних библиотек, рассказал разработчик из Surf (без углубления в физику звука не обошлось):
https://habr.com/ru/company/surfstudio/blog/664792/
#ios
👍10
Где вы получаете / получили необходимые навыки для работы в IT?
Anonymous Poll
25%
Учебное заведение (школа, вуз)
11%
Офлайн курсы
16%
Платные онлайн курсы
25%
Бесплатные онлайн курсы
70%
Самообразование
12%
Посмотреть результаты
Принципы SOLID с примерами на Kotlin
Принципы SOLID представляют собой пять правил разработки ПО. Следуя им, вы сможете писать масштабируемый и легко поддерживаемый код.
В статье наглядно показано, как плохой код на Kotlin можно преобразовать в качественный при помощи принципов SOLID,
Кстати, если вы не знакомы с принципами, то рекомендуем прочитать перевод статьи, где даётся простое объяснение принципов SOLID в картинках.
#kotlin #архитектура
Принципы SOLID представляют собой пять правил разработки ПО. Следуя им, вы сможете писать масштабируемый и легко поддерживаемый код.
В статье наглядно показано, как плохой код на Kotlin можно преобразовать в качественный при помощи принципов SOLID,
Кстати, если вы не знакомы с принципами, то рекомендуем прочитать перевод статьи, где даётся простое объяснение принципов SOLID в картинках.
#kotlin #архитектура
👍27💩4🔥3👏1
8 вакансий для мобильных разработчиков
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс iOS в OTUS
Опыт: От 5 лет
Где: Удалённо
— Android-разработчик в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс Flutter в OTUS
Опыт: От 3 лет
Где: Удалённо
#вакансии #работа
— iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва
— Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс iOS в OTUS
Опыт: От 5 лет
Где: Удалённо
— Android-разработчик в МТС
Опыт: От 1 года
Где: Москва, можно удалённо
— Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо
— Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо
— Преподаватель на курс Flutter в OTUS
Опыт: От 3 лет
Где: Удалённо
#вакансии #работа
👎13👍6😁2
Применяем фильтры к фото в iOS-приложении: введение в Core Image
Фреймворк Core Image позволяет применять фильтры для обработки изображений. Вы можете изменять множество параметров фото, например яркость, оттенки и экспозицию. При этом фреймворк работает достаточно шустро, поскольку задействует CPU или GPU устройства.
Разобраться с основами обработки изображений в iOS-приложении поможет гайд:
https://www.raywenderlich.com/30195423-core-image-tutorial-getting-started
#ios #начинающим
Фреймворк Core Image позволяет применять фильтры для обработки изображений. Вы можете изменять множество параметров фото, например яркость, оттенки и экспозицию. При этом фреймворк работает достаточно шустро, поскольку задействует CPU или GPU устройства.
Разобраться с основами обработки изображений в iOS-приложении поможет гайд:
https://www.raywenderlich.com/30195423-core-image-tutorial-getting-started
#ios #начинающим
На прошедшей Google I/O представили вторую бету Android 13
По сравнению с первой бетой, изменений мало. Но протестировать систему теперь можно не только на Pixel: список поддерживаемых девайсов пополнили смартфоны, планшеты и складные устройства ещё от 11 производителей.
#android
По сравнению с первой бетой, изменений мало. Но протестировать систему теперь можно не только на Pixel: список поддерживаемых девайсов пополнили смартфоны, планшеты и складные устройства ещё от 11 производителей.
#android
❤1👍1
Вышел Flutter 3
Большое обновление фреймворка для кроссплатформенной разработки принесло множество новых функций и улучшений:
— версия для десктопных платформ (macOS, Linux и Windows) достигла стадии stable;
— поддержка складных устройств;
— встроенная поддержка Material 3;
— обновление линтера до версии 2.0;
— поддержка частоты рендеринга на iOS до 120 Гц;
— Flutter 3 стала последней версией, поддерживающей 32-битную iOS, а также iOS 9 и 10.
Подробнее о нововведениях можно почитать в блоге Flutter.
#flutter
Большое обновление фреймворка для кроссплатформенной разработки принесло множество новых функций и улучшений:
— версия для десктопных платформ (macOS, Linux и Windows) достигла стадии stable;
— поддержка складных устройств;
— встроенная поддержка Material 3;
— обновление линтера до версии 2.0;
— поддержка частоты рендеринга на iOS до 120 Гц;
— Flutter 3 стала последней версией, поддерживающей 32-битную iOS, а также iOS 9 и 10.
Подробнее о нововведениях можно почитать в блоге Flutter.
#flutter
👍34🔥7
Google планирует выстроить вокруг Android масштабную экосистему различных устройств
По заявлению Google, они строят будущее, где все будут пользоваться множеством устройств. Чтобы user experience стал ещё комфортнее, компания развивает три основных направления:
1. Больше возможностей Android-смартфонов.
Google представила приложение Google Wallet для хранения банковских карт, билетов на мероприятия, студенческих карт, а в будущем ключей от номеров отелей и офисных пропусков.
Кроме того, Google развивает новый стандарт Rich Communication Services (RCS), который должен прийти на замену SMS. А для экстренных сообщений разрабатываются Emergency Location Services (ELS), которые работают уже в нескольких странах.
2. Приложения и сервисы за пределами смартфона.
Google продолжает развивать Wear OS для носимых устройств, а также сферу планшетов.
3. Улучшенное взаимодействие устройств.
По задумке Google, будет проще переносить просмотр видео, например, со смартфона на телевизор или данные из буфера обмена с телефона на планшет.
#android
По заявлению Google, они строят будущее, где все будут пользоваться множеством устройств. Чтобы user experience стал ещё комфортнее, компания развивает три основных направления:
1. Больше возможностей Android-смартфонов.
Google представила приложение Google Wallet для хранения банковских карт, билетов на мероприятия, студенческих карт, а в будущем ключей от номеров отелей и офисных пропусков.
Кроме того, Google развивает новый стандарт Rich Communication Services (RCS), который должен прийти на замену SMS. А для экстренных сообщений разрабатываются Emergency Location Services (ELS), которые работают уже в нескольких странах.
2. Приложения и сервисы за пределами смартфона.
Google продолжает развивать Wear OS для носимых устройств, а также сферу планшетов.
3. Улучшенное взаимодействие устройств.
По задумке Google, будет проще переносить просмотр видео, например, со смартфона на телевизор или данные из буфера обмена с телефона на планшет.
#android
👍20🔥3👎1
Что ещё показали на Google I/O
В этом посте мы расскажем обо всех остальных новинках и обновлениях из Android-разработки:
1. Вышла бета-версия Jetpack Compose 1.2.
2. Compose для Wear OS перешёл в статус беты.
3. Все нововведения бета-версии Android Studio Dolphin.
4. Что нового в Android for Cars.
5. Что нового в Android TV и Google TV.
6. Что нового в Google Play.
7. Новый Google Wallet API.
8. Новый инструмент Health Connect для единого безопасного доступа к пользовательским данным о здоровье и спорте.
Записи всех выступлений по Android и Google Play доступны в плейлисте на YouTube.
#android
В этом посте мы расскажем обо всех остальных новинках и обновлениях из Android-разработки:
1. Вышла бета-версия Jetpack Compose 1.2.
2. Compose для Wear OS перешёл в статус беты.
3. Все нововведения бета-версии Android Studio Dolphin.
4. Что нового в Android for Cars.
5. Что нового в Android TV и Google TV.
6. Что нового в Google Play.
7. Новый Google Wallet API.
8. Новый инструмент Health Connect для единого безопасного доступа к пользовательским данным о здоровье и спорте.
Записи всех выступлений по Android и Google Play доступны в плейлисте на YouTube.
#android
👍7
Приложение Now in Android от Google, совмещающее в себе несколько полезных практик разработки
Now in Android — серия материалов от команды Android, в которых рассказывают о новостях, интересных статьях и крутых инструментах для Android-разработчиков.
Google опубликовала исходный код приложения Now in Android. В репозитории на GitHub вы можете познакомиться с примером реализации дизайна на Material3, а также с передовыми практиками разработки.
Репозиторий: https://github.com/android/nowinandroid
#android
Now in Android — серия материалов от команды Android, в которых рассказывают о новостях, интересных статьях и крутых инструментах для Android-разработчиков.
Google опубликовала исходный код приложения Now in Android. В репозитории на GitHub вы можете познакомиться с примером реализации дизайна на Material3, а также с передовыми практиками разработки.
Репозиторий: https://github.com/android/nowinandroid
#android
👍22🔥8
Записи докладов с Mobius 2021 Moscow
На днях выложили записи всех докладов с Mobius 2021 Moscow — масштабной конференции для мобильных разработчиков. Выступления покрывают множество тем: от проработки UI приложения и его доступности до архитектуры и работы iOS и Android «под капотом»
Все видео можно найти в YouTube-плейлисте.
#android #доклады #ios
На днях выложили записи всех докладов с Mobius 2021 Moscow — масштабной конференции для мобильных разработчиков. Выступления покрывают множество тем: от проработки UI приложения и его доступности до архитектуры и работы iOS и Android «под капотом»
Все видео можно найти в YouTube-плейлисте.
#android #доклады #ios
👍14❤3👎3
Правильно подключаем тяжёлые зависимости к Xcode-проекту через Swift Package Manager
При подключении тяжёлых зависимостей через SPM может возникнуть множество проблем. Например, существенно увеличивается время «холодной» сборки проекта и время индексации файлов.
Вариант решения — использовать заранее скомпилированные через XCFramework файлы библиотек. И если XCFramework-файла нет для нужной либы, то его можно собрать самому.
Подробнее — в статье:
https://habr.com/ru/post/665790/
#ios #зависимости
При подключении тяжёлых зависимостей через SPM может возникнуть множество проблем. Например, существенно увеличивается время «холодной» сборки проекта и время индексации файлов.
Вариант решения — использовать заранее скомпилированные через XCFramework файлы библиотек. И если XCFramework-файла нет для нужной либы, то его можно собрать самому.
Подробнее — в статье:
https://habr.com/ru/post/665790/
#ios #зависимости
👍4🔥1