Обновить
35.4

iOS *

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

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

Анонсируем Dart 3

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

Привет из Google I/O 2023. Сегодня, в прямом эфире из Маунтин-Вью, мы объявляем о выпуске Dart 3 - самого крупного релиза Dart на сегодняшний день! Dart 3 содержит три основных усовершенствования. Во-первых, мы завершили путь к 100% надёжная null безопасности. Во-вторых, мы добавили новые возможности языка для записей, шаблонов и модификаторов классов. В-третьих, мы заглядываем в будущее, где мы расширим поддержку наших платформ, добавив нативный код для веб с помощью Wasm-компиляции. Давайте разберемся во всём в деталях.

Читать далее

iOS: Узнать и отслеживать состояние физического переключателя тихого режима

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

История о том, как я раздебажил системные фреймворки iOS, чтобы понять, как слушать события физического переключения Silent Mode на iPhone, не используя приватное API. Никаких dlsym, NSClassFromString, objc_msgSend.

Читать далее

Макросы в Swift

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

Всем привет! Меня зовут Никита Тархов, я iOS‑разработчик студии CleverPumpkin. Сегодня поговорим про макросы: что это такое, зачем нужны и где они применяются.

Читать далее

Swift 5.9. Что нового?

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

Хотя Swift 6 уже не за горами, Apple продолжает добавлять новые и улучшенные функции в текущую версию Swift 5.x.

Swift 5.9 - это новый большой релиз, который включает в себя ряд улучшений и новых функций. К ним относятся упрощенные способы работы с операторами if и switch, макросы (то есть код, который может генерировать или трансформировать другой код), некопируемые типы (это новая функция, которая предотвращает копирование объектов определенного типа), кастомные исполнители акторов (что связано с моделью конкурентного программирования в Swift) и многое другое.

В этой статье разберем самые важные изменения этого релиза с примерами кода и пояснениями. Для воспроизведения приведенных в этой статье примеров вам понадобиться последняя версия Xcode 14 или Xcode 15 beta.

Читать далее

Изнутри: Swift макрос — #Preview

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

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

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

Читать далее

Как катить фичи без релизов. Часть 2: про низкоуровневый Server Driven UI

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

Server Driven UI в Альфа Банке — это низкоуровневый и гибкий подход для реализации динамической отрисовки UI, управляемый с сервера. Если дословно перевести, то SDUI переводится как пользовательский интерфейс (UI), управляемый сервером. На деле так и получается — API сообщает фронту, что и с каким содержимым отображать. 

Например, если дизайнер указал, что цвет фона в UI-компоненте кастомизируется, то SDUI модель для этого компонента должна по умолчанию уметь настраивать цвет с бэкэнда. Аналогично со всеми другими свойствами компонентов: шрифт, размер, форма. 

В статье расскажу, как мы максимально приблизили SDUI к дизайн-системе Альфа Мобайла, чтобы с его помощью отрисовать любой UI, который нам позволяет сделать дизайн-система. А также о том, как развивался SDUI, что в нём содержится, как работает и когда SDUI использовать всё же не стоит. 

Читать далее

Мобильная разработка за неделю #494 (19 — 25 июня)

Время на прочтение4 мин
Количество просмотров3.4K
В этом выпуске перечисления Swift и осознанная оптимизация Compose, конфетные сетевые запросы и воображаемые проблемы, приложение для поиска друзей, пустые состояния, цвета Ripple, декораторы и многое другое. Заходите!

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

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

Использование Ionic и Vue 3 для создания мобильных приложений

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

В современном мире мобильные приложения играют важную роль в нашей повседневной жизни. Разработка мобильных приложений стала все более популярной, и существует множество фреймворков и инструментов для создания кросс-платформенных приложений. В этой статье мы рассмотрим процесс разработки мобильных приложений с использованием Ionic, Vue 3 и Capacitor, сочетающих в себе преимущества гибкости Vue.js и возможности кросс-платформенной разработки Ionic и Capacitor. Вперед под кат)

Под кат!

Фича Флаги и управление ими “по-взрослому”: кейс команды СберЗдоровье

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

Приветствую всех читателей. Меня зовут Роман Доронин. Уже 2 года я iOS-разработчик в компании СберЗдоровье, работаю в платформенной команде. Именно здесь я близко познакомился с понятием фича флага и увидел всю силу этого инструмента.

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

Читать далее

Как я создала приложение для IPhone. Без опыта разработки на SWIFT, но с помощью ChatGPT

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

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

Читать далее

Встречайте Dev Mode в Figma

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

