Обновить
61.04

iOS *

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

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

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

Время на прочтение4 мин
Охват и читатели2.6K
В новом дайджесте Kotlin Multiplatform на iOS, история Android и ненужные проекты, фермы Яндекса, реклама мобильных приложений и многое другое. Хорошей разработки!

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

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

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

Время на прочтение3 мин
Охват и читатели2.3K
В новом дайджесте новые виджеты и патчинг байт-кода, Cross device SDK и новый Flutter, Code Review для джуниоров, победа Коста Элефтериу, новые платежи в магазинах и многое другое!
Подключайтесь!

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

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

User-Defined в iOS проекте

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

Разработка iOS приложения - процесс достаточно долгий и скрупулезный, и часто бывают ситуации, особенно в больших проектах, когда код у разработчика на устройстве и у конечного пользователя должен выдавать разные результаты. Это может показаться немного абсурдным, но я сейчас все объясню.

Читать далее

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

Время на прочтение4 мин
Охват и читатели3.1K
В нашей новой подборке собеседование для Senor-а и разработка на грани, анимации и рефакторинг в Slack, проблемы Agile, тестирование роботами и многое другое. Подключайтесь!

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

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

За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS

Время на прочтение14 мин
Охват и читатели14K
Привет! Меня зовут Денис Кудинов, я iOS-Development team lead в «Лаборатории Касперского». В этой статье расскажу об Mobile Device Management, а также о supervised- и BYOD-режимах — как работает технология и что с ее помощью можно сделать такого, что недоступно обычным приложениям из App Store. Считайте это презентацией возможностей Configuration Profiles, да и Apple MDM в целом :)

image

Статья будет полезна разработчикам B2B-приложений для iOS, которые хотят разбавить свои инструменты новыми фичами, а также для product owner-ов и бэкенд-разработчиков, которые хотят поддержать взаимодействие с мобильными устройствами.
Читать дальше →

Как мы писали приложение для доставки из ресторанов

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

В феврале 2021 года ВкусВилл запустил проект «Сгоряча» по доставке блюд из более 50 «dark kitchen» в Москве, Санкт-Петербурге, Волгограде, Чебоксарах и других городах. Сейчас через приложение можно заказать также еду из ресторанов-партнеров. Блюда бесплатно доставляют собственные курьеры сети  в среднем за 1-1,5 часа после оформления заказа.

Доставок из «dark kitchen» не так много — всего 3-4 агрегатора доставляют блюда. Это нетривиальная задача: нужно наладить работу курьеров, разработать приложения для партнеров, курьеров и клиентов, подключить партнеров и обучить их пользоваться доставкой, продумать архитектуру на случаи загрузки — много всего.

За создание и развитие мобильных и веб-сервисов ВкусВилл отвечает команда «Фулстек» (направление ГК «Автомакон», специализирующееся на мобильной и веб-разработке). Подробнее расскажем, как мы сделали 3 небольших доработки для сервиса по доставке блюд из ресторанов, как он работает и с какими сложностями нам пришлось столкнуться в процессе.

Читать далее

Что будет с iOS-разработкой в России

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

Этим вопросом наверняка задавался не один мобильный разработчик, который создаёт приложения для айфонов и другой яблочной техники. Приложения удаляют из App Store, статьи пугают тем, что скоро все смартфоны превратятся в кирпич, — ситуация напряжённая. Может, уже стоит искать другую работу?

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели2.2K
В новом дайджесте чиним баги и анализируем Now in Android, тестируем и понимаем React Native, улучшаем монетизацию, дизайним слайдер оплаты, запускаем Dev Box-ы и и многое другое.

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

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

Анимации и вибрации: как задизайнить фидбэк слайдера оплаты

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

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

Мы ускоряли оплату разными способами. Сначала сделали кнопку прямо в меню, но столкнулись с проблемами и решили переделать её на слайдер. Процесс оказался необычным с разных сторон, поэтому хотим подробно рассказать о нём: почему переделывали, как проектировали, зачем нужны вибрации и как с ними работать, в каком контексте живёт слайдер и о чём со стороны доступности надо подумать, чтобы сделать его удобным для всех.

Читать далее

App Store Connect API SDK в Swift: создание инструментов разработчика

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

Новый App Store Connect API, который был анонсирован на WWDC 2018, наконец позволил писать приложения для App Store Connect. Вы можете использовать этот API для получения метаданных приложений, TestFlight-сборок, загрузки отчетов о продажах и многого другого. Apple добавляла новые конечные точки на протяжении всех этих лет, и недавний релиз версии 2.0 не стал исключением, добавив конечные точки для отзывов клиентов и многого другого.

