Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
854 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
​​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
Стоит ли публиковать больше материалов по HMS и публикации в App Gallery?
Anonymous Poll
68%
Да 👍
32%
Нет 👎
💩9😁4
Работа с клавиатурой в Jetpack Compose

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

Как решить проблему:

https://dev.to/tkuenneth/keyboard-handling-in-jetpack-compose-2593

#android #compose
👍9😁1
Передвигаем элементы в Compose без рекомпозиции

В Jetpack Compose 1.2 появится функция movableContentOf, которая позволяет перемещать элементы без необходимости их перекомпоновки. Например, с помощью функции можно легко ряд элементов превратить в столбец.

Как работать с новой функцией: https://betterprogramming.pub/exploring-movablecontentof-in-jetpack-compose-6807a43047cd

#android #compose
🔥7👍1
Внедрение Kotlin Multiplatform Mobile: опыт QIWI

Мы не раз писали про KMM. Платформа позволяет написать бизнес-логику приложения на Kotlin и затем использовать ее на разных платформах. При этом UI-слой пишется отдельно под каждую из них.

Разработчики из QIWI попробовали технологию в деле и поделились своим опытом. Если вкратце, то технология им показалась многообещающей, но без проблем не обошлось.

Подробнее: https://habr.com/ru/company/qiwi/blog/658275/

#kmm #android #ios
👍8
Как защитить Android-приложение от реверс-инжиниринга

Нельзя полностью защитить приложение от хакерских атак. Однако существуют инструменты, которые помогут существенно затруднить захват пользовательских данных со стороны клиента.

Подробнее об инструментах против реверс-инжиниринга:

https://proandroiddev.com/how-to-prevent-hackers-from-reverse-engineering-your-android-apps-2981661ab1c2

#android #безопасность
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Создание кастомного индикатора загрузки в UIKit

В гайде объясняется, как реализовать собственный спиннер с помощью двух классов фреймворка СoreAnimations — CAShapeLayer и CAReplicatorLayer:

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

#ios #ui
👍13🔥32👎2💩2😁1
На этой неделе прошла новость, что ориентировочно 9 мая в России запустится магазин приложений NashStore для Android. Как сообщается, его запускают в условиях, когда пользователи из России не могут совершать покупки в Google Play, а разработчики — получить выплаты.

Как думаете, приживётся ли проект? Стали бы потенциально выпускать там свои приложения в текущих условиях?

К слову, подобный проект уже существовал раньше — «Яндекс.Store». Магазин приложений предустанавливался на некоторые модели Android-устройств и проработал до августа 2020 года. Пользовались ли им когда-нибудь?

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

#чат
🤮54😁13👍12💩5🤔3😢1🎉1
Cheat Sheet по шорткатам в Xcode

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

Кстати, из репозитория с проектом можно скачать PDF-версию.

#ios
👍11💩4
This media is not supported in your browser
VIEW IN TELEGRAM
PT Application Inspector 4.0. Как выйти на уровень безопасной разработки

82% всех уязвимостей инфраструктуры содержатся в коде приложения. Каждая пятая из них грозит компании серьезными последствиями.

Для того, чтобы находить слабые места еще на стадии разработки нужен анализатор кода, такой, как PT Application Inspector. Он комбинирует технологии SAST, DAST, IAST и SCA. Встраивается в процессы компании, помогает раз и навсегда подружить ИБ и разработку.

Эксперты Positive Technologies проведут митап для разработчиков и инженеров DevOps и DevSecOps, где расскажут:
— Про методы анализа и абстрактную интерпретацию как способ повысить качество анализа
— Как посчитать выгоду DevSecOps для компании и подружить ИБ с разработкой
— Новые фичи PT Application Inspector версии 4.0

Когда: 7 апреля

Зарегистрироваться
👍8🔥1
Навигация в iOS-приложении с паттерном Coordinator

За навигацию в iOS отвечает стандартный класс UIViewController. Однако с ним возникают трудности, когда нужно поменять порядок экранов, добавить новый переход или передать данные с последнего экрана на первый.

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

Существует множество готовых реализаций паттерна. Но в «СберМаркете» решили запилить свою собственную версию и рассказали о ней в статье:

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

#ios
👍7