Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Мобильная ОС компании Apple
Всем добрый день. Хочу поделиться с вами проблемами постепенного внедрения SwiftUI в приложение, полностью написанное на UIKit, а так же моими вариантами их решения.
В последнее время ну очень популярна стала такая вещь, как ребрендинг. Одни меняют лого и название. Другие, вдобавок к этому, еще и кардинально меняют цвета.
Популярность эта, однако, не сопровождается должным количеством технических статей, которые мне, как разработчику, наиболее интересны.
Будем это исправлять.
Всем привет! Меня зовут Слава. Я мобильный разработчик. И в этой статье я поделюсь своим уникальным опытом того, как Леруа Мерлен стал Лемана ПРО. Собственно, рассказывать буду про мобильную разработку 🤷🏽.
Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. С Flutter я работаю уже несколько лет. Несмотря на все преимущества, он не всегда оптимально решает задачи, которые требуют глубокой нативной интеграции. Существуют инструменты, разработанные специально под нативные платформы, но недоступные напрямую из Dart. И как правило, в таких случаях на помощь приходит PlatformChannel.
Но существуют и нативные инструменты, которые интегрируются с Flutter. Например, создавать виджеты на Android можно с помощью Glance или XML, а на iOS — с WidgetKit. Эти технологии позволяют внедрять так называемые Home Widgets — элементы, с которыми можно взаимодействовать напрямую с домашнего экрана. В этой статье разберу основные инструменты, расскажу, как их внедрять и использовать во Flutter-приложениях.
SDK (Software Development Kit) — комплекс инструментов для расширения функциональности мобильных приложений и доступа к новым опциям и возможностям ПО. При этом каждый SDK ограничен своим набором компонентов и закрывает определённые задачи бизнеса. В статье расскажем о базовых, второстепенных и перспективных SDK, опишем их функции и возможности, приведём примеры наборов разработчика для каждой из категорий.
Спойлеры стали неотъемлемой частью общения в мессенджерах и социальных сетях. Они позволяют скрывать часть информации до тех пор, пока пользователь не захочет ее увидеть. В Telegram спойлер-эффект сопровождается красивой анимацией рассыпающихся точек. В этой статье мы рассмотрим, как реализовать подобный спойлер-эффект в iOS-приложении на Swift, используя CAEmitterLayer и UITextVie.
Привет! Меня зовут Антон Долганов, я iOS-разработчик в компании Контур. Я работаю над инфраструктурными модулями и параллельно поддерживаю наше приложение Контур.Коннект, которое используется для подключения к внутреннему VPN и даёт доступ к корпоративным сервисам.
Недавно мы выпустили обновление Коннекта, добавив поддержку Быстрых команд (Shortcuts). Теперь можно включать и отключать VPN, даже не заходя в приложение. В этой статье я расскажу, как я это реализовал и почему это полезно.
Приложение соединяет данные из сети с интерфейсом. Про UI сказано и написано немало, а вот сеть говорят меньше всего, хотя именно она влияет на время ожидания ответа пользователем. При этом со стороны разработчика это часто выглядит так: «ну я создал сессию, дёрнул запрос, обработал ошибку, что там ещё может быть?».
Если посмотреть на все запросы со стороны, то появится много вопросов: нужно ли переиспользовать URLSession.shared, почему первые запросы выполняются дольше остальных, как построить мониторинг качества работы сети и т.п.
Мы решили проанализировать наши приложения с помощью Network Instrument и нашли в них десяток разных проблем. В этой статье поделимся нашим опытом и расскажем о том, как найти зоны роста вашего iOS-приложения и использовать их для улучшения пользовательского опыта.
Хотели бы вы иметь готовое приложение, которое можно адаптировать под свой бренд за пару кликов? Мы его уже сделали!
С идеей создания такого продукта к нам пришла компания Travelpayouts, объединяющая инфлюенсеров и тревел-бренды. Заказчику требовался цифровой продукт, который поможет им расширять свою партнёрскую платформу в направлении мобильных приложений, а самим партнёрам — дополнительно монетизировать входящий трафик, зарабатывая на комиссии за каждое бронирование.
Так появилось приложение White Label App — шаблон нативного приложения для поиска и бронирования авиабилетов и отелей по всему миру с обширными возможностями конфигурации. Он исполнен в двух вариантах: основной – White Label App — приложение с готовыми функциональными модулями, и White Label SDK — набор готовых экранов, которые можно встроить в собственное приложение. Любой из форматов можно кастомизировать под разные стилистики брендов. А ещё это решение будет гораздо дешевле и быстрее разработки собственного приложения для тревел-бизнеса.
Подробнее про форматы:
Что общего у мобильной разработки с лентой Мёбиуса? С первого взгляда видишь две стороны: вот же они, Android и iOS. А потом присматриваешься — и замечаешь, что одно может плавно переходить в другое.
Вот смотрите. Мы скоро проведём конференцию Mobius. Казалось бы, хабрапост с описаниями докладов логично поделить на две части, чтобы любому разработчику было удобно читать именно о «своей» платформе.
Но будет, например, доклад про корутины в Kotlin. Этот язык привычен в мире Android, однако с Kotlin Multiplatform выходит за рамки платформы. И кому тогда стоит знать про такой доклад: Android-разработчикам или всем?
Ещё есть доклады про Flutter. Они интересны только флаттеристам, или нативные разработчики с обеих сторон тоже следят «что там происходит»? И есть другие «кроссплатформенные» темы, не привязанные строго к платформе. Их в посте где лучше поставить, в начале или конце?
В общем, вместо строгого деления на две половины получился текст из пяти блоков, постепенно переходящий от одной платформы к другой. Сами смотрите, какие части этой ленты актуальны для вас.
Йоу, юзер! Даннаястатья относится к циклу статей «База джуна на Flutter». Если ты не видел начальную ноду — ознакомиться можешь тут, а если уже видел — погнали дальше!
Apple продолжает радовать нас с каждым обновлением iOS, и iOS 18 не стала исключением. В новой версии системы появилась возможность кастомизации иконок и виджетов на домашнем экране. Пользователи могут сделать их тёмными или перекрасить в любимый цвет.
Для пользователей это настоящая находка в плане персонализации своего iPhone. Но что насчёт разработчиков, которым приходится оперативно адаптировать свои приложения к новому API? В этой статье я расскажу, как команда Clover подготовила виджеты под iOS 18, которые после обновления системы вдруг перестали выглядеть привлекательно.
Всем привет! На связи команда dev.family. В этой статье мы делимся кратким гайдом по установке Splash Screen в кросс-платформенное приложение, написанное на React Native, с поддержкой нескольких тем.
Splash screen — первый экран, который видят пользователи перед тем, как прогрузиться в основное приложение. Этот экран, пожалуй, лучший способ сделать название вашей аппки, да и в целом, ее всю более запоминающейся.
Но это не основная роль splash screen. Под ним, например, можно спрятать получение данных с API и прогрузку основного приложения. Мы так делаем, когда показываем лоадер на экране при загрузке тех же данных. Это позволяет улучшить UX и демонстрировать пользователю сразу готовое приложение. А как следствие — убрать лишний лоадер при первом открытии.
В этом кратком гайде мы разберем установку splash screen сразу для iOS и Android на фреймворке react-native с использованием библиотеки react-native-splash-screen.
Большая статья в двух частях о самом важном, что нужно знать и учитывать продуктовому дизайнеру, если проект, над которым он работает, будет реализован на BDUI:
— в чём его суть и чем он отличается от классического подхода в разработке;
— что такое контракт экрана и контракт компонента, почему они главный источник истины в BDUI подходе, и как с ним работать дизайнеру;
— как дизайнеру читать JSON, разберём ключи и значения.
Статья будет не только теоретической. Поделимся своим опытом внедрения BDUI в дизайн-процессы с примерами и иллюстрациями и оставим несколько рекомендаций для тех, кто только начинает делать это у себя в продукте или команде.
ContainerController компонент пользовательского интерфейса. Это копия свайп-панели из приложения: AppleMaps.
Знакома ли вам ситуация, когда вы спокойно работаете, а клиентская служба передаёт вам странный репорт: несколько пользователей жалуются, что в приложении не грузятся картинки, но у вас всё работает. Или пользователь пишет в Google Play, что приложение занимает несколько гигабайт, и вы не понимаете, сколько таких пользователей и что с этим делать. Нужно ли срочно бросаться чинить, или это может подождать следующего планового релиза?
Согласитесь, было бы здорово узнавать о проблемах раньше, чем пользователи начнут жаловаться в поддержку. Сегодня я расскажу, как мы в Циан создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»