Руководство по архитектуре приложений для 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 #библиотеки
Нужен ли Objective-C в 2022 году?
Несмотря на всё удобство языка Swift, Objective-C по-прежнему используется в разработке iOS-приложений. И вот некоторые из причин:
— проекты возрастом больше 2-3 лет, вероятнее всего, имеют части кода на Objective-C, и их нужно поддерживать;
— Objective-C хорошо «стыкуется» с внутренним кодом ОС от Apple;
— в Objective-С управление памятью намного функциональнее, чем в Swift.
Мобильные разработчики из КРОК разобрали в статье сферы применения Objective-C и выяснили, стоит ли iOS-разработчику знать этот язык в 2022 году:
https://tprg.ru/qQbD
#ios #objc
Несмотря на всё удобство языка Swift, Objective-C по-прежнему используется в разработке iOS-приложений. И вот некоторые из причин:
— проекты возрастом больше 2-3 лет, вероятнее всего, имеют части кода на Objective-C, и их нужно поддерживать;
— Objective-C хорошо «стыкуется» с внутренним кодом ОС от Apple;
— в Objective-С управление памятью намного функциональнее, чем в Swift.
Мобильные разработчики из КРОК разобрали в статье сферы применения Objective-C и выяснили, стоит ли iOS-разработчику знать этот язык в 2022 году:
https://tprg.ru/qQbD
#ios #objc
👍8👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать BottomSheet со скругленными углами
Автор гайда показал, как можно реализовать нужный дизайн BottomSheet с Canvas и XML:
https://proandroiddev.com/curved-corner-bottomsheet-using-canvas-and-xml-59c30c02d56f
#android
Автор гайда показал, как можно реализовать нужный дизайн BottomSheet с Canvas и XML:
https://proandroiddev.com/curved-corner-bottomsheet-using-canvas-and-xml-59c30c02d56f
#android
👎16👍5
Создание полей ввода и подтверждения пароля на Jetpack Compose
В Compose нет встроенного компонента, который позволит создать функциональную и безопасную форму ввода пароля. Для её создания может пригодиться полезная статья от GDE, где подробно разбирается реализация формы ввода пароля с учётом лучших практик Compose:
https://medium.com/google-developer-experts/how-to-create-a-composable-password-with-jetpack-compose-f1be2d48d9f0
#compose #android
В Compose нет встроенного компонента, который позволит создать функциональную и безопасную форму ввода пароля. Для её создания может пригодиться полезная статья от GDE, где подробно разбирается реализация формы ввода пароля с учётом лучших практик Compose:
https://medium.com/google-developer-experts/how-to-create-a-composable-password-with-jetpack-compose-f1be2d48d9f0
#compose #android
👍11
Вышла Android 13 Developer Preview 2
Что интересного появилось в новой версии:
— новое разрешение POST_NOTIFICATIONS, которое управляет получением уведомлений от приложения;
— отзыв у приложений некоторых разрешений, которые долго не использовались;
— встроенная поддержка Bluetooth LE Audio и MIDI 2.0.
Запустить Developer Preview 2 можно на устройствах Pixel и в эмуляторе.
Следующая версия Android 13 уже выйдет в статусе беты в апреле.
#android
Что интересного появилось в новой версии:
— новое разрешение POST_NOTIFICATIONS, которое управляет получением уведомлений от приложения;
— отзыв у приложений некоторых разрешений, которые долго не использовались;
— встроенная поддержка Bluetooth LE Audio и MIDI 2.0.
Запустить Developer Preview 2 можно на устройствах Pixel и в эмуляторе.
Следующая версия Android 13 уже выйдет в статусе беты в апреле.
#android
👍7💩5
Разбираемся с разрешением на отправку уведомлений в Android 13
С Android 13 DP 2 стало доступно разрешение
https://proandroiddev.com/notification-runtime-permission-android13-190c796254d5
#android
С Android 13 DP 2 стало доступно разрешение
POST_NOTIFICATIONS, и его уже можно опробовать в деле. В статье объясняется, как работать с разрешением и что необходимо для подготовки своего приложения к Android 13:https://proandroiddev.com/notification-runtime-permission-android13-190c796254d5
#android
👍8
В сервисах Apple случился массовый сбой
Из App Store и TestFlight нельзя скачать приложения. Также не открывается сайт Apple Developer и не работают различные сервисы, например Apple Music, Apple TV+, iCloud и другие.
В этот раз пострадали не только жители РФ, но и пользователи по всему миру.
На сайте Apple доступна вся актуальная информация по сбоям.
#ios
Из App Store и TestFlight нельзя скачать приложения. Также не открывается сайт Apple Developer и не работают различные сервисы, например Apple Music, Apple TV+, iCloud и другие.
В этот раз пострадали не только жители РФ, но и пользователи по всему миру.
На сайте Apple доступна вся актуальная информация по сбоям.
#ios
😱8👍2
Работа с базой данных SQLite в Android
Серия роликов познакомит с тем, как создать базу данных SQLite, добавить её в Android-приложение и эффективно работать с данными:
1. Основы SQLite.
Из видео вы научитесь создавать структуру базы данных и простые SQL-запросы.
2. SQLite API.
В ролике показано, как добавить базу данных в Android-проект и какие возможности работы с БД имеются в Android SDK.
#android #начинающим
Серия роликов познакомит с тем, как создать базу данных SQLite, добавить её в Android-приложение и эффективно работать с данными:
1. Основы SQLite.
Из видео вы научитесь создавать структуру базы данных и простые SQL-запросы.
2. SQLite API.
В ролике показано, как добавить базу данных в Android-проект и какие возможности работы с БД имеются в Android SDK.
#android #начинающим
YouTube
Android - SQLite (бази даних, частина 1)
Основи баз даних SQLite. Android SDK із коробки пропонує API для роботи з базою даних SQLite, тому ця база вважається стандартною в Android-розробці. У цьому відео розбираємо базу даних SQLite, використовуючи програму DB Browser For SQLite. У ній вчимося…
🔥10👍8🤔2💩2
Введение в Accessibility в Jetpack Compose
Держите большое вводное руководство, которое подскажет, как адаптировать интерфейс Android-приложения на Compose для слабовидящих и незрячих людей:
https://www.raywenderlich.com/30117730-jetpack-compose-accessibility-getting-started
#android #начинающим #compose #accessibility
Держите большое вводное руководство, которое подскажет, как адаптировать интерфейс Android-приложения на Compose для слабовидящих и незрячих людей:
https://www.raywenderlich.com/30117730-jetpack-compose-accessibility-getting-started
#android #начинающим #compose #accessibility
OAuth в мобильных приложениях
Для авторизации пользователя с помощью соцсетей используется протокол OAuth. Поэтому мобильным разработчикам приходится разбираться с работой OAuth.
В статье рассмотрены основные нюансы OAuth, а также настройка OAuth в Android-приложении с использованием библиотеки AppAuth:
https://habr.com/ru/company/kts/blog/654029/
#android #ios
Для авторизации пользователя с помощью соцсетей используется протокол OAuth. Поэтому мобильным разработчикам приходится разбираться с работой OAuth.
В статье рассмотрены основные нюансы OAuth, а также настройка OAuth в Android-приложении с использованием библиотеки AppAuth:
https://habr.com/ru/company/kts/blog/654029/
#android #ios
👍6🔥5
Фичи Kotlin: полезные и не очень
В Kotlin есть много разных фичей: расширения, вывод типов, лямбды с ресивером, функциональные типы. Многие из этих фичей делают жизнь программиста сильно проще. Но есть и субъективное мнение, что некоторые из этих возможностей могут доставлять головную боль.
В этом докладе разработчик рассматривает некоторые фичи Kotlin типа синтаксического сахара, библиотек и некоторых моментов дизайна языка и оценивает их полезность и элегантность: https://youtu.be/X0M_I8p9jJ0
Доклад будет особенно полезен Java-разработчикам, которые рассматривают переход на Kotlin в своих проектах.
#kotlin
В Kotlin есть много разных фичей: расширения, вывод типов, лямбды с ресивером, функциональные типы. Многие из этих фичей делают жизнь программиста сильно проще. Но есть и субъективное мнение, что некоторые из этих возможностей могут доставлять головную боль.
В этом докладе разработчик рассматривает некоторые фичи Kotlin типа синтаксического сахара, библиотек и некоторых моментов дизайна языка и оценивает их полезность и элегантность: https://youtu.be/X0M_I8p9jJ0
Доклад будет особенно полезен Java-разработчикам, которые рассматривают переход на Kotlin в своих проектах.
#kotlin
👍25
Масштабируемая модульная архитектура для iOS
Автор статьи не рассказывает здесь о UI-архитектурах типа MVVM, MVP, VIPER, VIP. Когда речь идёт о больших приложениях, то архитектура — это то, как происходит взаимодействие между компонентами. Также важный момент в архитектуре больших приложений — возможность добавлять новые фичи и тестировать компоненты без высокой вероятность сломать что-то в другом месте приложения.
На примере простого приложения с фильмами автор показывает пример такой архитектуры: https://tprg.ru/IuS4
#ios
Автор статьи не рассказывает здесь о UI-архитектурах типа MVVM, MVP, VIPER, VIP. Когда речь идёт о больших приложениях, то архитектура — это то, как происходит взаимодействие между компонентами. Также важный момент в архитектуре больших приложений — возможность добавлять новые фичи и тестировать компоненты без высокой вероятность сломать что-то в другом месте приложения.
На примере простого приложения с фильмами автор показывает пример такой архитектуры: https://tprg.ru/IuS4
#ios
👍14❤1🔥1👏1
VK проводит Weekend Offer для мобильных разработчиков
Процесс получения Weekend Offer:
С 21 по 31 марта представители компании свяжутся с кандидатами и договорятся о звонке на 15–30 минут для согласования времени технического собеседования.
2 апреля Андрей Сумин, технический директор «Почты Mail.ru», подробнее расскажет о задачах, которые вам предстоит решать в команде, а позже пройдут технические собеседования.
3 апреля руководители направлений ещё раз ответят на все вопросы и проведут финальные собеседования, после которых выберут лучших кандидатов и предложат им оффер, бонусом к которому идёт з/п с самого старта.
Подать заявку и узнать все подробности о работе: https://vk.cc/cc6ds2.
#вакансии #android #ios
Процесс получения Weekend Offer:
С 21 по 31 марта представители компании свяжутся с кандидатами и договорятся о звонке на 15–30 минут для согласования времени технического собеседования.
2 апреля Андрей Сумин, технический директор «Почты Mail.ru», подробнее расскажет о задачах, которые вам предстоит решать в команде, а позже пройдут технические собеседования.
3 апреля руководители направлений ещё раз ответят на все вопросы и проведут финальные собеседования, после которых выберут лучших кандидатов и предложат им оффер, бонусом к которому идёт з/п с самого старта.
Подать заявку и узнать все подробности о работе: https://vk.cc/cc6ds2.
#вакансии #android #ios
👎34💩15👍8
Актуализация данных в списках Flutter-приложения
Реализовать статичный список на Flutter несложно. Но если данные в списках могут меняться, то необходимо добавить функции асинхронной загрузки, фильтрации, актуализации данных и другие.
В статье на примере приложения с примитивным списком показано, как реализовать обновляющийся список:
https://habr.com/ru/post/656297/
#flutter #начинающим
Реализовать статичный список на Flutter несложно. Но если данные в списках могут меняться, то необходимо добавить функции асинхронной загрузки, фильтрации, актуализации данных и другие.
В статье на примере приложения с примитивным списком показано, как реализовать обновляющийся список:
https://habr.com/ru/post/656297/
#flutter #начинающим
👍7❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомизируемая панель вкладок для SwiftUI
Библиотека AxisTabView позволяет создать панель вкладок с различными стилями. С её помощью вы можете настроить размер панели и элементов, а также кастомизировать их форму.
Как использовать (пример iOS-приложения внутри): https://github.com/jasudev/AxisTabView
#ios #swiftui #библиотеки #ui
Библиотека AxisTabView позволяет создать панель вкладок с различными стилями. С её помощью вы можете настроить размер панели и элементов, а также кастомизировать их форму.
Как использовать (пример iOS-приложения внутри): https://github.com/jasudev/AxisTabView
#ios #swiftui #библиотеки #ui
👍12🤯1
Руководство по Drag and Drop в Android
Функция Drag and drop позволяет перемещать View или данные между View. Чтобы освоить работу с фичей, рекомендуем почитать гайд, где объясняется, как реализовать возможность перемещения маски на зелёного робота:
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
#android #начинающим
Функция Drag and drop позволяет перемещать View или данные между View. Чтобы освоить работу с фичей, рекомендуем почитать гайд, где объясняется, как реализовать возможность перемещения маски на зелёного робота:
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
#android #начинающим
👍11
Устройтесь мобильным разработчиком в «Альфа-банк»
«Альфа-Банк» активно расширяет команду мобильной разработки и ищет Android и iOS-разработчиков уровня Middle+.
Что требуется:
— опыт коммерческой разработки мобильных приложений от 2-х лет;
— знание iOS SDK и/или Android SDK, Java или Kotlin;
— умение писать чистый код и держать фокус на результате.
Что предлагают:
— welcome-бонус 250 000 рублей (до вычета НДФЛ) за уровень Middle+ сразу после выхода на работу (уровень подтверждается на техническом интервью);
— стабильный и прозрачный доход + квартальная премия по результатам KPI;
— гибкий график работы.
Если вы готовы привносить свои идеи, не боитесь работать с новыми технологиями и способны самостоятельно принимать решения, то откликайтесь на вакансию на сайте или напишите напрямую рекрутеру: @sabusya95
#вакансии
«Альфа-Банк» активно расширяет команду мобильной разработки и ищет Android и iOS-разработчиков уровня Middle+.
Что требуется:
— опыт коммерческой разработки мобильных приложений от 2-х лет;
— знание iOS SDK и/или Android SDK, Java или Kotlin;
— умение писать чистый код и держать фокус на результате.
Что предлагают:
— welcome-бонус 250 000 рублей (до вычета НДФЛ) за уровень Middle+ сразу после выхода на работу (уровень подтверждается на техническом интервью);
— стабильный и прозрачный доход + квартальная премия по результатам KPI;
— гибкий график работы.
Если вы готовы привносить свои идеи, не боитесь работать с новыми технологиями и способны самостоятельно принимать решения, то откликайтесь на вакансию на сайте или напишите напрямую рекрутеру: @sabusya95
#вакансии
👎21👍6🤮4💩2🔥1