Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
851 photos
239 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
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать BottomSheet со скругленными углами

Автор гайда показал, как можно реализовать нужный дизайн BottomSheet с Canvas и XML:

https://proandroiddev.com/curved-corner-bottomsheet-using-canvas-and-xml-59c30c02d56f

#android
👎16👍5
Создание полей ввода и подтверждения пароля на Jetpack Compose

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

https://medium.com/google-developer-experts/how-to-create-a-composable-password-with-jetpack-compose-f1be2d48d9f0

#compose #android
👍11
Вышла Android 13 Developer Preview 2

Что интересного появилось в новой версии:
— новое разрешение POST_NOTIFICATIONS, которое управляет получением уведомлений от приложения;
— отзыв у приложений некоторых разрешений, которые долго не использовались;
— встроенная поддержка Bluetooth LE Audio и MIDI 2.0.

Запустить Developer Preview 2 можно на устройствах Pixel и в эмуляторе.

Следующая версия Android 13 уже выйдет в статусе беты в апреле.

#android
👍7💩5
Разбираемся с разрешением на отправку уведомлений в Android 13

С Android 13 DP 2 стало доступно разрешение POST_NOTIFICATIONS, и его уже можно опробовать в деле. В статье объясняется, как работать с разрешением и что необходимо для подготовки своего приложения к Android 13:

https://proandroiddev.com/notification-runtime-permission-android13-190c796254d5

#android
👍8
В сервисах Apple случился массовый сбой

Из App Store и TestFlight нельзя скачать приложения. Также не открывается сайт Apple Developer и не работают различные сервисы, например Apple Music, Apple TV+, iCloud и другие.

В этот раз пострадали не только жители РФ, но и пользователи по всему миру.

На сайте Apple доступна вся актуальная информация по сбоям.

#ios
😱8👍2
Работа с базой данных SQLite в Android

Серия роликов познакомит с тем, как создать базу данных SQLite, добавить её в Android-приложение и эффективно работать с данными:

1. Основы SQLite.
Из видео вы научитесь создавать структуру базы данных и простые SQL-запросы.

2. SQLite API.
В ролике показано, как добавить базу данных в Android-проект и какие возможности работы с БД имеются в Android SDK.

#android #начинающим
🔥10👍8🤔2💩2
Введение в Accessibility в Jetpack Compose

Держите большое вводное руководство, которое подскажет, как адаптировать интерфейс Android-приложения на Compose для слабовидящих и незрячих людей:

https://www.raywenderlich.com/30117730-jetpack-compose-accessibility-getting-started

#android #начинающим #compose #accessibility
OAuth в мобильных приложениях

Для авторизации пользователя с помощью соцсетей используется протокол OAuth. Поэтому мобильным разработчикам приходится разбираться с работой OAuth.

В статье рассмотрены основные нюансы OAuth, а также настройка OAuth в Android-приложении с использованием библиотеки AppAuth:

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

#android #ios
👍6🔥5
Фичи Kotlin: полезные и не очень

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

В этом докладе разработчик рассматривает некоторые фичи Kotlin типа синтаксического сахара, библиотек и некоторых моментов дизайна языка и оценивает их полезность и элегантность: https://youtu.be/X0M_I8p9jJ0

Доклад будет особенно полезен Java-разработчикам, которые рассматривают переход на Kotlin в своих проектах.

#kotlin
👍25
Масштабируемая модульная архитектура для iOS

Автор статьи не рассказывает здесь о UI-архитектурах типа MVVM, MVP, VIPER, VIP. Когда речь идёт о больших приложениях, то архитектура — это то, как происходит взаимодействие между компонентами. Также важный момент в архитектуре больших приложений — возможность добавлять новые фичи и тестировать компоненты без высокой вероятность сломать что-то в другом месте приложения.

На примере простого приложения с фильмами автор показывает пример такой архитектуры: https://tprg.ru/IuS4

#ios
👍141🔥1👏1
​​VK проводит Weekend Offer для мобильных разработчиков

Процесс получения Weekend Offer:

С 21 по 31 марта представители компании свяжутся с кандидатами и договорятся о звонке на 15–30 минут для согласования времени технического собеседования.
2 апреля Андрей Сумин, технический директор «Почты Mail.ru», подробнее расскажет о задачах, которые вам предстоит решать в команде, а позже пройдут технические собеседования.
3 апреля руководители направлений ещё раз ответят на все вопросы и проведут финальные собеседования, после которых выберут лучших кандидатов и предложат им оффер, бонусом к которому идёт з/п с самого старта.

Подать заявку и узнать все подробности о работе: https://vk.cc/cc6ds2.

#вакансии #android #ios
👎34💩15👍8
​​Актуализация данных в списках Flutter-приложения

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

