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

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Обновление цен в App Store распространилось на все типы покупок

В декабре компания объявила об изменениях и новых инструментах для управления ценами. С 9 марта новая политика цен доступна для всех типов приложений и покупок в приложении (включая одноразовые покупки в приложениях).

Основные обновления, которые были анонсированы в декабре:

— Apple вводит 900 видов цен,
— расширенные региональные цены,
— новые инструменты для установки цен в регионах,
— дополнительные правила ценообразования в некоторых странах.

Источник: https://developer.apple.com/news/?id=dbrszv62

#ios
👍5💩2😁1
Основы Kotlin — руководство

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

— Основы для начинающих, статьи для разработчиков с опытом и профессионалов.
— Библиотеки для Android.
— Инструменты.
— Советы и фишки:

https://androidgeek.co/mastering-kotlin-a-comprehensive-guide-c70220318962

#kotlin
🔥8👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация для iOS-приложения — UIView

В этой статье автор показывает, как реализовать анимацию, которая зависит от направления скролла UICollectionView. Основная задача — изменить размер UIView при скролле какого-нибудь контента.

Для этого использовался NSLayoutConstraint, реализован метод scrollViewDidScroll для отслеживания скролла, а также автору пришлось добавить логику для обхода bounce эффекта:

https://habr.com/ru/post/721894/

#ios
👍12
Нативная реклама на Flutter

Руководство по интеграции нативной рекламы в приложении. Автор подробно показывает, как настроить рекламу для Android и iOS:

https://medium.com/itnext/flutter-native-ads-92d802fbd927

#flutter
👍6👎2
This media is not supported in your browser
VIEW IN TELEGRAM
7 Jetpack Compose проектов для практики

Подборка проектов с открытым исходным кодом, на которых можно попрактиковаться:

— приложение для отслеживания ТВ-шоу,
— лента Stack Overflow,
— приложение для любителей кофе,
— новости,
— аналог Spotify,
— приложение для доставки еды,
— Рик и Морти на GraphQL:

https://tprg.ru/1Ejk

#compose
👍21
Локализация iOS приложений на 20 языков за 5 минут

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

Подробнее о том, как установить XCodeLocalize в проекте: https://habr.com/ru/post/722172/

#ios
👍4
Что внутри APK?

Новый выпуск от Android Broadcast про APK: что содержится в APK, какие есть способы доставки в Google Play, а также немного про Dynamic Feature:

https://youtu.be/FZeq2WmF9KY

#android
👍112🔥2
«Как мы сделали аудиозвонки в приложении для сотрудников»

Предположим, в компании нельзя пользоваться сторонними приложениями, как WhatsApp или Telegram, а только собственным приложением. Перед разработчиками стояла задача реализовать в мессенджере ещё и звонки.

В этой статье команда рассказывает, как они искали варианты решения под Flutter, выбирали сервер и о самой реализации в Matrix и WebRTC:

https://habr.com/ru/company/rshb/blog/722084/

#flutter
😁5👍3🤔2
«Неделя конфиденциальности для Android-разработчиков»

С 13 марта Android Developers публикуют специальные посты и руководства посвященные безопасности приложений и конфиденциальности. Начиная просто с кода и заканчивая хранением данных и управлением ими.

Основная цель этой недели — рассмотреть основные элементы конфиденциальности Android-приложений о которых должен знать каждый разработчик. Также были обновлены некоторые гайды по разработке.

Первую подборку можно посмотреть по ссылке:

https://tprg.ru/aC8N

#android
👍5🔥3🤔2
Графика с использованием Jetpack Compose

В играх, приложениях для рисования или диаграмм порой требуется графика. Если вам нужен простой элемент, то его можно создать с помощью Jetpack Compose. В этом руководстве рассматривается, как использовать Graphics API с Сanvas:

— создание простых и более сложных фигур,
— отображение текста с помощью Paint,
— работа с объектами:

Подробнее:

https://www.kodeco.com/34506480-graphics-using-jetpack-compose

#compose
🔥51
TaskGroup: обработка ошибок в Swift

Механизм TaskGroup используется для запуска n-го числа дочерних задач и позволяет обрабатывать некоторые действия, например, распространение отмены. Группы бывают двух типов:

— withThrowingTaskGroup (пробрасывающие ошибки),
— withTaskGroup (предназначен для случаев, когда ошибки не выдаются).

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

https://augmentedcode.io/2023/03/06/taskgroup-error-handling-in-swift/

#ios
👍5
Kotlin: Null-безопасность и 3 подводных камня

Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?

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

https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62

