Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
850 photos
238 videos
2.95K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Способы отладки на Jetpack Compose

В этом коротком видеоуроке рассматривается, как отлаживать проблемы с производительностью в JetSnack и способы их исправления на Jetpack Compose:

https://youtu.be/SWBN0y0lFNY

#android
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Как работать с Flutter Animate?

Flutter Animate — это библиотека, которая позволяет легко добавлять практически любые анимационные эффекты в Flutter. У Flutter есть хороший фреймворк для анимаций, но не всегла Flutter справляется с анимациями и просто их тормозит.

В статье разбираются возможности данной библиотеки с простыми примерами: https://tprg.ru/YUdH

#flutter
👍11💩41
Главные ошибки в монетизации приложений

Наталия Гришкина, эксперт по in-app паблишерам в Яндексе, поделилась своим мнением о четырёх наиболее важных аспектах по монетизации приложения, на которые стоит обратить внимание.

Основные ошибки:
— использование неактуальных версий SDK,
— избыточное кеширование рекламы,
— интеграция SDK с ошибками,
— использование только одного SDK для показа рекламы.

Подробнее о каждой из них в статье:

https://tprg.ru/IQeU

#android #ios
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Полное руководство по корутинам

Этот гайд по основным функциям корутин, в котором рассматриваются следующие темы:

— Что такое Kotlin корутины?
— Когда и зачем их использовать?
— Suspend функции.

Автор разбирает на примерах: Coroutine Builder, Scope,
контекст корутины, диспетчеры и многое другое: https://tprg.ru/7Ifw

#kotlin
👍25
This media is not supported in your browser
VIEW IN TELEGRAM
Новая версия Android Studio Dolphin: что нового?

Обновления коснулись в основном Jetpack Compose, Wear OS и Logcat:

— Появился Multipreview в Compose для лёгкого просмотра нескольких экранов и анимации.
— Layout Inspector теперь позволяет отслеживать количество рекомпозиций.
— В Logcat появился поиск по "ключ-значение", улучшили отслеживание логов и появилась возможность создавать несколько окон.
— Обновили эмулятор Wear OS.
— Внедрили Gradle Managed Devices для тестирования.

Детальнее: https://developer.android.com/studio/releases

#android
👍25
Безопасное хранение данных на Android

Иногда нужно иметь дело с конфиденциальными пользовательскими данными, которые нельзя просто так сохранить в файловой системе. Как же гарантировать сохранность этой информации?

В видео уроке вы узнаете о шифрование и дешифрование данных и познакомитесь с хранилищем ключей Android Keystore:

https://youtu.be/aaSck7jBDbw

#android
👍111
Размеры экрана iPhone 14

iPhone 14 показали 7 сентября, а вместе с этим вышли новые размеры экранов на новую линейку. Основные изменения в iPhone 14 Pro — Dynamic Island, который расширяется для отображения уведомлений и действий.

Подробнее: https://useyourloaf.com/blog/iphone-14-screen-sizes/

#ios
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое edge-to-edge и как работать с WindowInsets

Режим edge-to-edge используется, чтобы отобразить приложение на всей видимой поверхности дисплея. Для реализации нужно изменить цвет системного UI, сделать запрос на отрисовку приложения под заданный UI и устранить визуальные конфликты.

В этой статье рассматривается, как реализовать edge-to-edge с примерами на View и Jectpack Compose:

https://habr.com/ru/company/kts/blog/687310/

#android
👍10
Интеграция Flutter в нативный Android-проект

Если вы хотите делать проект под Android и использовать Flutter, то вам не обойтись без интеграции. Для это нужно создать Flutter-модуль, добавить его в зависимости Gradle и реализовать FlutterActivity, чтобы запустить проект.

Подробные шаги по импорту и реализации — https://tprg.ru/f8z0

#flutter #android
👍12💩2
Шпаргалка по техническому интервью для iOS разработчика

Недавно мы рассказывали о ресурсах для подготовки к собеседованию для Android-разработчика. Если вы готовитесь к интервью на iOS, то этот репозиторий поможет проверить ваши знания по алгоритмам, БД, Objective-C, Swift и другим темам: https://tprg.ru/kTZu

Некоторые темы без обновлений, но в проекте также доступны карточки на Quizlet по всем вопросам для быстрого запоминания:

https://quizlet.com/serg_tsogtbaatar/folders/ios-interviews/sets

#ios
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Изучаем Jetpack Compose на примере приложения по поиску собак из приюта