Как инструмент проектирования может работать лучше для разработчиков? Этот вопрос мы задаем себе и нашему сообществу. Сегодня мы рады представить Dev Mode - новое рабочее пространство в Figma, созданное для того, чтобы разработчики получали то, что им нужно, когда им это нужно, используя инструменты, которые они используют каждый день.

Читать далее

Внедряем MapKit Яндекс Карт в iOS приложение

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

Всем привет! Меня зовут Серёжа, и я занимаюсь веб-разработкой и разработкой на iOS вот уже 5 лет. На одном из проектов мне поставили задачу: внедрить Яндекс Карты в приложение. Однако я столкнулся с тем, что в открытом доступе мало нужной и полезной информации об этой теме. Эта статья - мои способы решения задач на Swift с использованием Yandex MapKit. Делюсь с вами своим опытом!

Читать далее

Многопоточность в iOS-разработке

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

Здравствуйте, уважаемые читатели Хабра!

Меня зовут Кирилл, я iOS-разработчик приложений Сбера в Студии Олега Чулакова.

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

В этой статье мы разберемся с основами многопоточности и познакомимся с такими инструментами Swift, как Grand Central Dispatch (GCD), OperationQueues, NSLock. А также существующими низкоуровневыми технологиями, такими как pthread и NSThread. Бонусом я расскажу про async/await. Мы обсудим, как эти инструменты помогают управлять асинхронными и параллельными операциями, и посмотрим на некоторые примеры их использования.

Приятного чтения, и давайте начнем наше путешествие в мир многопоточности Swift!

Читать далее

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

Немного о перечислениях в Swift

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

Не секрет, что на сегодняшний день Swift обладает одними из самых (возможно самыми) функциональными и гибкими в настройке перечислениями. Каждый Swift-разработчик может подтвердить, что работать с ними довольно приятно и удобно. Однако, мало кто задумывается как это устроено внутри. Может показаться, что за подобную функциональность обязательно придётся заплатить либо производительностью, либо памятью, либо размером билда. На самом деле, чтобы максимально избежать подобных издержек, под капотом в языке имеется шесть разных реализаций перечислений.

Читать далее

Императивный UIKit‍ vs Декларативный SwiftUI

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

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

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

Читать далее

На смену CoreData пришёл новый фреймворк SwiftData. Разбираемся, как он упрощает хранение данных

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

Фреймворк для хранения данных Core Data был написан еще во времена Objective-C. Многим iOS-разработчикам хотелось иметь более современный инструмент, который бы поддерживал все новые возможности языка Swift. И теперь такой инструмент появился: на WWDC 2023 представили новый фреймворк SwiftData.

Разбираемся, что из себя представляет SwiftData, и пробуем его в тестовом приложении.

Читать далее

visionOS(xrOS) сессии WWDC2023: введение в пространственные вычисления Apple

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

Занимаясь уже достаточно давно iOS разработкой, имея личный опыт в разработке VR устройств и собственного комплекса фотограмметрии, в этот раз я откровенно был впечатлен долгожданным анонсом Apple гарнитуры смешанной реальности Vision Pro на WWDC2023. Компанией была представлена новая платформа, по‑большому счету, со всеми уже знакомыми современными инструментами iOS‑разработки. Пазлы ARKit, RealityKit и SwiftUI наконец‑то сложились и я рад поделиться подборкой ссылок на ресурсы и стартовые материалы. Перед чтением, конечно полезно немного пофантазировать о будущих приложениях, которые обязательно изменят мир. Приготовьтесь начать погружение или добавляйте материал в закладки (которые вы так никогда и не прочитаете), поехали!

Начать погружение

Мобильная разработка за неделю #493 (12 — 18 июня)

Время на прочтение4 мин
Количество просмотров2.6K
В новом дайджесте все еще обсуждаем WWDC, рассматриваем историю ограничений фоновой работы в Android и ускорение приложений, специфику мобильной разработки и самые популярные языки программирования, push-уведомления, стартап из одного за 50 млн и многое другое!

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

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

Новенькое с WWDC23: Отчёты о тестировании и аудит доступности

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

Вот и закончилась очередная конференция Apple WWDC23, на которой ребята из Apple рассказали об изменениях Xcode и Swift. 

Поговорим о фичах Xcode 15, которые помогут добавить accessibility в приложение и поддерживать ваши тесты зелеными.

Читать далее

Программные баги, которые приносят реальный вред

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

Три реальные истории из жизни, показывающие возможные проблемы, вызываемые ошибками или недоработками в программном обеспечении. Первая касается продуктов Apple, вторая — устройств Android, а третья связана с багами в ПО канадского гипермаркета стройматериалов.
Читать дальше →