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

Разработка под iOS *

Популярная мобильная ОС

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

Быстрый старт, или Как ускорить запуск iOS-приложений

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

Всем привет! Меня зовут Фируза, я iOS-разработчик в компании SimbirSoft. В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:

— что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с UI;

— как собрать актуальные метрики скорости запуска и отзывчивости приложения; 

— какие тактики применить, чтобы ускорить старт и отзывчивость запуска.

Статья будет полезна для iOS-разработчиков любого уровня, желающих улучшить производительность своих приложений.

Ускориться 🚀
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Новости

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

Время на прочтение 5 мин
Количество просмотров 834
В нашем новом дайджесте моменты неотзывчивости и автоматизация рутины, правила линтера и легендарный мобильный GPU, как и где практиковаться начинающему мобильному разработчику, исследование приложений с подпиской 2024 и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

SwiftUI уроки (часть 4)

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

Понимание ScrollView и создание UI карусели

ссылка на 3ю часть

В этом уроке мы разберемся с таким элементом как ScrollView для создания длинных прокручивающихся полотен.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

Cocoapods pod install без интернета на CI при использовании Tuist

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

Для успешного выполнения команды pod install менеджера зависимости Cocoapods нужен доступ в интернет, но на раннерах в целях безопасности для continuous integration может отсутствовать сеть. В некоторых случаях, например, при использовании инструмента Tuist в проекте, исполнение pod install на CI необходимо для интеграции Подов в проекты. В этой статье рассмотрим, как можно легко с помощью нескольких команд возобновить успешное выполнение команды pod install на раннерах без выхода в интернет.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 2

Истории

Новые краски Vivaldi для iOS

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

Пришла весна и новыми красками заиграла версия Vivaldi 6.6 для iOS. Благодаря последнему обновлению у вас появились новые способы персонализировать внешний вид вашего браузера — именно так, как вы этого хотите.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

Как и где практиковаться начинающему мобильному разработчику

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

Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник и автор на курсе «Android-разработчик» в Яндекс Практикуме. Помню то время, когда я начинал заниматься разработкой, — материалы были в основном на английском, а специализированных курсов было маловато, поэтому приходилось всё искать и практиковаться самостоятельно. 

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

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 1

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

Время на прочтение 4 мин
Количество просмотров 1.1K
В новой еженедельной подборке виджеты и изоляция в iOS, адаптация UI/UX для людей с проблемами зрения, сложно ли быть программистом-инженером сейчас, весенние выпуски маркетологов в мобайле и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17

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

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В 2023 году на WWDC Apple представили много нового и интересного API, среди которого были долгожданные интерактивные виджеты, реагирующие с помощью механизма AppIntent на нажатия и запускающие логику без переключения в основное приложение. Однако, как показывает практика, не все так просто и красиво, как Apple показывают на демонстрационных сессиях, а от беты до релиза что-то в API обязательно ломается или внезапно меняется.

Поэтому сегодня мы поговорим, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камушки, оставленные разработчиками API. Рассматривать будем на примере самописного приложения для заметок TODO.



Для тех, кому не терпится, или кто хочет читать и смотреть код одновременно, сам код

Помимо обработки событий из самого виджета в таких приложениях также важно синхронизировать состояние между таргетами без потерь и задержек. Данные (наши тудушки и их состояние) мы сохраняем локально. Для этого используем инструмент для хранения данных SwiftData. Данный фреймворк также был представлен на WWDC 2023, и при его использовании в разных таргетах можно встретить тоже много подводных камней.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 4

SwiftUI уроки (часть 3)

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

Ссылка на часть 2

Создаем UI с помощью стеков

Стеки в SUI похожи на стеквью в UIKit. Если комбинировать горизонтальные и вертикальные стеки можно создать комплексный UI для приложения, который будет отлично адаптировать под различные размеры экранов и типы устройств. В UIKit основное средство создания UI — это auto layout который применяется для правильного отображения вьюшек на экране. Зачастую для начинающих разработчиков автолейаут кажется чем‑то очень сложным как для применения так и обучения, так что если вы уже переходите на SUI — есть хорошие новости, автолэйаут вам больше не потребуется. Вы будете оперировать такими компонентами как VStack, HStack, ZStack.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Emcee — тест-раннер для запуска автотестов на Android и iOS: как работает, и какие проблемы помогает решить

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 4

Оптимальный архитектурный шаблон iOS-приложения

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

В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 7

Continuations для взаимодействия асинхронных задач с синхронным кодом

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

В Swift были представлены новые функции, которые помогают нам адаптировать старые API в стиле completionhandler к современному асинхронному коду.

Например, эта функция возвращает свои значения асинхронно, используя обработчик завершения:

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Мобильная разработка за неделю #528 (26 февраля — 3 марта)

Время на прочтение 4 мин
Количество просмотров 2.2K
В новом выпуске возврат от SwiftUI к UIKit и машинное обучение на устройствах, стабильная Iguana и гибридный интерфейс в Wear OS, деплой Flutter-приложений, сложный повтор в мобильном календаре, весенние маркетологи в мобайле и многое другое. Подключайтесь!

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

Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Наш опыт Android- и iOS-разработки в проекте

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

Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с условиями стартапа и IoT‑тематикой проекта. Ответим на вопрос: «Сложно ли переучиться и пойти в сферу мобильной разработки?».

Статья специально написана простым языком, где многие вещи объясняются на пальцах, чтобы материал был понятен для всех и давал представление о сфере в целом, а не только о тонкостях разработки.

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 29

SwiftUI уроки (часть 2)

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

Если вы уже ознакомились с первой частью, то у вас есть базовое понимание что из себя представляет SUI и знаете как отобразить текстовый контент, в этой части давайте познакомимся с элементом отображающим изображения.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Как работает async/await в Swift

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

Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще была представлена?

В типичной для SwiftRocks манере мы углубимся в компилятор Swift, чтобы ответить на вопросы о том, как работает async/await внутри. Это не инструкция по использованию async/await, а глубокое погружение в историю и реализацию этой функции, чтобы понять, как она работает, почему она работает, чего можно добиться с ее помощью и, самое главное, какие нюансы следует учитывать при работе с ней.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Пути внедрения поддержки скриптов в Dart/Flutter

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

А что, если я скажу вам, что есть ряд способов изменения бизнес-логики мобильных приложений без проверки сторами?

«Бред!»- ответят скептики. «Выкладывай!» - ответят энтузиасты.

В рамках данной статьи я предлагаю вам рассмотреть возможные пути для интеграции функционала выполнения скриптов в ваши Dart/Flutter приложения.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

Самый простой CI/CD пайплайн для flutter приложения с Codemagic. Часть 2

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

В предыдущей статье мы рассмотрели, как организовать самый простой CI/CD для сборки под Android через Codemagic.

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

Читать далее
Рейтинг 0
Комментарии 0

Task и structured concurrency в swift

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

В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/await structured, но не concurrent.

Помимо этого, мы разберем инструменты и механизмы structured concurrency. Среди них async let, Task hierarchy и Task cancellation. И, как обычно, не оставлю вас без примеров применения этого букета конкуррентности.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 5

Помощь на старте: 10 полезных ссылок для начинающих iOS-разработчиков

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

Всем привет! Меня зовут Денис Сурков, я iOS-разработчик в компании «Мой спорт» и наставник на курсе «iOS-разработчик» в Яндекс Практикуме.

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

К подборке
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 0

Вклад авторов

Работа

iOS разработчик
23 вакансии
Swift разработчик
39 вакансий