Обновить
63.43

iOS *

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

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

Как сделать удобное взаимодействие с Kotlin из Swift: обзор проблем и решений

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

В июне 2022 года наш технический директор Алексей Михайлов выступал на конференции мобильных разработчиков Mobius — рассказывал о том, какие есть проблемы в работе с Kotlin со стороны Swift, и рассматривал способы их решения. Эта статья — первая часть транскрипта этого выступления.

Читать далее

Что учесть в разработке супераппа. Рассказываем на примере приложения «Мой Beeline»

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

Привет, меня зовут Санжар, я iOS-техлид в Beeline Казахстан. В iOS-разработке 6+ лет, сейчас занимаюсь развитием мобильного приложения «Мой Beeline». 

В статье поделюсь опытом становления супераппа «Мой Beeline». Это один из наших флагманских продуктов, мы уделяем ему много времени и внимания. Я расскажу о гипотезах и экспериментах, о разработке и способах решения проблем.

Напомню, что я сотрудник казахстанской компании, то есть рассказываю про казахстанский суперапп и смогу ответить на вопросы о нём. По части российского приложения «Билайн» я не эксперт.

Погрузиться в мир superapp

Разработка мобильных приложений на Go

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

Язык программирования Go стал настоящим открытием для разработчиков инструментов для системного администрирования и DevOps благодаря комбинации возможностей низкоуровневой разработки (и в этом он подобен C) и поддержке автоматической сборки мусора, исключению прямой работы с указателями, наличию конкуретной многозадачности (goroutines) и возможности компиляции непосредственно в исполняемый образ. Постепенно Go начал использоваться для других целей: создание веб-приложений, разработка для микроконтроллеров. Почему бы не использовать все его возможности для создания мобильных приложений? В статье мы обсудим некоторые подходы к разработке приложений на Go для мобильных устройств.

Читать далее

Сертификаты Apple. Понимание. Что это и зачем вообще нужны?

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

Сертификаты, ключи, доступы, безопасность - всё очень запутанно. Многие из нас просто знают, как решать большинство ошибок, связанных с этим, либо могут это быстро нагуглить. Сегодня хотелось бы постараться углубиться в данную тему в рамках Apple и понять, почему все так работает. Меня зовут Макс Нечаев, я Senior iOS-developer в крупном фуд-тех стартапе в Катаре - Snoonu. Очень надеюсь, что статья поможет вам немного лучше понять данную область разработки.

Сегодня поговорим о сертификатах и профилях подготовки в Swift.

Читать далее

iOS-митап в red_mad_robot 17 ноября

Время на прочтение2 мин
Охват и читатели739

Привет всем, кто не пропускал ни одной WWDC! 17 ноября в 19:00 мы проведём iOS-митап в московском Робохранилище. Онлайн-трансляция тоже будет, ссылку на неё пришлём на почту.

На встрече поговорим про свежие технологии, доступные в новых версиях iOS, обобщённое программирование, метаморфозы архитектуры и нативную навигацию. Митап проводим для джун- и мидл-специалистов, регистрируемся тут.

Читать далее

Дайджест интересных материалов для мобильного разработчика #464 (31 октября — 6 ноября)

Время на прочтение3 мин
Охват и читатели2K
В нашем новом дайджесте делегаты и умные View, лучшие приложения и игры 2022, еженедельные релизы, качество продукта, закон о цифровых рынках, реклама в пушах и многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Каникулы — как мы это сделали

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

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

Читать далее

RESTful запросы на основе паттерна «Команда»

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

На протяжении многих лет традиционным подходом было включение библиотек Alamofire (AFNetworking) в состав iOS приложения для осуществления RESTful запросов к бэкенду. И если в первой половине минувшего десятилетия это объяснялось использованием промышленных стандартов (а, фактически, никто не хотел заморачиваться с наборок сырых поделок, которые предоставила компания Apple из коробки), то в начале нынешнего десятилетия нет никаких аргументированных причин, чтоб ограничивать себя возможностями этой популярной библиотеки. </cut>

А ограничения, во истину, колоссальные – с точки зрения RESTful – его работа – тривиальная и предсказуемая, но вот методы использования, обусловленные Clean архитектурой Боба Мартина – вызывают дикую головную боль почти к любого разработчика, который приходит на проект. Благие намерения отделить роутинг от сериализации / десериализации приводят к невероятному разрастанию классов и зависимостей слоев, не смотря на то, что изначально, Clean архитектура декларировала то, что она предназначена для того, чтоб избегать таких зависимостей. Однажды пришлось столкнуться с ситуацией - для того чтоб добавить Post запрос необходимо было внести изменение в 11 фалов проекта!

Apple тоже заметили эту порочную тенденцию, и вместе с реализацией асинхронности через await преложила свой подход с использованием комбаина. Вот только не учла ригидности человеческой психики – те кто раньше создавали десяток слоев для выполнения сетевых запросов, сейчас сократили их до 3-4, но создали при этом синглтонный менеджер, длинной на несколько десятков тысяч строк кода.

Читать далее

Bottom Sheet API в SwiftUI

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

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

Новый API SwiftUI для отображения bottom sheet достаточно прост в использовании. Все, что нам нужно сделать, это прикрепить модификатор представления presentationDetents к содержимому модификатора представления sheet.

Читать далее

Как я подключил Sign in with Apple — Apple авторизацию. Подробный гайд

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

