Все потоки
Поиск
Написать публикацию
Обновить
55.44

iOS *

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

В данной статье не будет подробного разбора кода, я добавил краткие примеры, чтобы у тебя (если ты новичок), было представление о том, как выглядит в коде та или иная технология. Следуя этому плану, обращаясь к указанным ресурсам, можно уверенно дойди до уровня 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.8K

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

Как мы сокращали размер JSONʼа в SDUI

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

Привет, хабрачитатели! Server-Driven UI (SDUI) — это подход, при котором сервер управляет отображением интерфейса на клиенте. Важное преимущество SDUI — возможность внедрять изменения без выпуска новых версий приложений. Но это же преимущество есть его недостаток, ведь передача всех данных по сети зависит от качества соединения и увеличивает объём данных. 

Качество связи мы не можем контролировать, а вот уменьшить количество передаваемой информации посредством сокращения JSON, — вполне.

Читать далее

Под капотом у пользовательского интерфейса SwiftUI — Детальный разбор: Часть 1 — UIKit

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

Как именно работает пользовательский интерфейс iOS-приложений под капотом? При работе с UIKit и SwiftUI разработчики часто фокусируются на их API, не вдаваясь в детали того, что происходит за кулисами. Однако глубокое понимание этих процессов помогает оптимизировать производительность, избежать неожиданных багов и проблем с отрисовкой интерфейса, а также разобраться в механике рендеринга.

В этой статье мы подробно разберём, как UIKit взаимодействует с Core Animation, как устроен Runloop, почему обновления интерфейса происходят не сразу после внесения изменений и какую роль играет Render Server.

Читать далее

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K
В новом дайджесте дизайн-система в iOS за 5 минут и параллелизм в SQLite для Android, детские ошибки при сборке и дорожная карта перехода на KMP, ошибка во встроенных покупках ценой в Final Fantasy Crystal Chronicles, техосмотра автомобилей с помощью ИИ и многое другое. Подключайтесь!

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

О iOS дизайн системе за 5 мин

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

Всем привет, меня зовут Ибрагим, я iOS разработчик одной из команд мобильного банкинга и это моя первая статья для Хабра, поэтому прошу строго не судить.

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

Читать далее

Использование ChatGPT o3-mini и DeepSeek при создании iOS приложения Countries “Страны Мира”

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

Что делает «животворящая» конкуренция?

Появление DeepSeek, позволило бесплатным подписчикам ChatGPT получить доступ к «рассуждающей» ChatGPT o3-mini.

Я предложила этим двум ИИ создать довольно простое на первый взгляд тестовое iOS приложение Countries, которое показывает все страны Мира по регионам (Европа, Азия, Латинская Америка и т. д.) и для каждой страны её название и флаг, a также численность населения population, размер ВВП (валового внутреннего продукта) gdp и расположение страны на карте Мира.

Использовались данные Всемирного банка (World Bank), но мы не сообщали ИИ ни сайты, ни структуры данных, всё это ИИ должен найти сам и использовать их при создании iOS приложения.

Раньше я отдавала предпочтение Clause 3.5 Sonnet при создании iOS приложений, прибегая к ChatGPT 4.o1 для решения отдельных проблем. Но появление «рассуждающих» ChatGPT o3-mini и DeepSeek изменили всё.

iOS разработка поднялась на новый уровень, и пока лидером в этой гонке для меня является ChatGPT o3-mini (даже в бесплатном варианте). Он способен вас приятно удивить.

Читать далее