Обновить
47.72

iOS *

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

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

Обзор Copilot в Xcode на SwiftUI

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

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

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

Читать далее

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

Время на прочтение5 мин
Охват и читатели1.4K

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели814

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Мобильная разработка за неделю #579 (10 — 16 марта)

Время на прочтение4 мин
Охват и читатели962
В новом дайджесте производительный SwiftUI и бесшовное взаимодействие Compose и View, сборка ядра Android и отслеживание угла горизонта, решение задач распознавания, прямые без препятствий, что происходит на рынке разработки, глажка травы и многое другое. Заходите!

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

Эволюция шпионского софта под iOS

Время на прочтение4 мин
Охват и читатели1.6K

Возможности программного обеспечения Sysdiagnose для компьютерной криминалистики на iOS

Среди некоторых пользователей распространено мнение, что смартфоны под iOS лучше защищены от бэкдоров и вредоносного ПО, чем смартфоны Android. Отчасти это справедливо. Софт в каталоге App Store более жёстко модерируется, так что у обычных граждан меньше шансов подхватить зловреда. Но с точки зрения уязвимостей операционная система iOS совсем не уступает другим ОС. Соответственно, и вредоносные программы для неё создают регулярно.

Под iOS создаётся коммерческий шпионский софт, который применяется на государственном уровне против конкретных граждан — гражданских активистов, журналистов, бизнесменов. В нём применяют более интересные уязвимости и изощрённые эксплоиты, чем в обычных троянах.

Для обнаружения таких зловредов требуются специальные инструменты.
Читать дальше →

Формализация принципа Open/Closed: как сохранить обратную совместимость с помощью SOLID

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

Привет, Хабр! Меня зовут Дмитрий Сурков, я iOS-разработчик приложения для среднего и малого бизнеса ПСБ. Наше приложение состоит из различных модулей и внутренних библиотек, которые связаны между собой, поэтому важно сохранять гибкость и обратную совместимость во время разработки. В этой статье мы разберемся, как вносимые изменения нарушают эти правила, а также как это исправить.

Читать далее

Тактики ускорения билда: матиз, кобальт, камри 3.5

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели710

Меня зовут Дима, я iOS инженер-менеджер в крупнейшем телеком-операторе Казахстана. У нас 19 разработчиков — и билд-тайм для нас важная составляющая разработки. В этой статье я пройдусь по следующему пути: 

рассмотрю стратегии, которые вы сможете сразу применить; 
покажу реальные цифры из наших проектов; 
сделаю выводы и поделюсь инсайтами. 

Читать далее

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

Мобильная разработка за неделю #578 (3 — 9 марта)

Время на прочтение4 мин
Охват и читатели1.1K
В этом выпуске окончательная и бесповоротная очистка Xcode от ненужных файлов, плагин для кастомных дизайн-систем и мобильная архитектура, новый (почти нативный) кроссплатформенный фреймворк, одинаковые приложения от студентов, жизнь и смерть триалов в Южной Корее и многое другое. Заходите!

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

Как стать iOS-разработчиком в 2025 году: подробный гайд для новичков

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.9K

В данной статье не будет подробного разбора кода, я добавил краткие примеры, чтобы у тебя (если ты новичок), было представление о том, как выглядит в коде та или иная технология. Следуя этому плану, обращаясь к указанным ресурсам, можно уверенно дойди до уровня Junior и начать поиск свой первой работы.

Почему стоит выбрать iOS-разработку?

iOS-разработка остается одним из самых востребованных направлений в IT. Спрос на специалистов растет, зарплаты остаются высокими, а сам процесс разработки комфортный благодаря экосистеме Apple. Не стоит бояться разговоров о том, что рынок перегрет, главное знать зачем вы это делаете и просто дойди до конца.

💰 Сколько зарабатывают iOS-разработчики в России в 2025 году?

• Junior – 120 000–180 000 ₽

• Middle – 250 000–350 000 ₽

• Senior – от 400 000 ₽ и выше

Но чтобы получить первый оффер, нужно освоить Swift, UIKit, сетевое взаимодействие, архитектуры (у вас должно быть понимание, для чего та или иная архитектура, основные сущности, не обязательно глубоко разбираться) и основы хранения данных. Давай разберемся, с чего начать.

1. Изучение Swift и основ программирования

Swift – это современный язык программирования от Apple. На нем пишут приложения для iOS, macOS, watchOS и tvOS.

📌 Что нужно изучить в первую очередь?

✅ Основы (переменные, типы данных, операторы)

✅ Управляющие конструкции (if, switch, for, while)

✅ Коллекции (Array, Set, Dictionary)

✅ Опционалы (Optional, nil, guard let, if let)

✅ Основы ООП (классы, структуры, наследование, протоколы)

✅ Управление памятью (ARC, weak, strong, unowned)

Читать далее

Руководство по использованию unsafe в Swift

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

В этой статье мы рассмотрим различные подходы для работы с небезопасными операциями в языке программирования Swift. Swift предоставляет несколько способов для работы с указателями и низкоуровневой памятью.

Читать далее

Мобильная разработка за неделю #577 (24 февраля — 2 марта)

Время на прочтение4 мин
Охват и читатели739
В новом дайджесте укрощение анимаций и оживление смартфона, эффективный бэкграунд, уродливый код и глупые вещи, потери денег от плохого дизайна, индекс цифрового рынка за 4 квартал, Gemini Code Assist для всех и многое другое. Заходите!

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

Чем полезен Server Driven UI

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

Привет! Меня зовут Олег Иванов, я руководитель мобильной разработки в Московском кредитном банке. Сегодня поговорим о Server Driven UI вот по такому плану:

что это вообще за технология

из чего она состоит

рассмотрим наши подходы к ее реализации

Начнем с терминологии:

SDUI (Server Driven UI) — это пользовательский интерфейс, управляемый сервером.

Что такое пользовательский интерфейс? Среда, с помощью которой пользователь взаимодействует с программным обеспечением через приложения. Обычно он состоит из множества экранных форм, которые и ведут пользователя по флоу до какого-то определенного результата.

Читать далее

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

Время на прочтение4 мин
Охват и читатели951
В этом выпуске учет времени с помощью библиотеки Charts и анализ Android-фич на доступность и внедрение accessibility, что такое перерисовка и как с ней бороться, реализация кастомной прокрутки и бесплатный сервис Build Distribution, «Uber с пушками» от Никиты Бира, LLM на реальных задачах фриланса и многое другое. Заходите!

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

Как мы из России опубликовали платное приложение в App Store

Время на прочтение7 мин
Охват и читатели5.8K

Из России запуск платного приложения в App Store после 2022 года требует нестандартного подхода, но это вполне реальная задача. Главное — учитывать актуальные требования Apple, а также продумать стратегию монетизации.

Однако для нас усилия себя оправдали успешным запуском нашего приложения с монетизацией в App Store, несмотря на все ограничения и без переезда («релокации»). В этой статье я разберу правила, которые Apple ввела для разработчиков из РФ, и поделюсь пошаговым опытом, как преодолеть эту полосу препятствий.

Читать далее