Мобильная разработка – 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
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
Стал доступен 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