Мобильная разработка – 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
Навигация в iOS-приложении с паттерном Coordinator

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

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

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

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

#ios
👍7
Стал доступен Kotlin 1.6.20

Что появилось интересного:
— context receiver в Kotlin/JVM (пока в виде прототипа);
— объявление non-nullable generic типов (пока в бете);
— поддержка параллельной компиляции в один модуль в JVM backend;
— инкрементальная компиляция development binaries с компилятором Kotlin/JS IR;
— улучшение производительности Kotlin/Native;
— поддержка иерархической структуры для мультиплатформенных проектов (на KMM).

Подробнее об изменениях в блоге JetBrains. Обновление установится автоматически в IntelliJ IDEA и Android Studio.

#kotlin
🔥7👍51
Ежегодной конференции для разработчиков от Apple быть!

WWDC22 состоится с 6 по 10 июня. Как и раньше, мероприятие пройдёт в онлайн-формате.

Как думаете, что могут представить на конференции?

#ios
🤔12👍9👎2
50 вопросов и ответов для подготовки к собеседованию по Swift и iOS

В статье собраны вопросы по различным темам — от теоретических вопросов до поиска ошибок в коде. Самое то потренироваться перед собеседованием на iOS-разработчика:

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

#ios #начинающим
🔥11👍52
This media is not supported in your browser
VIEW IN TELEGRAM
Многопользовательская игра для рисования на Compose

В игре Stream Draw один игрок должен нарисовать изображение, а другой — отгадать, какое слово загадано. Под капотом: Jetpack Compose, корутины и Flow.

Изучить проект: https://github.com/getStream/stream-draw-android

#android #compose #ui
🔥23👍51
Удобная работа со справочниками в iOS

Справочники удобно хранить в базе данных. На iOS основных инструментов для работы с базой данных три — CoreData, Realm, SQLite.

Разработчики из hh разобрали плюсы и минусы всех вариантов и рассказали, какой из них использовали в своём проекте:

https://habr.com/ru/company/hh/blog/658257/

#ios
👍7
Пишем первый UI-тест на Android

Фреймворк Espresso используется для тестирования UI Android-приложения на реальном устройстве или эмуляторе. Начать с ним работу поможет пошаговый гайд по созданию первого UI-теста:

https://habr.com/ru/company/otus/blog/472372/

#android #тестирование #начинающим
👍10🔥5
Реализуем swipe-to-dismiss в Android-приложении

Библиотека Fragula 2 расширяет возможности Navigation component: она добавляет в приложение возможность горизонтального перелистывания экранов, похожее на Telegram. В библиотеке также реализована кастомная анимация.

Кстати, Fragula 2 создал российский разработчик из Ozon.

Как использовать: https://github.com/massivemadness/Fragula

#android #библиотеки
👍28
This media is not supported in your browser
VIEW IN TELEGRAM
Создание анимированного селектора на Jetpack Compose

Делимся пошаговым гайдом по созданию кастомного селектора в Android-приложении, в котором изменяются:
— фон с анимацией в соответствии с выбранным параметром;
— углы фона вместе с выбранной позицией;
— цвет текста на выбранной позиции.

Подробнее: https://fvilarino.medium.com/creating-an-animated-selector-in-jetpack-compose-669066dfc01b

#android #compose #ui
🔥11👍2
Анонсированы изменения политик Google Play

Главное:
— С 11 мая обновляется Families policy. Если контент для детей в приложении неприемлем глобально, то приложение будет доступно только в регионах, где подобный контент разрешён.
— С 11 июля приложения, устанавливающие дополнительные APK-файлы, должны получить одобрение на публикацию.
— С 1 ноября уже выложенные в Google Play приложения должны иметь target API level не старше 2 лет от выхода последней версии Android. Иначе приложения скроются из выдачи Google Play для устройств с последними версиями Android, и их нельзя будет установить. Также новые приложения и обновления должны иметь target API level не старше 1 года с выхода последней версии Android, иначе их не пропустят в Play Console.

#android #googleplay
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Пружинная анимация в SwiftUI

Держите подборку интересных примеров, как можно реализовать пружинную анимацию различных типов — .spring(), .interactiveSpring(), .interpolatingSpring(...) и их вариациями:

https://medium.com/@amosgyamfi/learning-swiftui-spring-animations-the-basics-and-beyond-4fb032212487

#ios #swiftui #ui
🔥26👍9
«Альфа-Банк» ищет мобильных разработчиков

В «Альфе» разрабатывают продукт, которым пользуются сами, поэтому для ребят важно делать крутые фичи. А это невозможно без крутых разработчиков.

