Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
857 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
Подборка актуальных вакансий

Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

Android-разработчик
Где: Удалённо
Опыт: от 3 лет

iOS-разработчик
Где: удалённо
Опыт: не указан

iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет

Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет

#вакансии #работа
💩11🤔5❤‍🔥1🖕1
Dynamic Delivery в многомодульных проектах

Dynamic Delivery — технология, которая позволяет устанавливать определённые модули приложения по мере необходимости, сокращая тем самым его размер. Например, если в приложении много языковых пакетов, то зачем пользователю скачивать их все?

По сути, с помощью Dynamic Delivery можно настроить, как и когда различные функции приложения загружаются на устройство: по запросу или устройствами, которые поддерживают определённые возможности. В этой статье — небольшое руководство, как обычный gradle модуль превратить в Dynamic Delivery модуль:

https://tprg.ru/Dovw

#android
👍42
Новости: push-уведомления для веб-приложений на iOS и iPad

На прошлой неделе Apple выпустила iOS и iPadOS 16.4 beta 1 версию, а вместе с ней появляется поддержка Web Push и других функций для веб-приложений на главном экране. Push-уведомления могут быть отправлены пользователям с помощью Push API, Notifications API и Service Workers.

Помимо Web Push, были добавлены:

— Screen Wake Lock API,
— Screen Orientation API,
— User Activation API,
— Web Codecs API.

Источник: https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/

#ios
🔥91👍1
У нас для вас отличные новости! Наш сайт обновился и теперь может уведомлять по почте и в Telegram о новых материалах, которые интересны именно вам

Для этого вам нужно:

1. Авторизоваться на сайте tproger.ru
2. Зайти в свой профиль и подписаться на интересные вам теги в разделе «Подписки». Например, библиотеки, инструменты и другие
3. В разделе уведомлений выбрать, как именно вы хотите получать уведомления
4. Всё! Вы великолепны и теперь всегда будете первым узнавать о свежих материалах
🤮8👍1
Android System Design: чистая архитектура и загрузка изображений

Чтобы проиллюстрировать важность Android System Design в разработке, автор рассматривает пример мобильного приложения, которое позволяет пользователям загружать изображения на сервер. Условия:

1. Пользователь может загружать более 1000 изображений.

2. Если нет подключения к сети, приложение должно загружать последнее изображение до тех пор, пока не останется изображений для загрузки. Т.е. любой сбой не должен влиять на загрузку.

3. Во время загрузки пользователь может использовать другие функциональности приложения.

Подробнее:

https://tprg.ru/saDb

#android
👍10
Миграция приложения на Jetpack Compose

В этой статье рассматривается, как на практике перейти на Compose на примере простого приложения «Sunflower». Автор разбирает, как

— удалить компоненты Navigation и Fragment и перейти на Navigation Compose,
— создать библиотеку общих компонентов UI,
— создать новые функции с помощью Compose и другое:

https://tprg.ru/vgCJ

#compose #android
👍6
Редактирование изображений в iOS-приложениях

В этом видеоуроке рассматривается, как обрезать и редактировать фотографии в приложении для iOS с помощью Swift. А именно как:

— импортировать фотографии из библиотеки устройства и отобразить их в приложении,
— использовать инструменты CropViewController на iOS, чтобы обрезать изображения до нужного размера.
— настроить UX и отобразить отредактированную фотографию в приложении:

https://youtu.be/XPcuAg0Xctw

#ios
Бывший инженер рассказал, почему Google медленно гибнет

Год начался не совсем удачно для компании. В феврале акции Google упали на $100 млрд из-за неправильной рекламы чат-бота. Также новости об увольнении сотрудников компании всё также не утихают. Куда идут все инвестиции? Делимся мнением бывшего сотрудника Google:

https://tproger.ru/articles/byvwij-inzhener-rasskazal-pochemu-google-teryaet-liderstvo-v-bigtehe/

#новости
👎7👍6🤡2👌1
Live coding интервью для iOS разработчиков

Подборка советов, как подготовиться и чего ожидать на собеседовании для junior-разработчика. Автор разбирает задачи по Thread safe collection, DispatchGroup, Type erasure, ключевым словам any и some:

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

#собеседование
👍1
App Cloning в Android 14: что известно?

В феврале появились новости, что Google тестирует новую функциональность в Android 14, которая позволит создавать второй экземпляр приложения, чтобы пользователи могли использовать две учётные записи одновременно.