App Store Connect API соответствует спецификациям OpenAPI и поставляется с обширной документацией, которую предоставляет сама Apple. Спецификации OpenAPI, которые внедрила Apple, дала мне возможность реализовать работу с API в рамках App Store Connect Swift SDK во время написании Swift-приложений. Давайте же разберемся, как мы можем создавать свои инструменты разработчика с помощью этого API в Swift.

Читать далее

Что нового в Swift 5.7

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

Swift 5.7 привносит в язык очередную гигантскую коллекцию изменений и улучшений, включая такие мощные фичи, как регулярные выражения; практические усовершенствования, как сокращенный синтаксис if let; а также множество доработок по приведению в порядок согласованности вокруг ключевых слов any и some.

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

Читать далее

Чиним баг в iOS Firebase RemoteConfig

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

Здравствуйте, меня зовут Артем Волков. Я iOS разработчик в компании "AliExpress Россия".

В этой статье расскажу историю одного бага, который мы встретили, работая c подом Remote Config из SDK Google Firebase для iOS, а также о том, как мы внесли свой небольшой вклад в его исправление.

Жизнь и приключения одного бага

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

Время на прочтение5 мин
Охват и читатели2.9K
Как и обещали, возвращаемся после отпуска с новым дайджестом! В нем классные UI и много графиков, главная концепция Jetpack Compose и паттерны Dart проектирования, новый язык программирования Google, ловушки монетизации и многое другое!

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

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

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

Сложно, но можно — стажировка в Яндекс Go

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

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

Я Максим, iOS-разработчик в службе технического развития Яндекс Go. В декабре 2021 года завершил стажировку в команде и хочу поделиться опытом, полезными ссылками и выводами, которые я делал на протяжении работы. Надеюсь, они помогут вам быстрее адаптироваться в первые месяцы работы.

Читать далее

Ошибка.log(): как логируются ошибки в мобильном приложении Авито

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

Вы настроили в приложении краш-репортинг, всё протестировали и выложили в магазин. Постоянно мониторите crash rate, в котором всегда четыре девятки, — приложение работает отлично и все довольны. Но всё-таки вы смотрите на него как будто сквозь замочную скважину и не видите полной картины. Чтобы это исправить, нужен полноценный лог ошибок.

Читать далее

Навигация в Swift UI: что изменилось с появлением iOS 16

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

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

В iOS 16 появился совершенно новый API для работы с навигацией. Разбираемся, стало ли удобнее.

Читать далее

Подключение OAuth в iOS за полчаса

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

Привет! Меня зовут Лена, я занимаюсь iOS-разработкой в KTS.

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

В мобильных приложениях используется Authorization Code Flow with Proof Key for Code Exchange (PKCE). Подробнее о выборе flow читайте в нашей предыдущей статье. Эта статья является продолжением.

Сегодня мы рассмотрим вариант реализации OAuth-авторизации с помощью библиотеки AppAuth-iOS. Она одна из самых популярных и довольна проста в использовании. Весь код из статьи доступен в Github.

Читать далее

Конфиденциальность iOS: Instagram* и Facebook* могут отслеживать всю вашу активность в браузере внутри приложения

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

Приложение Instagram* и Facebook* для iOS отображает все сторонние ссылки и рекламу в своем приложении с помощью собственного встроенного браузера. Это создает различные риски для пользователя, поскольку хост-приложение может отслеживать каждое взаимодействие с внешними веб-сайтами, от всех данных формы, таких как пароли и адреса, вплоть до каждого нажатия.

Чтобы упростить пост, будет использоваться термин «Instagram*» вместо «Meta*» или «Facebook*».

*Meta признана в России экстремистской организацией, деятельность ее сервисов Facebook* и Instagram* в стране запрещена.

Примечание. Если статья покажется интересной, то вот тут я пишу об iOS-разработке и о том, что с ней связано.

Читать далее

Создаем классный UI: iOS Shape Morphing

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

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

На днях в Твиттере я наткнулся на твит, демонстрирующий одну классную технику в пользовательском интерфейсе, и заинтересовался, как она была реализована.

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

Итак, в качестве первой статьи из (я надеюсь) большой серии, давайте разберемся, как создать классный компонент пользовательского интерфейса: “Shape Morphing” на iOS.

Читать далее

[Async/await] Structured concurrency Pt.1

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

Всем привет! Мы продолжаем разбираться в асинхронном Swift! В рамках этой статьи мы познакомимся с тем, как писать зависящие друг от друга асинхронные задачи, познакомимся с Task поближе и разберем несколько интересных  примеров

Читать далее