Как стать автором
Обновить
75.43

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Разработали мобильное приложение для криптобиржи EVEDEX — функциональное решение для быстрой и безопасной торговли

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.3K

Создать мобильное приложение для криптобиржи — всегда вызов. Особенно, если биржа сочетает в себе принципы DEX и CEX, предлагает встроенные кошельки, смарт-аккаунты и управление средствами без посредников. Мы в CleverPumpkin взялись за этот челлендж и разработали EVEDEX — удобное и безопасное приложение для криптотрейдинга.

Читать далее

Мобильная разработка за неделю #583 (7 — 13 апреля)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4K
В новом дайджесте рассказываем как банки живут в заблокированном App Store, как создать UI-конструктор с помощью Compose Multiplatform, исследуем новый фреймворк внедрения зависимостей для Android и портируем кроссплатформенную С++ игру на iOS, изучаем Google Firebase Studio и многое другое. Заходите!

Читать дальше →

Что делать после блокировки ADEP: MDM-системы, PWA или Android?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.1K

В 2025 году Apple окончательно прикрыла лавочку Apple Developer Enterprise Program (ADEP) для российских компаний. Этот канал долгое время использовался бизнесом, чтобы расшаривать iOS-приложения внутри компании — без выкладки в App Store. Теперь привычный способ доставки корпоративного ПО умер. Ищем альтернативы.

Читать далее

SwiftUI: Реализация разделенного координатора совместно с DeepLink (Universal link)

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров745

Навигация при помощи текстовой строки внутри приложения может и не быть самым удобным способом для разработчика, но когда строковое значение приходит из вне приложения — это едва ли не самый надежный вариант переместить пользователя внутрь вложенной системы иерархии экранов. Вместе с тем, довольно часты ситуации, когда вместе с путем навигации передаются еще и параметры, с которыми экран должен быть отображен. Если схема координатора задана через перечисление, то возникает неоднозначность — либо координатор не может быть развернут исходя из названий элементов перечисления, либо, конкретные координаторы будут унаследованы от типа String, но параметры не могут быть переданы как ассоциированные значения.

Использование концепции MVVM порождает еще один философский вопрос: может ли один и тот же экран с одной и той же viewmodel иметь различные типы входных параметров. Конечно, для идеологии чистого кода — ответ однозначен. Но ведь если нет нужды в создании нового вида или новой view model, то подавляющее количество разработчиков предпочтет переиспользовать один и тот же экран и для отображения десериализированного объекта, и для сериализированных параметров, передаваемых строкой в пути навигации.

Читать далее

У нас в проекте был Compose Multiplatform, но снова я бы так не делал

Время на прочтение10 мин
Количество просмотров4.6K

Мобильная разработка продолжает развиваться, но, если честно, никаких революционных прорывов в последнее время не произошло. Громкие темы, вроде Kotlin Multiplatform (KMP), Flutter, Jetpack Compose, SwiftUI, уже давно закрепились в индустрии, а новинки больше эволюционируют, чем меняют правила игры. Компании экспериментируют с кроссплатформенными решениями, и это выглядит логично. Писать общий код для iOS и Android 一 это экономия ресурсов и времени. Вроде бы верно, но на практике всё не так гладко.

Привет, меня зовут Максим Плахута и с недавнего времени я руковожу Android разработкой «Кинопоиска». До этого руководил мобильной разработкой Почты Яндекс. А ещё я участник ПК новой конференции по мобильной разработке Apps Conf. Расскажу, какие шишки набили в реализации кроссплатформенного проекта и чего лучше не делать в современной мобильной разработке.

Читать далее

Воспроизведение и редактирование видео с AVFoundation. Часть 2. Ассеты продвинутые

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров650

Вторая статья из цикла об идеях воспроизведения и редаĸтирования медиа с
использованием AVFoundation. В ней разберём тему сложных ассетов.

Читать далее

SwiftUI: Пишем простое фитнес-приложение с использованием HealthKit

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров1.4K

В этой статье мы сосредоточимся на создании фитнес-приложения с использованием HealthKit. Это отличная возможность интегрировать данные о здоровье пользователей прямо в ваш продукт. Мы настроим фреймворк для отслеживания тренировок на Apple Watch; узнаем, как получить доступ к данным о физической активности и управлять ими, сохраняя при этом конфиденциальность пользователей.

Читать далее

App Store блокирует аккаунты разработчиков, а банки всё равно в сторах. Рассказываем, как они это делают

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

С февраля 2024 года Apple блокирует не только российские финтех-приложения и аккаунты разработчиков, но и закрывает доступ для разработки корпоративных сервисов. Это всё новый пакет санкций, который должен ударить по мобильной разработке и доходам бизнеса.

Сейчас гайки закручивают всё больше, а бизнес продолжает находить решения. Компании используют несколько стратегий, чтобы публиковать приложения на iOS и удерживаться там подольше. Рассказываем, как это делают.

Читать статью

Мобильная разработка за неделю #582 (31 марта — 6 апреля)

Время на прочтение5 мин
Количество просмотров1.3K
В этом выпуске конкатенация против интерполяции, дизайн-система для мобильных устройств и TV, применение zero/empty объектов, игра на LUA для часов Xiaomi Redmi Watch 4, уродливые пейволы, навыки флирта с ИИ-персонажами и многое другое. Заходите!