Идея — не новая. Функция клонирования приложения появилась ещё в Android 12, но с большими ограничениями. Все недостатки обещают исправить в Android 14.

Подробнее: https://www.xda-developers.com/android-14-app-cloning/

#android #новости
👍8🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
А вот и пятница!

Успели доделать запланированные таски? Предлагаем похвастаться и просто рассказать о своих успехах! Здесь вы можете поделиться ссылками, фото, мемами или скриншотами кода над которым работали:

https://tprg.ru/Lgbt

#обсуждение
💩8👍3👎1🥴1
Основы OkHttp в Android-разработке

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

https://tproger.ru/articles/osnovy-okhttp-v-android-razrabotke-2/

#android
👍72
Как отслеживать местоположение при наведении в SwiftUI

В macOS 13 и iPadOS 16 появился новый модификатор, который сообщает расположение указателя, когда он в пределах границ view — onContinuousHover. Также с помощью action можно определить, если указатель находится ещё внутри границ или нет. Пример реализации с подробным разбором — в статье:

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

#ios
👍4
Как создать приложение GraphQL с чистой архитектурой на Kotlin

GraphQL позволяет определить, какие данные вы хотите получить из API. По сути, в отличие от традиционного REST API, с помощью GraphQL можно избежать получения большого количества полей, которые не используются.

Это оптимизирует сетевой трафик и потребление батареи вашим приложением. В этом видео рассматривается реализация GraphQL для Android-приложения:

https://youtu.be/ME3LH2bib3g

#android
18👍2🔥21
Android 14: чего ожидать?

1. Специальные возможности: если вам казалось, что шрифт в приложении слишком мал в версии Android 13, то пользователи смогут увеличивать размеры шрифта до 200% в Android 14.

2. Языковые параметры сортировки будут реализованы с помощью Grammatical Inflection API, а также появится более детализированная настройка языков для каждого региона.

3. Улучшение времени автономной работы устройства.

4. Новое разрешение «‎schedule exact alarm»‎ для приложений, которые не являются часами или календарями.

5. Блокировка приложений с устаревшими APK.

Источник: https://tprg.ru/tXDe

#android
👍9🤮1
Как senior iOS-разработчик стилизуют код: читаемость и скорость разработки

В статье собраны советы и примеры, которые помогают улучшить производительность приложения, а также просто правила написания качественного и понятного кода. С некоторыми моментами можно поспорить, но, по словам автора, многие советы взяты из книги Swift Style:

https://tprg.ru/TYIN

#ios
👍8👎2
Android Developers выпустили курс по Compose

Курс «Android Basics with Compose» разделён на 8 блоков, каждый из которых охватывает различные аспекты разработки. Желающие могут также изучить основы Kotlin, архитектуру приложений для Android и часто используемые библиотеки Jetpack Compose.

Источник: https://tprg.ru/kqR4

#android
👍16
AnimeNow: бета-версия приложения на iOS

AnimeNow — это приложение для просмотра аниме, реализованное с помощью Swift и TCA. Все серии можно скачать на телефон. Проект ещё не закончен, поэтому есть несколько багов. Исходный код проекта:

https://github.com/AnimeNow-Team/AnimeNow

#ios
👍11👎32
Рекомпозиция и логирование

Какие способы отладки есть при рекомпозиции в Jetpack Compose? В этой статье автор разбирает примеры с использованием — LogCompositions() и недостатки стандартного использования Log.d:

https://tprg.ru/TdwK

#android
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
OCR на Flutter с помощью Google ML Kit

OCR или «Оптическое распознавание символов» — это технология, которая распознаёт текст внутри цифрового изображения. OCR обычно используется для распознавания текста в отсканированных документах и изображениях.

Для реализации данной функциональности на Flutter для этого есть удобный и простой пакет: Flutter Scalable OCR. Данный пакет является оболочкой Google ML Kit:

https://pub.dev/packages/flutter_scalable_ocr

#flutter
🔥8👍1🤮1💩1🤡1
Шаблон заголовка в Xcode для Swift Package

В этой статье рассматривается две проблемы создания шаблонов заголовков в Xcode. Например, только для Swift Package, Xcode не запрашивает имя файла, а просто создаёт его как «File.swift».

Можно потратить время на переименование файла, а также исправить имя в заголовке, но автор предлагает более лёгкое решение:

https://samwize.com/2023/02/28/xcode-header-template-for-swift-packages/

#swift #ios
👍5