Adopty — это приложение для усыновления собак, созданное на Kotlin для демонстрации пользовательского интерфейса с помощью Jetpack Compose. В нём используются популярные инструменты и лучшие практики Android-разработки. Также начинающие разработчики могут на практике изучить, как работать с Hilt, Retrofit, Accompanist и Coil.

Репозиторий: https://github.com/2307vivek/Adopty

#android
🐳14👍10🔥1😢1
Инструменты для снятия логов в Android и iOS

В этом пошаговом руководстве рассматривается, как:

— перевести устройство в режим отладки и читать логи с помощью Logcat и SDK Platform Tools,
— выгрузить логи с самого устройства, используя Android Debug Bridge,
— установить xCode и использовать инструмент Simulator,
— снимать логи с устройства с помощью раздела Devices and Simulators,
— работать с утилитой iMazing на Windows.

Подробнее: https://tprg.ru/zsZ5

#android #ios
👍6
Серия статей о диплинках на Android

Наверняка вы знакомы с концепцией deeplink — гиперссылка, которая позволяет перенаправить пользователя с одного веб-сайта на конкретную страницу. В мобильных приложениях диплинки работают немного иначе — это URL, который ещё и открывает приложение, если оно установлено на устройстве.

В этой серии статей разбираются типы deeplink, особенности работы с такими ссылками на Android и популярные проблемы, с которыми может столкнуться разработчик, например: URL перестал работать или не открывается в браузерах.

Часть 1: https://tprg.ru/aIJt
Часть 2: https://tprg.ru/OmSz
Часть 3: https://tprg.ru/HRgW

#android
👍7
Реализация гистограммы с помощью SwiftUI Charts в iOS 16

На WWDC 2022 Apple представила SwiftUI Charts — фреймворк для преобразования данных в графики.

В этом пошаговом руководстве показано, как добавить простой шаблон диаграммы и настроить его в приложение на iOS 16:

https://tprg.ru/LjtI

#ios
👍4
Oracle, остановись! Вышла версия Java 19

Java 18 вышла только в марте, а Oracle уже подготовил новый релиз. Какие нового?

— Изменения в Pattern Matching для switch (это уже третье preview) и паттерн записей.
— Ввели новую абстракцию потоков — Virtual Threads. Это легковесные потоки, которые схожи с корутинами.
— Поддержка Linux/RISC-V Port.
— Новый API для Structured Concurrency.
— Векторные API всё ещё в инкубационном статусе.

Больших изменений, которые так обещали, не наблюдается.

#java
👍13💩8🔥2
Дорожная карта для Android-разработчиков на 2022 год

Кроме roadmap, команда Stream выпустила статьи, в которых объясняются концепции, указанные в дорожной карте: компоненты, навигация в приложение, паттерны и т.д.

Почитать гайды и скачать полный roadmap можно здесь:

https://github.com/skydoves/android-developer-roadmap

#android
👎16👍2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Сколько стоит дизайн мобильного приложения?

Белорусская компания провела неофициальное исследование по местному IT-рынку. Задача была получить цену за полный цикл разработки: от веб-дизайна и макетов до приложений на iOS и Android.

Полученные офферы раздели на 3 категории и указали среднюю стоимость проекта:

https://tprg.ru/Hc3K

Если вам интересно узнать о данных в других регионах (Австралия, США, Великобритания и т.д.), то подробнее — в статье: https://tprg.ru/ZERv

#ios #android
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Работа со списками во Flutter-приложениях

Создать простой статический список в приложение несложно, но задача усложняется, если нужно реализовать список из самостоятельно обновляемых записей или с ссылками на другие записи.

В этой статье рассматривается, как осуществлять в списках функции асинхронной загрузки, фильтрации и актуализации данных. Также автор показывает на примере собственной библиотеки, как можно упростить создание контроллеров для управления списками:

Часть 1: https://habr.com/ru/post/656297/
Часть 2: https://habr.com/ru/post/688864/

#flutter
💩7👍5🤔1
Пример реализации Dynamic Island и ActivityKit

Dynamic Island используется для отображения обновлений в текущей задаче. Некоторым крупным компаниям Apple предоставила инструменты для реализации динамического острова до выпуска официальных API: WhatsApp, Pandora, Amazon Music и другим.

Например, в Spotify с помощью Dynamic Island отображаются элементы управления музыкой, Uber отображает профиль водителя и время прибытия.

Если вам интересно, как реализовать Dynamic Island, то в этом руководстве подробно разбираются ActivityAttributes, Live Activity и сам виджет:

https://tprg.ru/JxwG

Спойлер: Dynamic Island несложно настроить т.к. большую часть работы за нас делает iOS.

#ios
👍3