Читать дальше →

Google AI Studio: макеты Figma -> iOS приложение на Gemini 2.5 Experimental

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров1.9K

Gemini 2.5 Experimental воспроизводит в SwiftUI с поразительной точностью стили текста и функциональные возможности прототипов, подготовленных дизайнерами в Figma. Особенно это касается разработки русскоязычных UI.

Выдаёт полноценный изобретательный SwiftUI код, демонстрируя высокий потенциал Gemini 2.5 в преобразовании Figma-макетов в рабочий iOS-код.

Читать далее

Воспроизведение и редактирование видео с AVFoundation. Часть 1. Ассеты простые

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров843

Первая статья из циĸла об идеях воспроизведения и редаĸтирования медиа с
использованием AVFoundation. В ней рассмотрим главный объеĸт работы с медиа –
простой ассет.

Читать далее

Обзор Copilot в Xcode на SwiftUI

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.7K

Вот я и добралась до Copilot (знаю, поздно, всё руки не доходили установить). Было жутко интересно, чем конкретно он мне может помочь в написании кода. Так что, ХаброКотаны, кому интересно, приглашаю вас почитать дальше.

P.S. Обложку, кстати, сделал гпт в стиле гибли из моей фоточки.

Читать далее

Как правильно организовать проект c модульной архитектурой в iOS-разработке

Время на прочтение5 мин
Количество просмотров1.6K

Привет, Хабр! Меня зовут Алексей Григорьев, я iOS-разработчик в МТС, работаю над продуктом Membrana — это тариф + мобильное приложение для управления приватностью в Сети. Сейчас в iOS-приложениях на первое место постепенно выходит модульная архитектура. Она позволяет создавать гибкие и масштабируемые проекты, которые легко сопровождать и развивать. Особенно это актуально при увеличении кодовой базы и разрастании функциональности, когда поддержка монолита усложняется.

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

В этом материале я расскажу про ключевые моменты модульной архитектуры в iOS-приложениях, инструментах для ее внедрения и применения в наших проектах.

Читать далее

Ближайшие события

Мобильная разработка за неделю #581 (24— 30 марта)

Время на прочтение4 мин
Количество просмотров915
В новом дайджесте iOS-разработка в Zed и Picture-in-Picture в 2ГИС, автоматизация версионирования и системные идеи, которые никогда не работают, посудомойка в облаке, дело асинхронного программирования, ускорение Android-сборки и многое другое. Заходите!

Читать дальше →

Автоматизация версионирования в Kotlin Multiplatform: Решение для Android и iOS

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.3K

Привет, Хабр!

В этой статье я делюсь решением, как настроить версионирование приложения для Android и iOS с помощью Kotlin Multiplatform. Я рассказываю о том, как минимизировать человеческий фактор, автоматизировав процесс обновления версий, и как избежать дублирования информации в разных частях проекта. В статье представлен пример кода, который можно адаптировать под свой проект.

Читать далее

SwiftUI. Навигация по строке в разделяемом координаторе

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров932

Для атомарного перемещения внутрь иерархии вложенных вью весьма удобно, и, главное, просто использовать путь в виде строки. К примеру, строка вида «/auth/a//b/c/profile/a/c» открывает экран «c» в иерархии экранов «profile», что позволяет откатываться назад по «back» аж до самого корня, проходя через каждый экран. А легкое изменение строки на «/profile/c» откроет только нужный экран без остальных степеней вложенности.

Читать далее

Расследуем дело асинхронного программирования с Леонидом Каневским

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.2K

История развития асинхронного программирования в языке Swift. Можно относиться к этому как к расследованию нераскрытого дела.

Начать расследование

Мобильная разработка за неделю #580 (17— 23 марта)

Время на прочтение4 мин
Количество просмотров969
В этой еженедельной подборке оптимизация производительности iOS-приложений и реактивное профилирование Android-приложений, полезные библиотеки для React-приложений 2025 и вопросы о размерах пальцев и кнопочек, последствия «вайб кодинга», соединение точек, многомодульные библиотеки и многое другое. Заходите!

Читать дальше →

Разделяемый координатор в SwiftUI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.2K

Использование координатора совместно с NavigationStack является общепризнанной практикой на протяжении последних трех лет -- быстро, удобно, надежно. Однако, в том случае если выбор конечных точек пути описывается перечислением, то по мере роста размеров проекта, начинает разрастаться и класс координатора. Пока количество конечных экранов приложения находится в пределах пяти десятком – это не является проблемой, поскольку Pascal/Camel/Snake нотация легко секционирует группы экранов. Но на долгих проектах количество экранов переваливает за 2-3 сотни, и, в этом случае, перечисления на несколько сот строк становятся проблемой. Особенно, тогда, когда над проектом работает команда разработчиков.

Читать далее

Выжимаем максимум из код-ревью и спасаем нервные клетки

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров4K

Большинство разработчиков не любит проводить код-ревью. Все понимают, что это важно и нужно, могут с ходу назвать три-четыре причины необходимости этого процесса. Но раз за разом они избегают его. Или участвуют в нём неэффективно.

Так разрушим же шаблоны — не будем акцентировать внимание на важности и полезности код-ревью, а разберёмся в причинах сложившейся неприязни к этому процессу. И попробуем понять, как с этим жить.

Читать дальше