Alfa Mobile Meetup в Технопарке аттракционов 📲
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
#реклама
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
#реклама
💩17👍7
Статья о Gradle Version Catalog и паре плагинов, которые помогут поддерживать его в актуальном состоянии
#android #gradle
https://infinum.com/blog/automated-gradle-dependency-updates/
#android #gradle
https://infinum.com/blog/automated-gradle-dependency-updates/
Infinum
Automate Gradle Dependency Updates on Your Android Project
Leverage Version Catalog and GitHub Action to effortlessly manage Gradle dependency updates.
👍11
Полезные советы по работе с репозиториями:
Rule 1 — Don’t use JSON/SQL model in the Repository methods
Rule 2 — Repository is not a group of backend endpoints
Rule 3 — Repository is not a database table
Rule 4 — Not every Repository needs a Data Source
#android #architecture #bestpractice
https://itnext.io/android-data-repository-a-simple-pattern-that-we-often-misunderstand-6a6fb13b5a81
Rule 1 — Don’t use JSON/SQL model in the Repository methods
Rule 2 — Repository is not a group of backend endpoints
Rule 3 — Repository is not a database table
Rule 4 — Not every Repository needs a Data Source
#android #architecture #bestpractice
https://itnext.io/android-data-repository-a-simple-pattern-that-we-often-misunderstand-6a6fb13b5a81
Medium
Android Data Repository — A simple pattern that we often misunderstand
Scaling Android Architecture #5
👍10
Небольшая статья о том, как правильно использовать пару аннотаций RequiresApi и ChecksSdkIntAtLeast
#android #lint
https://vtsen.medium.com/requiresapi-and-checkssdkintatleast-annotations-1469e31b828c
#android #lint
https://vtsen.medium.com/requiresapi-and-checkssdkintatleast-annotations-1469e31b828c
Medium
@RequiresApi() and @ChecksSdkIntAtLeast() Annotations
@RequiresApi() and @ChecksSdkIntAtLeast() Annotations are used by lint tool in Android Studio to provide proper warning/error messages
👍9
Android-разработка для новичков: 20+ полезных ресурсов
Я бы сюда еще добавил medium.com, habr.com и dev.to. По тегам Android, Kotlin и т.п. там можно найти кучу полезного, в том числе и для начинающих
#android #links
https://habr.com/ru/companies/yandex_praktikum/articles/738638/
Я бы сюда еще добавил medium.com, habr.com и dev.to. По тегам Android, Kotlin и т.п. там можно найти кучу полезного, в том числе и для начинающих
#android #links
https://habr.com/ru/companies/yandex_praktikum/articles/738638/
Хабр
Android-разработка для новичков: 20+ полезных ресурсов
Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник на курсе «Android-разработчик» в Яндекс Практикуме. Мы на курсе регулярно делимся со студентами...
👍25🔥6
Несколько базовых советов по созданию приложений под разные устройства
Layouts - Display the most appropriate UI for different devices and folding postures
Hardware features - Implement support for a variety of hardware features
Displaying the name of the physical device type to the user - Personalize end-user facing information for the type of device
Metrics tracking for device type - Understand how users are using your app on different types of devices
#android #device
https://android-developers.googleblog.com/2023/06/detecting-if-device-is-foldable-tablet.html
Layouts - Display the most appropriate UI for different devices and folding postures
Hardware features - Implement support for a variety of hardware features
Displaying the name of the physical device type to the user - Personalize end-user facing information for the type of device
Metrics tracking for device type - Understand how users are using your app on different types of devices
#android #device
https://android-developers.googleblog.com/2023/06/detecting-if-device-is-foldable-tablet.html
Android Developers Blog
Detecting device type – How to know if a device is foldable or a tablet
"Is there an easy way to tell if a device is a foldable, tablet, or something else?" Here are best practices to help you make better layout decisions.
👍3❤1
Новый Compose урок - про Custom Layout.
Создаем свою простую версию Column. И разбираем некоторые нюансы с Constraints.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Создаем свою простую версию Column. И разбираем некоторые нюансы с Constraints.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍25🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Android-разработчик в Финтех Яндекса
В прошлом году у Карты Плюса появилось своё приложение — и с тех пор растёт и развивается. Вместе с ним растёт и команда, куда ищут Android-разработчика.
Приложение Карта Плюса — многомодульный проект с гибридом MVI и MVVM. Иногда его нужно интегрировать в другие сервисы Яндекса — это помогает обмениваться опытом и знакомиться с коллегами из разных уголков.
Приходите в Финтех Яндекса, если готовы принимать технологические и архитектурные решения, отвечать за качество продукта и писать на Kotlin. Идеально, если ваш код чистый, как слёзы счастья тестировщиков, которые его проверяют.
Финтех — особое место. Здесь можно предлагать идеи и влиять на продукт — почти как в стартапе. При этом получать все блага Яндекса: ДМС со стоматологией, премии, компенсацию обедов и не только.
Если всё нравится — напишите рекрутеру. Но это получится только у настоящего Android-разработчика 😉
#реклама
В прошлом году у Карты Плюса появилось своё приложение — и с тех пор растёт и развивается. Вместе с ним растёт и команда, куда ищут Android-разработчика.
Приложение Карта Плюса — многомодульный проект с гибридом MVI и MVVM. Иногда его нужно интегрировать в другие сервисы Яндекса — это помогает обмениваться опытом и знакомиться с коллегами из разных уголков.
Приходите в Финтех Яндекса, если готовы принимать технологические и архитектурные решения, отвечать за качество продукта и писать на Kotlin. Идеально, если ваш код чистый, как слёзы счастья тестировщиков, которые его проверяют.
Финтех — особое место. Здесь можно предлагать идеи и влиять на продукт — почти как в стартапе. При этом получать все блага Яндекса: ДМС со стоматологией, премии, компенсацию обедов и не только.
Если всё нравится — напишите рекрутеру. Но это получится только у настоящего Android-разработчика 😉
#реклама
💩47👍6🤡4🔥3👌3😢1
Обзор библиотек для скриншот-тестирования Android проектов. Часть 1:
- Facebook* Screenshot Testing Library
- Shot
- Paparazzi
- Dropshots
#android #testing
https://habr.com/ru/articles/744796/
- Facebook* Screenshot Testing Library
- Shot
- Paparazzi
- Dropshots
#android #testing
https://habr.com/ru/articles/744796/
Хабр
Обзор библиотек для скриншот-тестирования Android проектов. Часть 1
Практика скриншот-тестирования получает все большее распространение в сфере андроид-разработки, одним из свидетельств чего можно считать появление всё новых библиотек. Меня зовут Олег Осипенко и...
👍8
JetBrains выкатил первую экспериментальную версию плагина Kotlin Notebook plugin для IntelliJ IDEA Ultimate. Он дает возможность создавать в проекте документы в которых можно комбинировать разные типы контента
Text: This is the simplest type of output, and it includes printed statements, variable values, or any text-based output from your code. If a cell’s result doesn’t fall under one of the categories below, it will be printed as text via the toString() method.
HTML: Jupyter notebooks can render HTML directly, enabling rich text formatting, the use of tables, or even the embedding of websites.
Image: Static images can be displayed in formats such as PNG, JPEG, and SVG. Results of the BufferedImage type are also supported. All these images can be images from files, generated graphs, or any other visual media.
Rich text: Markdown cells produce rich text HTML output, offering support for lists, font styles, code blocks, and more.
LaTeX: Mathematical formulas and equations can be beautifully rendered using LaTeX, a typesetting system widely used in academia.
Error and traceback: When code contains errors, notebooks display an error message and a traceback, providing insights for debugging.
#intellij #idea
https://blog.jetbrains.com/kotlin/2023/07/introducing-kotlin-notebook/
Text: This is the simplest type of output, and it includes printed statements, variable values, or any text-based output from your code. If a cell’s result doesn’t fall under one of the categories below, it will be printed as text via the toString() method.
HTML: Jupyter notebooks can render HTML directly, enabling rich text formatting, the use of tables, or even the embedding of websites.
Image: Static images can be displayed in formats such as PNG, JPEG, and SVG. Results of the BufferedImage type are also supported. All these images can be images from files, generated graphs, or any other visual media.
Rich text: Markdown cells produce rich text HTML output, offering support for lists, font styles, code blocks, and more.
LaTeX: Mathematical formulas and equations can be beautifully rendered using LaTeX, a typesetting system widely used in academia.
Error and traceback: When code contains errors, notebooks display an error message and a traceback, providing insights for debugging.
#intellij #idea
https://blog.jetbrains.com/kotlin/2023/07/introducing-kotlin-notebook/
🔥9👍4
На этой странице собраны простые примеры для сравнения одного и того же кода на Compose, SwiftUI, Flutter и React
#android #compose #flutter
https://www.jetpackcompose.app/compare-declarative-frameworks/JetpackCompose-vs-SwiftUI-vs-Flutter
#android #compose #flutter
https://www.jetpackcompose.app/compare-declarative-frameworks/JetpackCompose-vs-SwiftUI-vs-Flutter
👍26❤3👏1
Вышел Kotlin 1.9.0
- New Kotlin K2 compiler updates
- Stable replacement of the enum class values function
- Stable ..< operator for open-ended ranges
- New common function to get regex capture group by name
- New path utility to create parent directories
- Preview of Gradle configuration cache in Kotlin Multiplatform
- Changes to Android target support in Kotlin Multiplatform
- Preview of custom memory allocator in Kotlin/Native
- Library linkage in Kotlin/Native
- Size-related optimizations in Kotlin/Wasm
#kotlin #release
https://blog.jetbrains.com/kotlin/2023/07/kotlin-1-9-0-released/
- New Kotlin K2 compiler updates
- Stable replacement of the enum class values function
- Stable ..< operator for open-ended ranges
- New common function to get regex capture group by name
- New path utility to create parent directories
- Preview of Gradle configuration cache in Kotlin Multiplatform
- Changes to Android target support in Kotlin Multiplatform
- Preview of custom memory allocator in Kotlin/Native
- Library linkage in Kotlin/Native
- Size-related optimizations in Kotlin/Wasm
#kotlin #release
https://blog.jetbrains.com/kotlin/2023/07/kotlin-1-9-0-released/
The JetBrains Blog
Kotlin 1.9.0 Released | The Kotlin Blog
Kotlin 1.9.0 has been released! Highlights include: Kotlin K2 for JVM is in Beta, other K2 compiler updates, new enum class values function, new operator for open-ended ranges, preview of Gradle configuration cache in Kotlin Multiplatform, changes for Android…
❤20👍3
Краткий обзор фабрик, которые дают нам возможность повлиять на создание основных Android сущностей
- AppComponentFactory for customising the instantiation of application components
- LayoutInflater.Factory2 and View for customising view inflation
- FragmentFactory for customising fragment creation
- ViewModelProvider.Factory with CreationExtras for simplifying ViewModel creation
- WorkerFactory for customising Worker creation in WorkManager
#android #activity #fragment #viewmodel #di
https://marcellogalhardo.dev/posts/injection-points/
- AppComponentFactory for customising the instantiation of application components
- LayoutInflater.Factory2 and View for customising view inflation
- FragmentFactory for customising fragment creation
- ViewModelProvider.Factory with CreationExtras for simplifying ViewModel creation
- WorkerFactory for customising Worker creation in WorkManager
#android #activity #fragment #viewmodel #di
https://marcellogalhardo.dev/posts/injection-points/
👍10
Пример создания простого приложения с использованием текущих трендов и рекомендаций.
#android #architecture
https://proandroiddev.com/a-flexible-modern-android-app-architecture-complete-step-by-step-d76901e29993
#android #architecture
https://proandroiddev.com/a-flexible-modern-android-app-architecture-complete-step-by-step-d76901e29993
👍25
Новый Compose урок, в продолжение темы Custom Layout.
Создаем Custom Layout в виде Timeline и разбираемся, как родитель может получить данные от дочерних элементов с помощью Parent Data.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Создаем Custom Layout в виде Timeline и разбираемся, как родитель может получить данные от дочерних элементов с помощью Parent Data.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
🔥19👍5❤2
Тестируйте свои приложения на Android из любой точки мира.
Теперь вам не придется искать десятки смартфонов, чтобы протестировать приложения на разных версиях ОС, процессорах, разном разрешении экрана и т. д. В @Selectel стала доступна ферма мобильных устройств – это инфраструктурное решение для удаленного тестирования и сборки приложений под Android.
Какие задачи решает мобильная ферма еще:
◽️С помощью мобильной фермы тестировщики, разработчики или DevOps-инженеры смогут работать удаленно и комфортно тестировать приложения.
◽️ Имея доступ сразу к нескольким устройствам одновременно, вы сможете быстро переключаться между ними для запуска тестов и экономить время.
◽️ Тестирование реальных элементов смартфона. Вы получите доступ к камере и сможете протестировать производительность железа так же, как и на физических устройствах в вашем офисе.
Сейчас продукт находится на этапе альфа-тестирования. Это значит, что вы можете бесплатно пользоваться им в течение трех дней, а потом оставить фидбэк о продукте.
Оставляйте заявку на тестирование или бесплатную консультацию наших специалистов: https://slc.tl/2aap8
Реклама ООО «Селектел» 2Vtzqw22Uu2
#реклама
Теперь вам не придется искать десятки смартфонов, чтобы протестировать приложения на разных версиях ОС, процессорах, разном разрешении экрана и т. д. В @Selectel стала доступна ферма мобильных устройств – это инфраструктурное решение для удаленного тестирования и сборки приложений под Android.
Какие задачи решает мобильная ферма еще:
◽️С помощью мобильной фермы тестировщики, разработчики или DevOps-инженеры смогут работать удаленно и комфортно тестировать приложения.
◽️ Имея доступ сразу к нескольким устройствам одновременно, вы сможете быстро переключаться между ними для запуска тестов и экономить время.
◽️ Тестирование реальных элементов смартфона. Вы получите доступ к камере и сможете протестировать производительность железа так же, как и на физических устройствах в вашем офисе.
Сейчас продукт находится на этапе альфа-тестирования. Это значит, что вы можете бесплатно пользоваться им в течение трех дней, а потом оставить фидбэк о продукте.
Оставляйте заявку на тестирование или бесплатную консультацию наших специалистов: https://slc.tl/2aap8
Реклама ООО «Селектел» 2Vtzqw22Uu2
#реклама
💩15👍8🤡2🤮1
Разбор тестового задания на позицию Android Developer. Будет интересно начинающим. В каментах обсуждают недостатки решения.
#android #interview
https://habr.com/ru/articles/746146/
#android #interview
https://habr.com/ru/articles/746146/
Хабр
Разбор тестового задания на позицию Android Developer
Доброго времени суток всем читателям Хабр. Поиск работы в it сфере сильно отличается от обычных профессий и порог вхождения на любую позицию в it намного выше большинства профессий. Традиционно...
👏6❤3🔥2
Несколько полезных шаблонов (template) для Android Studio
- MutableStateFlow and StateFlow
- HiltViewModel
- Scoped Coroutine function to ViewModel
- Module Class with Binds in Hilt
- Binds in Hilt
- Module Class with Provides in Hilt
- Provides in Hilt
- Definition of Dao for Room database
- Test class for unit testing
- Single unit test
- Mock creation
#androidstudio
https://proandroiddev.com/android-studio-live-code-templates-to-save-your-time-coding-ff230495bf80
- MutableStateFlow and StateFlow
- HiltViewModel
- Scoped Coroutine function to ViewModel
- Module Class with Binds in Hilt
- Binds in Hilt
- Module Class with Provides in Hilt
- Provides in Hilt
- Definition of Dao for Room database
- Test class for unit testing
- Single unit test
- Mock creation
#androidstudio
https://proandroiddev.com/android-studio-live-code-templates-to-save-your-time-coding-ff230495bf80
Medium
Android Studio Live Code Templates to Save Your Time Coding
Please do not waste your time by repeating the same code patterns and spend it creating the apps.
❤15👍7
Где и как можно ускорить приложение на Android
#android #performance
https://habr.com/ru/companies/yandex/articles/721984/
#android #performance
https://habr.com/ru/companies/yandex/articles/721984/
Хабр
Где и как можно ускорить приложение на Android
Привет! Я Александр Попсуенко, руководитель инфраструктурной команды мобилок Маркета. Сегодня я хочу рассказать, как мы ускоряли наше приложение на Android. Тут должно быть красивое описание, почему в...
👍9