В статье на примере приложения с примитивным списком показано, как реализовать обновляющийся список:

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

#flutter #начинающим
👍71
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомизируемая панель вкладок для SwiftUI

Библиотека AxisTabView позволяет создать панель вкладок с различными стилями. С её помощью вы можете настроить размер панели и элементов, а также кастомизировать их форму.

Как использовать (пример iOS-приложения внутри): https://github.com/jasudev/AxisTabView

#ios #swiftui #библиотеки #ui
👍12🤯1
​​Руководство по Drag and Drop в Android

Функция Drag and drop позволяет перемещать View или данные между View. Чтобы освоить работу с фичей, рекомендуем почитать гайд, где объясняется, как реализовать возможность перемещения маски на зелёного робота:

https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data

#android #начинающим
👍11
​​Устройтесь мобильным разработчиком в «Альфа-банк»

«Альфа-Банк» активно расширяет команду мобильной разработки и ищет Android и iOS-разработчиков уровня Middle+.

Что требуется:
— опыт коммерческой разработки мобильных приложений от 2-х лет;
— знание iOS SDK и/или Android SDK, Java или Kotlin;
— умение писать чистый код и держать фокус на результате.

Что предлагают:
— welcome-бонус 250 000 рублей (до вычета НДФЛ) за уровень Middle+ сразу после выхода на работу (уровень подтверждается на техническом интервью);
— стабильный и прозрачный доход + квартальная премия по результатам KPI;
— гибкий график работы.

Если вы готовы привносить свои идеи, не боитесь работать с новыми технологиями и способны самостоятельно принимать решения, то откликайтесь на вакансию на сайте или напишите напрямую рекрутеру: @sabusya95

#вакансии
👎21👍6🤮4💩2🔥1
Создание контроллера на половину экрана в iOS

В 24-минутном видео пошагово объясняется, как реализовать двумя способами half-sheet контроллер:

— с помощью UISheetPresentationController для iOS 15 и выше;
— собственное решение:

https://youtu.be/J6mZ6vJHPFg

#ios #начинающим
👍4
Исследуем отзыв разрешений в Android 13

В сборке Developer Preview 2 у приложений появилась возможность отзывать runtime-разрешения, которые ранее были выданы пользователем. Делается это с помощью двух API:

revokeOwnPermissionOnKill(String) для одного permission;
revokeOwnPermissionOnKill(Collection) для нескольких permissions.

На примере простого приложения вы сможете лучше понять, как работать с новыми API:

https://yggr.medium.com/exploring-android-13-downgradable-permission-5ca79bfcee2b

#android
👍8
Sliver во Flutter, или как работает скролл

Flutter обладает большими возможностями по кастомизации экрана приложения. Например, с помощью фреймворка можно создать собственный эффект скролла элементов.

Однако для реализации кастомного скролла нужно понимать сам механизм скролла в Flutter. Во «внутренностях» фреймворка покопался Михаил Зотьев из Surf и поделился результатами в выступлении на Dart UP.

Доклад можно как посмотреть, так и почитать в виде статьи.

#flutter #доклады
👍5
Разбираемся с DI в Jetpack Compose

В Compose встроен CompositionLocal, который может выполнять роль DI. Но так ли он хорош, чтобы заменить Dagger 2 и другие DI-инструменты? Или же у него другое направление работы? Ответ — в видео:

https://youtu.be/vOpy_5I_C7k

#compose #android
👍7💩1
Android-разработчики смогут узнать класс производительности устройств

Performance class отображает уровень производительности и общих возможностей устройства пользователя. Благодаря этому можно изменять настройки графики и функциональность приложения под определённые группы, чтобы добиться оптимальной производительности.

Информацию к классе производительности устройства на Android 11 (API level 30) и выше выдаёт новая библиотека Jetpack Core Performance (пока в альфе).

В статье можно узнать подробности о новой фиче.

#android
👍10💩1
Интеграция Huawei Mobile Services в существующее приложение

Устройствами от Huawei пользуется существенное количество российских пользователей. Кроме того, из-за возникшего дефицита электроники в России продажи устройств Huawei за первую половину марта выросли на 300%.

Если вы задумались о публикации приложения в App Gallery, то вам будет полезен опыт ребят из hh. Они со второй попытки смогли внедрить в релизные сборки Huawei Mobile Services и собрали интересную статистику:

https://youtu.be/TSlJEUh7UY4

Однако стоит учесть, что Google Play стал присылать предупреждения разработчикам, если в их приложении встроена поддержка HMS. Поэтому будет необходимо делать две отдельные сборки под Google Play и App Gallery.

#android #hms
👍6💩6👏1