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

iOS *

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

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

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

Время на прочтение4 мин
Количество просмотров1.5K
В нашем новом еженедельном дайджесте WWDC 2024 и DVD-заставка на SwiftUI, более старый Android и инструментальные цепочки Gradle, анализ производительности React Native, инклюзивность и цифровая доступность, временное решение на 30 лет и многое другое. Подключайтесь!

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

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

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

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

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

Читать далее

Privacy Manifest: что нужно о нём знать для внедрения в проект

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

На работе я столкнулся с задачей внедрения Privacy Manifest в проект. Изучение вопроса началось с прочтения документации Apple, а продолжилось просмотром WWDC-сессии на тему конфиденциальности. После внедрения оказалось, что для корректной работы над задачей нужно изучить больше информации. Поэтому я решил поделиться опытом в формате инструкции. Покажу, как внедрять Privacy Manifest на примере вымышленного проекта, и дам практические советы по внедрению манифеста конфиденциальности.

Читать далее

За кем сейчас охотятся крупные работодатели в IT?

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

Привет, на связи Кирилл Антонов, коммерческий директор hitch. Мы занимаемся аутстафом IT‑специалистов — выводим разработчиков (и не только) на проекты отечественных корпораций. Непрерывно следим за тем, как меняются потребности крупнейших IT‑компаний и поведение соискателей.

Раз в несколько месяцев буду публиковать «срезы» — заметки о том, кто сейчас особенно востребован на отечественном рынке (а значит, кому больше всего платят).

Читать далее

Как работает NDA в разработке приложений? + шаблон НДА

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

Текущий информационный мир полон не только возможностей, но и ограничений. Если вы работает в B2B и B2G, то не раз встречались с NDA от заказчика. Я расскажу о своем опыте в сфере аутсорсинг‑разработки: как выгодно пользоваться этим документом.

Читать далее

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

Время на прочтение5 мин
Количество просмотров1.9K
В новом выпуске быстрый старт и дело правительства США против Apple, цена Чистой Архитектуры и Android 15 Developer Preview 2, современный способ организации зависимостей, сила последовательности, топ быстрорастущих приложений в России в марте и многое другое.
Подключайтесь!

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

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

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

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

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

Buttons, Labels, Gradients

В этой части мы рассмотрим основы создания кнопок в SwiftUI. Кнопки играют ключевую роль в любом пользовательском интерфейсе приложения. Хорошо спроектированные кнопки не только делают ваш интерфейс более привлекательным, но и повышают пользовательский опыт от вашего приложения.

Читать далее

YandexMapKit и SwiftUI: обратный геокодинг

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

Обратное геокодирование (получение адреса по географическим координатам) на стороне клиента в рамках разработка мобильного приложения под IOS для мониторинга автотранспорта

IOS - 15.5, SwiftUI, YandexMapKit

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

Однако хочу "пожаловаться", что исключительно из-за картографии Яндекса в проекте начали использовать CocoaPods, потому что вендор (по состоянию на март 2024 года) не снизошел до разработки пакета, который можно подключить к проекту минуя Pods.

Читать далее

ViewModel + Kotlin Multiplatform. Пробуем нативное решение

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


Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. Компания Google объявили о своем интересе к Koltin Multiplatform на прошлом Google I/O 2023. Следом был обозначен вектор развития имеющихся решений архитектурных библиотек Jetpack для поддержки KMP. Буквально считанные часы назад компания Google опубликовали ожидаемую многими новинку, а именно ViewModels из библиотеки Lifecycle с поддержкой API Kotlin Multiplatform. И сейчас мы с вами проверим, насколько это удобно, что уже готово, а что нужно доработать.

Для начала освежим, с чем же мы работали до ViewModels из Lifecycle.

Сами по себе ViewModel как часть паттерна MVVM применительно к кросс-платформенным решениям идея не новая. Многие давно использовали собственную реализацию, совмещая также с платформенными архитектурами.
Читать дальше →

Интерактивные виджет-подборки в Иви (iOS)

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

И снова здравствуйте! В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.

В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.

Читать далее

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

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

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

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

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

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

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

Ускориться ?

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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



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

Помимо обработки событий из самого виджета в таких приложениях также важно синхронизировать состояние между таргетами без потерь и задержек. Данные (наши тудушки и их состояние) мы сохраняем локально. Для этого используем инструмент для хранения данных SwiftData. Данный фреймворк также был представлен на WWDC 2023, и при его использовании в разных таргетах можно встретить тоже много подводных камней.
Читать дальше →

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

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

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

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

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

Читать далее

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

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

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

Читать далее