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

iOS *

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

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

WWDC 2022. Что нового в SwiftUI

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

Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech. 

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

В этой версии ставку сделали как на поддержку новых возможностей iOS, так и на улучшение и доработку уже существовавших. Основными направления развития SwiftUI стали:

1. Поддержка нового фреймворка для графиков Charts.

2.Навигация (своя, родная, нативная).

3.Сложные контролы.

4.Поддержка шаринга.

5.Графика и разметка.

Предлагаю рассмотреть их детальнее.

Charts

Начнем по порядку с API для графиков.

Читать далее

Чего ждать разработчику от WWDC 2022

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

Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech. 

Итак, долгожданная ежегодная презентация WWDC состоялась, мы готовы обсудить представленные новинки и анонсированные сессии. В этом году на Keynote основной упор был сделан на:

- игры и разработку

- иммерсивный звук и изображение

- многооконность

- расширенный и улучшенный шаринг, механизмы обмена самыми разными данными и совместные процессы, взаимодействие между устройствами

- улучшенные возможности отслеживать состояние здоровья и физическую активность

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

Сразу скажу, что все сессии упомянуть не возможно. В этом году их много, они довольно разнообразные и разноплановые. От улучшений уже известных нам фреймворков (SwiftUI, WidgetKit, SharePlay) до совсем новых (WeatherKit, ScreenCaptureKit). Также верно сказано, что описания сессий в этом году не сильно многословны, видимо, что подстегнуть зрителей к просмотру всех.

Читать далее

Рисуем интерактивный линейный график на iOS с помощью Charts

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

Однажды бизнес попросил меня создать минималистичный график, который будет отображать сглаженную кривую с градиентом под ней. По этому графику можно перемещаться между значениями, водя пальцем. При этом за пальцем должна следовать вертикальная линия, а текущее значение должно отображаться в выноске — «баблике» с дополнительной информацией. В будущем хотелось бы заложить возможность поддержки нескольких графиков в одной координатной сетке. Версии iOS и Android должны быть максимально похожи. Примерно такие графики есть в системном приложении «Акции», в финансовых приложениях и фитнес-трекерах. 

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

Читать далее

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

Время на прочтение4 мин
Количество просмотров3.3K
В нашем новом выпуске лучший дизайн приложений в Apple Design Awards 2022, гибкая навигация и первый взгляд на песочницу конфиденциальности, Flutter в разработке игр, «ретро» в Майнкрафт и многое другое. Всего 95 материалов!

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

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

Перформанс мониторинг по-взрослому: выкладываем запись Mobile Meetup

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

Привет! Как и обещали, возвращаемся с записью второго митапа для мобильных разработчиков от Ozon Tech и сообщества Coffee&Code. В анонсе я уже рассказал о нашем стеке, что у нас 150+ мобильных инженеров и подход Backend-Driven UI — повторяться не буду. Вместо тысячи слов — просто посмотрите запись:)

Читать далее

Гибкая навигация в iOS

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

Помните времена, когда дизайнеры рисовали незамысловатые интерфейсы, а разработчики просто описывали переходы от одного экрана к другому? Вот и я не помню. Современное iOS-приложение – это тысячи строк кода, где добрая четверть – всего лишь описание навигации. Закономерно, что для упрощения жизни появляются различные фреймворки для навигации. 

Меня зовут Тимур Шафигулин, я – iOS-разработчик в hh.ru. В этой статье я расскажу про фреймворк для навигации в iOS-приложении.

Читать далее

Дайджест недели (мобильная разработка) – #3

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

Продолжаю эксперимент с рубрикой дайджестов на Хабре. На этот раз, собрал наиболее полезные и популярные материалы для мобильщиков за 2 недели.

Android ?

• Знакомьтесь: библиотека TiRecycler
• Custom Canvas Animations in Jetpack Compose
• Special Google I/O 2022 Edition
• Scan code without camera permissions
• Do you use Kotlin’s most powerful tool?
• VK при поддержке Минцифры запустила бета-версию российского магазина приложений
• Многомодульный BDSM: стоит ли внедрять Gradle модули и какие типы модулей бывают?
• Some Best Practices for Android App Architecture
• 15 Best Android Libraries for 2022
• Strategies for managing Gradle dependencies
• Запросы в сеть с Clean Architecture и MVVM. Boilerplate ч. 2
• Как и зачем собирать Android приложение в docker контейнере
• Как работает UI в Android. Не все так сложно
• Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить
• Toying with Kotlin's context receivers
• Deep dive into Android ANR | OkCredit
• Take Part in the New UI Preview for Your JetBrains IDE
• A cleaner way to interact between Composable and ViewModel in Jetpack Compose
• Speeding up Kotlin Multiplatform
• Jetpack Compose Clean Architecture with Rorty App
• 5 Awesome Jetpack Compose Custom Progress Indicator Designs
• Detect Swipe Direction on Jetpack Compose to trigger BottomSheetScaffold
• Spot your UI jank using CPU profiler in Android Studio
• Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений
• Using MotionLayout in Compose
• SOLID – это не правила, а гайдлайны
• Measure and improve performance with Macrobenchmark
• The Suspend & Inline Mystery | Kotlin Tips 2022 - YouTube
• Full Guide to Testing Android Applications in 2022
• Compose Navigation in 3 Minutes
• Jetpack Compose under the hood: Touch Events