#kotlin #android
🔥8👍2
Самые частые ошибки начинающих iOS-разработчиков

Александра Башкирова, старший код-ревьюер на курсе «iOS-разработчик» в Яндекс Практикуме, разбирает несколько популярных ошибок, которые допускают новички.

Например, ошибки в вёрстке, избыточные force unwrapping, неправильное использование switch и guard. Также автор рассказывает к чему приводят эти ошибки и как их избежать:

https://habr.com/ru/company/yandex_praktikum/blog/722812/

#ios
👎4👍3🗿3
Руководство по Google Play Review API

Review API позволяет создать диалог с отзывом и оценкой пользователя, что может быть полезно для повышения рейтинга приложения. В этом видеоуроке, автор подробно рассматривает все шаги по реализации данного функционала для любого приложения:

https://youtu.be/NgQ5_QnoJb8

#android
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Как реализовать пользовательский ввод для Android Wear OS

Если вы запрашиваете ввод от пользователя на устройстве Wear OS, вы можете предложить ему сопутствующее приложение для телефона, но если это невозможно, можно запросить ввод текста или смайликов непосредственно с часов, используя встроенные инструменты IME.

В этой статье рассматривается пример того, как стандартные методы ввода могут быть реализованы с помощью RemoteInput API:

https://proandroiddev.com/typing-on-a-tiny-screen-e7601e846118

#wearos
👍4
Анимация приветствия от Apple

Наверняка вы видели популярную Macintosh анимацию «hello». К сожалению, в SwiftUI нет встроенной функции для достижения такого эффекта, поэтому герою статьи пришлось создавать всё с нуля:

https://tprg.ru/sgBH

А ещё делится интересным инструментом, который преобразует SVG в SwiftUI. Есть некоторые недостатки, но их можно доработать.

#ios
5👍1
Как программисту сохранить зрение?

В 1999 году появилось понятие компьютерного зрительного синдрома. Основные формы: синдром сухого глаза и хронического утомления. Если вы длительно работаете за компьютером, то вы тоже можете быть в зоне риска.

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

https://tproger.ru/articles/7-prostyh-sovetov-dlja-programmista-kotorye-sberegut-ego-zrenie/

#it #здоровье
👍124🤔1
«Обновляю ссылку один месяц, или лёгких задач не бывает»

На Хабре вышла статья, где разработчики iOS-приложения Додо Пиццы рассказывают про скриншот-тесты. С помощью этих тестов можно быстро проверить, что вёрстка на экранах случайно никуда не поплыла.

Одна проблема: точность сравнения отличается на Intel и на Apple Silicon. Грустная история в мемах, как команда решила полностью использовать официальную версию библиотеки swift-snapshot-testing для скриншот-тестов — в статье:

https://habr.com/ru/company/dododev/blog/722354/

#ios
👍2🤯2
KMM: переход из Dagger & Hilt в kotlin-inject

Kotlin-inject — это библиотека для внедрения зависимостей похожая на Koin. Koin, действительно, более популярен, но, по мнению автора статьи, есть 2 главных недостатка:

— Compile-time safety,
— Различия с Dagger-API. Kotlin-inject написан полностью на Kotlin, поэтому проще в использовании, чем Koin.

В этой статье рассматривается пример перехода от Dagger и Hilt к kotlin-inject. Также автор подробно объясняет все плюсы использования kotlin-inject в их приложении:

https://proandroiddev.com/from-dagger-hilt-into-the-multiplatform-world-with-kotlin-inject-647d8e3bddd5

#android
👍4🔥2
Подкаст: заказчики, платформы и технологии

Команда Mobius выпустила новое видео с Алексеем Гладковым, в котором обсуждают заказчиков и вечный вопрос: Flutter, KMM или нативная разработка?

Самые странные хотелки заказчика, стоит ли соглашаться? Когда стоит отказаться от привычных технологий в пользу чего-то нового — в этом видео:

https://youtu.be/UGow5drkUvA

#android #kmm
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Jetpack Compose: что нового?

1. Page: улучшили свайп между страницами контента (пример поведения на видео). Теперь дополнительные библиотеки, например, Accompanist, можно не использовать в проекте.

2. Новые Flow Layouts: Flow Row и Flow Column обеспечивают эффективный и компактный способ размещения элементов в контейнере, когда размер элементов или контейнера неизвестен или динамичен.

3. Повышение производительности в Modifier.

4. Text и TextField стали более функциональными: новые анимации, поддержка бегущей строки, более плавные переходы.

Источник: https://android-developers.googleblog.com/2023/03/whats-new-in-jetpack-compose-march-23-release.html

#android
👍25