Салют, меня зовут Макс Нечаев, я занимаюсь продуктовой разработкой (iOS Developer). Эта небольшая статья расскажет вам, как подключить Apple Sign In (авторизация через Apple) в ваше iOS приложение. Плюс расскажу некоторые edge кейсы технологии.

Читать далее

Дайджест интересных материалов для мобильного разработчика #463 (24 — 30 октября)

Время на прочтение4 мин
Охват и читатели3.8K
В нашем новом дайджесте учимся работать с Metric и DivKit, превращаем макеты в код Compose, пишем тексты для экранов подтверждений и сообщений об ошибках, настраиваем Charles, создаем игру для Windows Mobile (самое время!) и делаем многое-многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Хоть Android, хоть iOS: о чём расскажут на Mobius 2022 Autumn

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

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

А вот общая идея конференции остаётся прежней: здесь будут доклады и по Android-разработке, и по iOS, и «универсальные». В этом хабрапосте пометили всё значками ?, ? и ♾️ соответственно.

Какие именно будут доклады в этот раз? Собрали в этом хабрапосте описания всех и разделили на тематические блоки, чтобы удобнее было разобраться. 

Читать далее

Как превратить сайт в удобное мобильное приложение на примере интернет-банка «ВТБ Онлайн»

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

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

Рассказываем о ключевых решениях, которые позволили доработать интернет-банк «ВТБ Онлайн», по сути объединив преимущества сайта и мобильного приложения: сервис не занимает память на устройстве и не требует обновления, но при этом удобен и понятен для наших пользователей.

Читать далее

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

Дайджест интересных материалов для мобильного разработчика #462 (17 — 23 октября)

Время на прочтение4 мин
Охват и читатели2.2K
В нашем новом дайджесте новая навигация в iOS и известность команд разработки, умная камера Яндекса и ключ к тайной комнате, конец программирования, технологические тренды 2023 и многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Аналитика и нотификации для iOS

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

В этой статье поделюсь тем, как настроить трекинг событий о получении и об открытии нотификаций на iOS устройствах. Рассматривается вариант, когда приложение уже интегрировано с Firebase Cloud Messaging для получения FCM токенов и отправки нотификаций через собственный сервер, а для трекинга событий подключен сервис Amplitude. Даже если в вашем приложении используется другой набор сервисов для работы с нотификациями и аналитикой, решения, описанные здесь, могут подойти.

Задача заключается в том, чтобы затрекать два события аналитики: событие получения нотификации (нотификация пришла на устройство пользователя, но пользователь еще не нажимал на нее) и событие открытия приложения по клику на нотификацию.

Читать далее

iOS: Навигация по-новому

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

С каждый днем все больше разработчиков IOS стремятся свои новые проекты начинать с использованием SwiftUI. И здесь перед ними возникает проблемы в виде реализации устоявшихся представлений о навигации в iOS. Предлагаемые решения от Apple работают весьма часто довольно криво. Это понимают и в самой Apple. По мере развития SwiftUI основной компонент навигации NavigationView был заменен на NavigationStack. И это не просто переименование. Те кто уже использовал NavigationView не готовы от него отказаться, так как его реализация лежала через боль и слезы. Те же кто только входит в мир SUI либо наталкиваются на рекомендации создавать кастомную навигацию, либо смотрят на статьи как разруливать проблемы NavigationView. Новая альтернатива не всем пришлась по-душе, так как на WWDC не продемонстрировали его с лучшей стороны. А она есть. И это хорошая новость! Apple, наконец, освоила паттерн Navigator, которым конкуренты пользовались более 10 лет!

Читать далее

4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое

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

Привет! На связи tech-команда СберМаркета. 13 октября мы провели онлайн-митап для iOS и Android-разработчиков. Хотим поделиться с аудиторией Хабра видео с докладами оттуда. Рассказываем о нашем опыте внедрения SwiftUI и делимся кейсами на ReactNative.

Читать далее

Дайджест интересных материалов для мобильного разработчика #461 (10 — 16 октября)

Время на прочтение4 мин
Охват и читатели2.4K
В новом выпуске Dynamic Island и Live Activities, MVI и State Machine, сложные интерфейсы, подготовка к собеседованиям, маркетинг приложений в кризис, реверс инжиниринг кормушки для кошек и многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Начало работы с Dynamic Island и Live Activities в iOS 16.1

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

Документация Apple рассказывает, как начать работу с Dynamic Island, динамическим островом. Система была представлена Apple в сентябре 2022 года, на данный момент она есть только в моделях iPhone 14 Pro и iPhone 14 Pro Max. С Dynamic Island можно анимированно показывать информацию вокруг области выреза фронтальной камеры iPhone, которую мы привыкли называть «чёлкой».

В этой статье мы рассмотрим пример базовой работы с размещением контента в Dynamic Island для его разных состояний.

Для сборки проекта нужно запустить Xcode версии не ниже 14.1 Beta. 

Этот пример основан на документации Apple. Ещё вы увидите работу с данными, которые отправляются в Activity в Dynamic Island.

Читать далее

Дайджест интересных материалов для мобильного разработчика #460 (3 — 9 октября)

Время на прочтение4 мин
Охват и читатели2.5K
В нашем новом дайджесте анимации и расстановка приоритетов, комфортные WebView и удобные бенчмарки, все откладывающая победа PWA, рабочие процессы, шаринг еды, снижение доходов приложений и многое другое!

Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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