Читать далее

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

Время на прочтение3 мин
Количество просмотров2.8K
В новом дайджесте много корутинов, немного темных тем, экономики приложений, спасения тревожных миллениалов, VPS, Swift и Kotlin. Подключайтесь!

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

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

С 30 июня Apple не пустит в AppStore приложения без возможности удаления аккаунта

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

А также зачистки всего связанного с пользователем и созданного им контента.

Пользователям AppStore Connect разлетаются письма с просьбой заглянуть на свои App Review Page, чтобы прочесть письмо счастья. Если коротко, то приложения без кнопки создания запроса на удаление аккаунта и всех связанных с ним данных, включая сгенерированный пользователем контент, в AppStore больше не пропустят.

Читать далее

[Async/await] Проблемы Swift 5.4

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

Всем привет! Меня зовут Никита, я работаю в компании Технократия и занимаюсь iOS-разработкой. С сегодняшнего дня мы начинаем регулярный выпуск статей, в которых я буду рассказывать о современном подходе к написанию асинхронного кода в Swift. 

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

Читать далее

Спасаем тревожных миллениалов от необходимости звонить: как в приложении для заказа пиццы появился чат

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

Заказать пиццу — задача вроде бы простая, но всегда что-то может пойти не так. У пользователей могут возникнуть трудности на всех этапах: начиная с того, какую пиццу выбрать, и заканчивая получением заказа. В Додо Пицце есть контакт-центр, который помогает решать возникающие трудности. Раньше в него можно было только позвонить или написать по почте, а теперь можно связаться в чате.

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

Читать далее

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

Время на прочтение4 мин
Количество просмотров3K
В новой еженедельной подборке готовность SwiftUI и тяжелые зависимости, Android в докере и обсуждение новинок Flutter, выживание при росте аудитории, вопрос с кодинг интервью, интеграция API и многое другое!

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

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

Золотые правила “weak self”

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

Захват self в замыкании — обычная вещь в Swift, которая скрывает множество нюансов. Нужно ли делать его weak, чтобы избежать цикла ссылок? И является ли проблемой сделать его weak постоянно?

Читать далее

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

Координация навигации по вью в SwiftUI с помощью паттерна Flow Coordinator

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

В этой статье я продемонстрирую, как можно использовать паттерн Flow Coordinator (далее флоу-координатор) в SwiftUI, чтобы отделить логику навигации от логики представления.

Читать далее

Регулировка contentOffset с помощью UICollectionViewLayout

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

Один из распространенных UI элементов в iOS является UICollectionView.

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

Рассмотрим простой пример - список новостей, вертикальный UICollectionView. При пролистывании списка вниз, необходимо подгружать старые новости. В данном случае все просто - нужно обновить данные и выполнить один из методов:

Читать далее

Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса

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

В своей предыдущей статье я рассказал о том, почему считаю, что мы можем значительно улучшить управление UI State (состояние пользовательского интерфейса) между View (представление) и ViewModel (модель представления) в Android, используя архитектуру Model-View-Intent (модель-представление-намерение) (MVI) с помощью Finite State Machine (машина с конечным числом состояний. конечный автомат) (FSM).

В этой статье я подскажу вам шаги, необходимые для модернизации этого решения до уровня Kotlin Multiplatform Mobile (KMM), где можно воспользоваться общим исходным кодом, содержащим MVI+FSM, так что обе платформы — Android и iOS — могут унаследовать его преимущества, отвечая только за платформозависимые реализации: UI/UX.

Читать далее

О чём расскажут на Mobius 2022 Spring: декларативный UI, глубокие ссылки и многое другое

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

Мобильным разработчикам давно знакома конференция Mobius, но в этот раз она пройдёт в необычном формате. В конце мая поучаствовать можно будет в онлайне (как в предыдущие два года), а вот в июне будет ещё и офлайн-день в Петербурге.

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

И сейчас, когда большинство тем докладов уже известно, расскажем Хабру, о чём именно они будут.

Читать далее

Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете

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

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

Я выступал с этим докладом на iOS Meetup | СберМаркет Tech, здесь его сжатая версия.

Читать далее

Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager

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

В этой статье я расскажу о проблемах с которыми я столкнулся при подключении тяжелых зависимостей к iOS проекту с помощью Swift Package Manager и о способе их решения.

Читать далее

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

Время на прочтение4 мин
Количество просмотров2.5K
В нашем новости дайджеста анонсы с Google I/O 2022 и выселение Carthage из git, загадочный WorkManager и замена натива веб-приложением, регрессионное тестирование, вопросы с собеседования, миллиарды уведомлений в месяц и многое другое. Подключайтесь!

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