Как стать автором
Поиск
Написать публикацию
Обновить
39.98

iOS *

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

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

Карантин UI-тестов в iOS

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

Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru. Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся.

Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья.

Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из‑за проблем в самом XCUITest тесты могут начать выдавать аномалии.

Если хотите узнать про наш процесс — смело нажимайте "Читать далее".

Читать далее

Мобильная разработка за неделю #537 (29 апреля — 12 мая)

Время на прочтение4 мин
Количество просмотров2.7K
Собрали дайджест сразу за две недели — в нем материалы про Composable Architecture и новый компилятор K2, Room для Kotlin Multiplatform и будущее магазинов приложений, самые скачиваемые и зарабатывающие приложения в России в апреле, превращение игрушечного робота-доставщика в ровер и многое другое. Подключайтесь!

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

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

А вы знаете как спит ваш Mac? или же рассказ о Apple Power Nap

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

В далеком 2012 году на презентации WWDC (первая презентация после смерти Стива Джобса) Apple представила легендарную iOS 6. На этой презентации также была представлена система OS X Mountain Lion (версия 10.8). Было представлено много новых функций и нововведений. Кому интересно, вот статья на Вики, но сегодня мы поговорим о функции Power Nap.

Что такое этот ваш Power Nap? И как же спит ваш Mac?

Читать далее

Result builders in Swift

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

Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.

Примеры.

Вот функция, которая возвращает одну строку.

Читать далее

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

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

Ссылка на 10-ю часть

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

Читать далее

Room для Kotlin Multiplatform. Пробуем нативное решение

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

Всем привет! На связи Анна Жаркова, руководитель группы мобильной разработки в компании Usetech. В начале мая Google нас порадовали релизами нескольких библиотек для локальных хранилищ. Наконец, в приложения Kotlin Multiplatform можно полноценно использовать Room (версия 2.7.0-alpha01 и выше).
И сегодня мы опробуем работу с данной библиотекой на примере небольшого приложения Todo, написанного на KMP с использованием Compose Multiplatform.


Кроме Room, в проекте используется библиотека Lifecycle-viewmodel для KMP. И Koin для DI и гармонии.

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

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

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

Инклюзивный проект Everland провел исследование невизуальной доступности онлайн-аптек, чтобы понять, насколько они адаптированы для людей с нарушениями зрения и моторики.  В ходе исследования была протестирована 21 платформа (сайты и мобильные приложения для iOS и Android) 7-ми брендов. Оценку проводили тестировщики с инвалидностью по зрению в феврале 2024 года.

Читать далее

Создание онлайн видео плеера

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

Привет, Хабр! Меня зовут Игорь, я занимаюсь мобильной разработкой в компании ГРИ, часть холдинга Sunlight. Сегодня хочу поделиться опытом создания плеера для воспроизведения плейлистов в форматах m3u и m3u8.

Читать далее

Мобильная разработка за неделю #536 (22 — 28 апреля)

Время на прочтение4 мин
Количество просмотров1.9K
В новом дайджесте гистограммы и локации в iOS, ViewModel и координаторы в Android, виджеты в Flutter, дизайн-система, Fallout в Excel, заработки разработчиков игр для Playdate и многое другое. Подключайтесь!

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

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

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

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

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

Читать далее

Оплата аккаунта Apple Developer в 2025 году

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

В этой статье я приведу примеры по оплате аккаунта разработчика Apple которые я сам лично попробовал. Информация приведенная ниже достаточно актуальная и затрагивает период конца 2023 и начала 2024 года.

Читать далее

Мобильная разработка за неделю #535 (15 — 21 апреля)

Время на прочтение4 мин
Количество просмотров2.2K
В нашей новой еженедельной подборке чистая архитектура и MVVM в iOS, закан RxJava и критических оповещений на Android, опыт внедрения компонентной разработки, смартфон для джаваскриптера-олдфага, практическое руководство по запросу отзывов и многое другое. Подключайтесь!

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

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

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

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

Разбираемся с List, ForEach and Identifiable 

В UIKit для iOS один из наиболее часто используемых элементов управления пользовательским интерфейсом - это UITableView. Если вы имеете опыт разработки приложений с использованием UIKit, то знаете, что table view предназначен для отображения списков данных. Этот элемент управления пользовательским интерфейсом широко используется в приложениях ориентированных на контент, например, в новостных приложениях или в принципе в любых популярных приложениях, таких как Instagram, Twitter, Reddit и другие.

Читать далее

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

Один репозиторий, чтобы править всеми

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

Собираем кроссплатформенное (server-client, static-client, gh-pages, Android, iOS, macOS, Linux, Windows, Chrome extension, Docker, Kubernetes, ...) React приложение. В этой статье я почти не затрону Deep backend, только чуть-чуть в конце. Но рассмотрю Open Source шаблон/заготовку для сборки кроссплатформенных React приложений который мы используем в Deep.Foundation.

Надеть еще одно кольцо всевластия

Clean architecture и MVVM в iOS разработке

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

В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении.

Читать далее

О, вы из Англии? Локализация Ozon Seller на iOS

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

Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.

Нашим приложением активно пользуются юзеры из разных стран, и поэтому день Х, когда мы решим добавить поддержку разных языков, был неизбежен. В этой статье я расскажу про стандартный процесс локализации iOS-приложения, про то, с какими трудностями мы столкнулись и как их решили. Разберём системный алгоритм определения языка и объясню, почему он нам не подошёл. Сделаем перевод приложения «на лету», а также посмотрим, как изменился наш флоу работы со строками.

Читать далее

Reflection в iOS: как посмотреть содержимое любой сущности

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

В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.

Меня зовут Светлана Гладышева, я iOS-разработчик в Тинькофф. Расскажу, какие возможности есть у Reflection в Swift, в чем ограничения и подводные камни. Рассмотрим его применение на примерах и узнаем, для чего его можно использовать в повседневной работе. А еще поговорим о том, как можно отключить Reflection в проекте и на что это может повлиять.

Читать далее

Мобильная разработка за неделю #534 (8 — 14 апреля)

Время на прочтение4 мин
Количество просмотров2.1K
В нашем новом дайджесте не страшный Accelerate и MVVM без M, жизнь после отвала eMMC и инъекции зависимостей в Compose, история успеха Flutter, проблемы маленьких приложений, 900 самых популярных инструментов ИИ на базе open source и многое другое. Подключайтесь!

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

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

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

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

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

Читать далее

Почему Accelerate — это не страшно

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

Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится изучать фундаментальные темы программирования и разбираться, как все работает под капотом.

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

Читать далее