Материалы с митапа DevDay Mobile
В начале июля компания 2ГИС организовала небольшой онлайн-митап для мобильных разработчиков. Держите записи докладов с мероприятия:
1. Автоматизированная кодогенерация свифтового интерфейса для C++
iOS-разработчик из 2ГИС рассказал о специальном внутреннем инструменте, который генерирует Swift-код для работы с кроссплатформенной частью приложения.
2. Использование системного API при разработке устройств
Разработчик из SberDevices поделился проверенными способами использования Android API, скрытого от обычного разработчика.
3. Нативная разработка vs WebView: дискуссия
В процессе дискуссии мобильные разработчики обсудили выбор технологий и обучение кадров (стажировки, курсы и т.д.) для создания мобильных приложений.
#android #ios
В начале июля компания 2ГИС организовала небольшой онлайн-митап для мобильных разработчиков. Держите записи докладов с мероприятия:
1. Автоматизированная кодогенерация свифтового интерфейса для C++
iOS-разработчик из 2ГИС рассказал о специальном внутреннем инструменте, который генерирует Swift-код для работы с кроссплатформенной частью приложения.
2. Использование системного API при разработке устройств
Разработчик из SberDevices поделился проверенными способами использования Android API, скрытого от обычного разработчика.
3. Нативная разработка vs WebView: дискуссия
В процессе дискуссии мобильные разработчики обсудили выбор технологий и обучение кадров (стажировки, курсы и т.д.) для создания мобильных приложений.
#android #ios
YouTube
Автоматизированная кодогенерация свифтового интерфейса для C++ (Толя Петров, 2ГИС)
Вы узнаете, как снизить издержки поддержания Свифтовой библиотеки с кроссплатформенной частью, резко повысить скорость доставки новой функциональности и уменьшить необходимое число тестов с кодогенератором на основе соглашений, применяемых в C++ коде.
Презентация…
Презентация…
Основы Jetpack Compose: элементы UI
В предыдущем видео из цикла разбиралась навигация в Jetpack Compose.
В этом выпуске автор рассмотрел визуальные элементы из Compose и работу с ними: https://youtu.be/CAOM-Kq9MKY
#android #jetpack
В предыдущем видео из цикла разбиралась навигация в Jetpack Compose.
В этом выпуске автор рассмотрел визуальные элементы из Compose и работу с ними: https://youtu.be/CAOM-Kq9MKY
#android #jetpack
YouTube
Jetpack Compose. Основы. UI [Ru, Kotlin\Android]
Всем привет ) Продолжаем нашу серию, посвященную разбору Jetpack Compose. И сегодня будет видео, в котором мы разберем основные визуальные элементы Compose и как они устроены, как делать различные лэйауты, располагать элементы правильно, работать с текстом…
Что послушать: подкаст о том, как работает рендеринг UI в Flutter
В подкасте разобраны все тонкости рендеринга пользовательского интерфейса, скрывающиеся «под капотом» Flutter. В частности, ведущие и гости подкаста ответили на вопросы:
— всё ли во Flutter — виджеты;
— какую связь имеют Widget, Element и RenderObject;
— что представляет из себя BuildContext;
— какую роль в процессе исполнения приложения играют биндинги.
SoundCloud: https://tprg.ru/Zwae
#подкасты #flutter
В подкасте разобраны все тонкости рендеринга пользовательского интерфейса, скрывающиеся «под капотом» Flutter. В частности, ведущие и гости подкаста ответили на вопросы:
— всё ли во Flutter — виджеты;
— какую связь имеют Widget, Element и RenderObject;
— что представляет из себя BuildContext;
— какую роль в процессе исполнения приложения играют биндинги.
SoundCloud: https://tprg.ru/Zwae
#подкасты #flutter
Теперь не нужно запускать программы на Kotlin через Rosetta — в Kotlin 1.5.30 появилась нативная поддержка ARM-чипов от Apple:
Telegram
Представляешь,
в Kotlin 1.5.30 завезли поддержку Apple Silicon M1 и улучшенный DSL для CocoaPods Gradle
Теперь можно нативно работать с Kotlin на новых устройствах Apple с чипом M1 без Rosetta.
Читать подробнее: tprg.ru/Gen8
Теперь можно нативно работать с Kotlin на новых устройствах Apple с чипом M1 без Rosetta.
Читать подробнее: tprg.ru/Gen8
Pacman на Jetpack Compose
А почему бы и нет? Старый-добрый Pacman прямо в вашем смартфоне.
Весь пользовательский интерфейс построен на Jetpack Compose. Анимации выполнены с помощью AnimateFloatAsState и InfiniteTransition.
Проект: https://github.com/danielmbutler/Pacman_Compose
История создания проекта: https://tprg.ru/I86p
#android #jetpack
А почему бы и нет? Старый-добрый Pacman прямо в вашем смартфоне.
Весь пользовательский интерфейс построен на Jetpack Compose. Анимации выполнены с помощью AnimateFloatAsState и InfiniteTransition.
Проект: https://github.com/danielmbutler/Pacman_Compose
История создания проекта: https://tprg.ru/I86p
#android #jetpack
Доклад «Абсолютная модуляризация» Степана Гончарова
Чем больше модулей в Android-проекте, тем чащё появляются проблемы с инкрементальными сборками и ошибки с неверным указанием зависимостей.
Но для решения проблем не обязательно становиться мастером в Gradle. Об интересном подходе к модуляризации рассказал в своём докладе разработчик из Lyft:
https://youtu.be/oAQlKiF91Ks
#android #доклады
Чем больше модулей в Android-проекте, тем чащё появляются проблемы с инкрементальными сборками и ошибки с неверным указанием зависимостей.
Но для решения проблем не обязательно становиться мастером в Gradle. Об интересном подходе к модуляризации рассказал в своём докладе разработчик из Lyft:
https://youtu.be/oAQlKiF91Ks
#android #доклады
YouTube
Степан Гончаров — Абсолютная модуляризация
Ближайшая конференция: Mobius 2025 Spring, 9–10 апреля, Москва + онлайн. Подробности и билеты: https://jrg.su/ojGU3B
— —
. . .
Что, если вам больше не нужно быть Gradle экспертом, чтобы проектировать, поддерживать и эффективно масштабировать современные многомодульные…
— —
. . .
Что, если вам больше не нужно быть Gradle экспертом, чтобы проектировать, поддерживать и эффективно масштабировать современные многомодульные…
Ребята сделали в мобильной игре на Unity режим батлрояля за 2 месяца и заодно обновили сетевой код для всей игры
Когда в сетевой комнате могло находиться максимум 10 игроков, то каждый игрок отправлял данные о всех сетевых событиях всем игрокам. Однако для расширения комнаты до 100 человек требовался иной подход к передаче сетевых данных.
Команда разработчиков рассказала, как оптимизировала сетевой код и сократила затраты на серверы:
https://tprg.ru/r4lZ
#gamedev #android #ios
Когда в сетевой комнате могло находиться максимум 10 игроков, то каждый игрок отправлял данные о всех сетевых событиях всем игрокам. Однако для расширения комнаты до 100 человек требовался иной подход к передаче сетевых данных.
Команда разработчиков рассказала, как оптимизировала сетевой код и сократила затраты на серверы:
https://tprg.ru/r4lZ
#gamedev #android #ios
Безопасность мобильных приложений
Идеальной защиты не существует. Но стоит понимать, что ваше приложение будут пытаться взломать ровно до того момента, пока это станет невыгодно.
Поэтому стоит позаботиться о внедрении базовых методов защиты, о которых рассказано в статье:
https://tprg.ru/S8GH
#android
Идеальной защиты не существует. Но стоит понимать, что ваше приложение будут пытаться взломать ровно до того момента, пока это станет невыгодно.
Поэтому стоит позаботиться о внедрении базовых методов защиты, о которых рассказано в статье:
https://tprg.ru/S8GH
#android
Хинт для программистов: кроме этого канала у Tproger есть ещё 4 канала, где можно получать отборную инфу по конкретной теме.
Каждый найдёт что-нибудь для себя:
— геймдев: @make_game
— основы программирования: @prog_point
— разработка на Python: @zen_of_python
— веб-разработка: @tproger_web
Каждый найдёт что-нибудь для себя:
— геймдев: @make_game
— основы программирования: @prog_point
— разработка на Python: @zen_of_python
— веб-разработка: @tproger_web
Приложение для тайм-менеджмента
Пользователь может поставить задачу, задать её длительность и выбрать дни, в которые её нужно выполнить. По итогу текущий день отображается в виде круговой диаграммы с намеченными на день задачами.
Приложение написано на Flutter и поддерживает тёмную и светлую тему:
https://github.com/theiskaa/VTime
#flutter #проекты
Пользователь может поставить задачу, задать её длительность и выбрать дни, в которые её нужно выполнить. По итогу текущий день отображается в виде круговой диаграммы с намеченными на день задачами.
Приложение написано на Flutter и поддерживает тёмную и светлую тему:
https://github.com/theiskaa/VTime
#flutter #проекты
Google обновила портал для начинающих разработчиков игр
Раздел существенно переработали. Помимо быстрых ссылок на документацию по фреймворку Android Game Development Kit и работе с Google Play, на портале сгруппировали гайды:
— для создания собственного игрового движка или модификации существующего;
— по разработке игр на готовых игровых движках, таких как Unity, Unreal Engine, Godot или Defold.
Обновлённый портал: https://developer.android.com/games
#android #начинающим
Раздел существенно переработали. Помимо быстрых ссылок на документацию по фреймворку Android Game Development Kit и работе с Google Play, на портале сгруппировали гайды:
— для создания собственного игрового движка или модификации существующего;
— по разработке игр на готовых игровых движках, таких как Unity, Unreal Engine, Godot или Defold.
Обновлённый портал: https://developer.android.com/games
#android #начинающим
Наконец-то вечер пятницы, и можно расслабиться дома (если вы, конечно, не сидите дома всё время на удалёнке).
Расскажите, что успели реализовать на этой неделе? Или же проводите время в отпуске?
#чат
Расскажите, что успели реализовать на этой неделе? Или же проводите время в отпуске?
#чат
Репозиторий с расширениями и хелперами на Kotlin
Пригодится, если понадобится быстро сделать прототип Android-приложения:
https://github.com/FunkyMuse/KAHelpers
#android #kotlin
Пригодится, если понадобится быстро сделать прототип Android-приложения:
https://github.com/FunkyMuse/KAHelpers
#android #kotlin
Обновляем виджеты к Android 12
В Android 12 дизайн-система Material You придёт на смену Material Design. Чтобы соответствовать новому дизайну, ваш виджет должен поддерживать цветовую схему всей системы и иметь закруглённые края.
Гайд поможет добавить в виджет поддержку новых возможностей Android 12:
https://tprg.ru/TVBi
#android
В Android 12 дизайн-система Material You придёт на смену Material Design. Чтобы соответствовать новому дизайну, ваш виджет должен поддерживать цветовую схему всей системы и иметь закруглённые края.
Гайд поможет добавить в виджет поддержку новых возможностей Android 12:
https://tprg.ru/TVBi
#android
Snapshot-тестирование в iOS-приложении
Snapshot-тесты сравнивают скриншоты приложения, полученные во время тестирования, с идеальным скриншотом. Такая методика подойдёт, например, для проверки вёрстки сложных элементов интерфейса.
Узнайте о том, как можно внедрить Snapshot-тесты в ваше приложение:
https://tprg.ru/Zs1c
#ios #тестирование
Snapshot-тесты сравнивают скриншоты приложения, полученные во время тестирования, с идеальным скриншотом. Такая методика подойдёт, например, для проверки вёрстки сложных элементов интерфейса.
Узнайте о том, как можно внедрить Snapshot-тесты в ваше приложение:
https://tprg.ru/Zs1c
#ios #тестирование
Внедрение в Android-приложение анимации переворачивания карточки
В фитнес-приложении HealthifyMe карточка переворачивается, когда пользователь достигает дневную норму, и выводит об этом уведомление. Так пользователь больше вовлечён в интерфейс приложения.
В статье подробно описан процесс реализации подобной анимации:
https://tprg.ru/I0Pe
#android
В фитнес-приложении HealthifyMe карточка переворачивается, когда пользователь достигает дневную норму, и выводит об этом уведомление. Так пользователь больше вовлечён в интерфейс приложения.
В статье подробно описан процесс реализации подобной анимации:
https://tprg.ru/I0Pe
#android
Введение в архитектуру мобильного приложения
Архитектура приложения упрощает разработку и дальнейшую поддержку продукта.
В мобильной разработке наиболее популярны архитектуры Model-View-ViewModel (MVVM), Model-View-Controller (MVC) и Model-View-Presenter (MVP). В чём их суть, объясняется в видео:
https://youtu.be/HC33Mggec3k
#android #начинающим #архитектура
Архитектура приложения упрощает разработку и дальнейшую поддержку продукта.
В мобильной разработке наиболее популярны архитектуры Model-View-ViewModel (MVVM), Model-View-Controller (MVC) и Model-View-Presenter (MVP). В чём их суть, объясняется в видео:
https://youtu.be/HC33Mggec3k
#android #начинающим #архитектура
YouTube
Что такое архитектура приложения. Паттерны MVC, MVP, MVVM.
Данное видео - это краткая вводная лекция в архитектуру приложений. В нем я рассказываю о том, что такое архитектура, и какую роль она играет при развитии программного продукта. Так же пробежимся по паттернам проектирования, которые используются для построения…
Виды рекламы в мобильных приложениях
Реклама — основной способ монетизации приложений. Всего существует 4 основных вида рекламы:
— баннерная;
— нативная;
— видео с наградой;
— interstitial.
В гайде подробно расписано про каждую из них:
https://tprg.ru/ko70
#android #ios
Реклама — основной способ монетизации приложений. Всего существует 4 основных вида рекламы:
— баннерная;
— нативная;
— видео с наградой;
— interstitial.
В гайде подробно расписано про каждую из них:
https://tprg.ru/ko70
#android #ios
Как безопасно собрать и подписать Android-приложение с помощью GitHub Actions
Чтобы подписать Android-приложение, вам нужно сгенерировать файл KeyStore, содержащий цифровой сертификат. Однако при работе в команде могут возникнуть проблемы в безопасности при подписи очередного «билда».
В статье описано, как можно настроить автоматическую подпись приложения с помощью GitHub Actions и при этом не загружать KeyStore-файл в публичный репозиторий:
https://tprg.ru/hTlR
#android
Чтобы подписать Android-приложение, вам нужно сгенерировать файл KeyStore, содержащий цифровой сертификат. Однако при работе в команде могут возникнуть проблемы в безопасности при подписи очередного «билда».
В статье описано, как можно настроить автоматическую подпись приложения с помощью GitHub Actions и при этом не загружать KeyStore-файл в публичный репозиторий:
https://tprg.ru/hTlR
#android
Работу в IT можно найти прямо на нашем сайте
На Tproger доступен раздел вакансий, в том числе по мобильной разработке: https://tprg.ru/qHld
В нём можно отфильтровать вакансии по сфере деятельности, работе удалённо или в офисе, зарплате и другим критериям.
Если ничего не найдёте, то вы можете подписаться на рассылку подходящих вам вакансий прямо в нашем Telegram-боте: t.me/tproger_official_bot?start=mailings
Или в боте ВКонтакте: vk.me/tproger?ref=mailings
#вакансия #работа
На Tproger доступен раздел вакансий, в том числе по мобильной разработке: https://tprg.ru/qHld
В нём можно отфильтровать вакансии по сфере деятельности, работе удалённо или в офисе, зарплате и другим критериям.
Если ничего не найдёте, то вы можете подписаться на рассылку подходящих вам вакансий прямо в нашем Telegram-боте: t.me/tproger_official_bot?start=mailings
Или в боте ВКонтакте: vk.me/tproger?ref=mailings
#вакансия #работа
Автоматизация UI-тестирования в Android-приложении Яндекс.Недвижимость
Эта статья — расшифровка доклада руководителя Android-разработки Яндекс.Недвижимости. В нём он рассказал об эволюции UI-тестирования в команде и почему был выбран для автоматизации тестов фреймворк Espresso:
https://tprg.ru/Xpz4
#android #тестирование
Оригинальный доклад:
Эта статья — расшифровка доклада руководителя Android-разработки Яндекс.Недвижимости. В нём он рассказал об эволюции UI-тестирования в команде и почему был выбран для автоматизации тестов фреймворк Espresso:
https://tprg.ru/Xpz4
#android #тестирование
Оригинальный доклад:
YouTube
Автоматизация UI тестирования в приложении Яндекс Недвижимость на Android – Александр Рогов