Прямо сейчас «Альфа-Мобайл» разрабатывает поддержку карты «Мир» и платёжной системы Union Pay. Поэтому команде нужны:

— iOS-разработчик с 2+ лет опыта и знанием Swift и iOS SDK;
— Android-разработчик с 2+ лет опыта и знанием Kotlin, Java и Android SDK.

Подходящим кандидатам «Альфа» предлагает welcome-бонус, заботу о здоровье и льготные условия на свои банковские услуги.

Узнать больше об этих и других вакансиях можно в Telegram-канале «Альфа-Банка».

#вакансии
👎23💩14👍12🤯2😁1
Подборка полезных материалов для начинающего Android-разработчика

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

план изучения Android-разработки с нуля;
курс Kotlin Basics от JetBrains;
курс Android Basics in Kotlin от Google;
видеокурс по основам разработки Android-приложений на Kotlin;
большой курс лекций по Android для начинающих от «Яндекса».

Больше материалов для начинающих мобильных разработчиков доступно по тегу #начинающим.

#android
👍44🔥53😁3🥰2🤔2👎1
Адаптация iOS-приложения для незрячих пользователей

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

Разработчик iOS-приложения «Яндекс Go» Николай Морев поделился опытом, как его команде удалось улучшить зачитывание скринридером элементов интерфейса, и рассказал, какие проблемы ещё остались:

https://habr.com/ru/company/yandex/blog/660663/

Кстати, про доступность Android-приложения также рассказал его коллега, Виктор Вихров.

#ios #accessibility
👍8
6 вакансий для мобильных разработчиков

Android-разработчик (Beffo) в МТС
Опыт: От 1 года
Где: Москва, можно удалённо

Middle Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо

Senior Android-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо

iOS-разработчик в МТС
Опыт: От 1 года
Где: Москва

Middle iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 2 лет
Где: Ижевск, можно удалённо

Senior iOS-разработчик в Центр Высоких Технологий (ГК Softline)
Опыт: От 3 лет
Где: Ижевск, можно удалённо

#вакансии #работа
👍7
Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift

Любой iOS-разработчик использует хотя бы одну из функций высшего порядка: map, filter, reduce или flatMap. Благодаря им код писать ощутимо легче, чем на основе цикла for-in. Но насколько функции хороши в плане быстродействия?

В статье приведены результаты замера производительности функций по сравнению с for-in. В эксперименте использовали 30 повторов на 10 млн элементах.

Как выяснилось, встроенные функции высшего порядка существенно опережают for-in, когда их не нужно выстраивать в цепочку. Иначе производительность только падает.

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

#ios #swift
👍7
Пагинация списков в Android

Нужен список с бесконечным скроллом, где данные будут подгружаться постепенно? Реализовать его возможно с помощью библиотеки Jetpack Paging Library v3.

Серия роликов научит использовать библиотеку в Android-приложении:

Пагинация в Android с Jetpack Paging v3
В видео показано, как использовать PagingSource, Pager, PagingDataAdapter и LoadStateAdapter. Также вы узнаете об обработке ошибок при загрузке страниц списка, отображении прогресса при загрузке и реализации фильтрации в списке с пагинацией.

Обновление данных в Jetpack Paging v3
Вы узнаете, как обновлять данные в списке с пагинацией без полной перезагрузки, а также когда можно и нельзя избегать перезагрузки списка.

#android #jetpack #начинающим
👍16🔥1
Подборка полезных материалов для начинающего iOS-разработчика

Чтобы создавать приложения для iOS, нужно в первую очередь обзавестись «макбуком» или другим устройством на macOS. Весь процесс iOS-разработки ведётся в Xcode — среде разработки от Apple.

Уже всё есть? Начните с языка Swift. В его изучении и дальнейшей разработке iOS-приложений вам помогут бесплатные ресурсы на русском и английском языке из нашей подборки:

краткий план обучения iOS-разработке с полезными ссылками;
онлайн-учебник по языку Swift;
видеокурс по Swift для начинающих;
курс лекций по iOS-разработке от «Яндекса»;
50 вопросов и ответов для подготовки к собеседованию по Swift и iOS.

#ios #начинающим
🔥19👍2
Введение в архитектуру MVI

В архитектуре MVI (Model-View-Intent) два основных компонента — Model (модель) и View (представление). Между ними данные перемещаются только в одном направлении:
— состояния (state) исходят из модели и попадают в представление для отображения;
— намерения (intents) исходят из представления и попадают в модель для обработки.

Небольшой гайд подробнее объясняет принципы работы MVI и преимущества подхода.

#android #архитектура
👍213