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

iOS *

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

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

Виды логирования в Swift

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

Привет! Меня зовут Владислав Даниелян, я iOS-разработчик в AGIMA. Предлагаю немного поговорить о принтах. Это одна из первых и наиболее используемых функций, с которой начинаются первые шаги в разработке у любого новичка:

Цель статьи — сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет. Мы разберем виды принтов и напишем свой небольшой логгер, который можно внедрить сразу, параллельно чтению.

Читать далее

Искусственному интеллекту – быть! Какие обновления представила Apple на WWDC 2024

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

Значительную часть летней конференции Apple уделила внедрению искусственного интеллекта в свои устройства и традиционно рассказала об обновлениях операционных систем своих устройств. Технический директор CleverPumpkin Александр Кияйкин внимательно посмотрел презентацию и поделился главными новостями, которые нельзя пропустить.

Читать далее

WWDC 2024. Обсуждаем, что по факту

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


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки в ГК Usetech. 10 июня прошел долгожданный Keynote WWDC 2024. Прошел и оставил после себя легкий флер разочарования. Заявлено было много, показано много. Какие-то новинки (например, функция Mirroring для трансляции изображения и звука с iPhone на десктоп) вызвали одобрение аудитории, как полезные и нужные. Другие (например, настройка визуального оформления домашнего экрана, общая тема для иконок и то, как это реализовано) оставили многих в недоумении. Да, много полезного, но из-за того, что ожидания от анонса разошлись с действительностью, это меркнет на общем фоне.

Еще больше недоумения вызвал функционал Apple Intelligence. И даже не то, что какие-то вещи были показаны довольно скомкано. Разочарование вызвало 2 момента: дата выхода инструментария и отсутствие тематических сессий:



Были анонсированы и «умные» тулзы для Xcode, и встроенный ChatGPT. Но как этим пользоваться, как встраивать, как с этим работать, такой информации напрямую нет. Она частично размазана по сессиям по вспомогательным технологиям. Из них и будем черпать знания.

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

WWDC 2024. Чем удивляют разработчиков

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

Привет! На связи KTS и наш эксперт по iOS-разработке Александр.

10-го июня в 20:00 по Москве стартовала ежегодная конференция для разработчиков Apple WWDC 2024. Рассказываю в статье про основные новости с сессии мобильной разработки:

— Интеграция искусственного интеллекта Apple Intelligence (AI) во всю экосистему.
— В iOS 18 добавлено плавающее размещение иконок и автоматическое затемнение в темной теме, обновлен центр управления и приложение «Фото» (аналогично — и в iPadOS 18).
— VisionOS 2 получил конвертацию фото в 3D и SharePlay, а сам Apple Vision Pro выходит в 8 новых странах позже этим летом.
— AirPods Pro теперь распознают жесты, а Apple TV определяет актеров и музыку с помощью функции InSight.
— В watchOS 11 внедрили приложение Vitals для мониторинга здоровья. macOS Sequoia поддерживает зеркалирование iPhone и ИИ в Safari.

Читать далее

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

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

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

Читать далее

Мобильная разработка за неделю #541 (3 — 9 июня)

Время на прочтение4 мин
Количество просмотров2.7K
В нашем новом выпуске исследуем рынок работы для iOS-разработчиков, использование ИИ и кроличьи норы оптимизации, погружаемся в мир Lint-a, строим BDUI, определяем рынок мобильных приложений в 1 квартале 2024 года и многое другое. Подключайтесь!

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

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

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

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

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

Читать далее

WWDC 2024. Прогнозируем, что ждет разработчиков

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


Всем привет! С вами снова я, Анна Жаркова, руководитель группы разработки из компании Usetech. Совсем скоро нас ждет неделя тематических сессий по технологиям WWDC от Apple, а это значит, что самое время составлять список того, что может быть продемонстрировано из новинок, и что хотелось бы увидеть больше всего. Затем сравним свой вишлист с анонсами.

Итак, начнем. С новинок прошлого года.

Развитие новинок прошлого года


В прошлом году Apple посвятили большую часть сессий своей новинке – умным очкам VR/AR, работающим на Vision OS, а также технологиям для разработки соответствующих приложений: ARKit/VRKit, Core/Metal и т.п. Разумеется, много было и различных кодлабов и воркшопов по работе с SDK и VisionOS. Затем был запущен маркет соответствующих приложений. В этом сезоне ожидаем больше оптимизированных фирменных приложений Apple, а также функцию отслеживания дыхания и поддержку стилуса Pencil Pro, представленного ранее. Ожидаем крупное обновление Vision Pro, которое включит в себя более мощную функцию Live Captions, с поддержкой генерации субтитров всех окружающих диалогов в поле зрения пользователя. И очень важно: новое обновление, вероятно, будет включать в себя поддержку и интеграцию с Искусственным интеллектом.
Читать дальше →

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS?

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

Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую функциональность, но и базовые возможности приложения, чтобы убедиться, что они работают корректно и ничего не сломалось. 

На проверку базового функционала уходит куча времени QA. Поэтому мы создали автоматические UI-тесты. Они автономно проверяют базовые функции и помогают снизить нагрузку на тестировщиков.

Но приложение постоянно растет, а с ним должно расти и тестовое покрытие. Главная сложность здесь — количество тестов, которое приходится писать. Когда у меня появилась задача написать очередную партию тестов, я сразу подумал о том, что мне нужна помощь. Меня зовут Марк, я iOS-разработчик из Lamoda Tech. В этой статье я расскажу, как использовал LLM для написания UI-тестов, и сравню результаты ChatGPT и Copilot.

Читать далее

Mobius 2024 offline. День второй

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

Привет, Хабр!

Вот и вторая часть репортажа о конференции Mobius 24.

День начался сразу с первого доклада и теперь просторный зал Альфа принадлежал андроидам, в отличие от вчерашнего дня)

Multiplatform UI with Compose
Алексей Гладков

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

Судя по тому, что многие в зале на ходу конспектировали его доклад, с болью адаптации Compose-экрана под разные устройства мы встречаемся часто. Хотя фронтендеры с проблемами вёрстки сталкиваются постоянно, их опыт не всегда подойдет для Compose Multiplatform.

Мы посмотрели, как удобно реализовать архитектуру и навигацию в проекте, который будет собираться под разные платформы, какие common-компоненты лучше выделить. Хороший совет продумать обработку keyboard shortcut-ов для улучшения UX пользователей десктопа, и Compose Multiplatform даёт такую возможность.

Понравилась идея использовать репозиторий с Flow настроек приложения (AppSettings), чтобы слушать изменения и оперативно отрисовывать UI.

В проекте Compose Multiplatform Wizard можно найти весь актуальный на даный момент стек библиотек, единственное, он обновляется очень часто, примерно раз в неделю.
Общие советы, которые дал нам Алексей: смотреть на разные форм-факторы дисплеев, по возможности проектировать абстрактные экраны, рассматривать компонент экрана как контейнер, что близко к устройству супераппа. И, конечно, толкать дизайнеров, чтобы заранее продумывали UI под разные платформы :-)

Презентация

Читать далее

Как мы строили BDUI: опыт Яндекс Маркета

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

Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.

Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат. 

Читать далее

Делаем нативное мобильное приложение с ИИ и бэкендом (Туториал)

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

В этой статье мы рассмотрим тонкости создания Proof of Concept (PoC) мобильного приложения, построенного с помощью фреймворка SwiftUI и бэкенда с использованием FastAPI и OpenAI API. Дополнительно я продемонстрирую эффективные архитектурные паттерны для SwiftUI-приложений, в частности MVVMP в сочетании с принципами SOLID и Dependency Injection (DI). Для андроид код можно легко перевести на Kotlin с помощью Jetpack Compose Framework.

Читать далее

NTP для мобильных разработчиков: Как точное время повысит качество ваших приложений

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

Все разработчики мобильных приложений сталкивались с проблемой точности времени. Часто для ее решения прибегают к различным методам, например, получают время с собственного сервера. Однако, существует гораздо более простой и удобный способ — использование NTP (Network Time Protocol). В этой статье мы разберемся, что такое NTP, как он может быть полезен для мобильных разработчиков, какие библиотеки существуют для работы с ним и в каких кейсах его использование особенно актуально.

Читать далее

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

SwiftUI инпут: проблемы и решения

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

Представьте, что вам нужно реализовать комплексный компонент инпута на SwiftUI. Что может пойти не так? Какие сложности могут возникнуть? На эти и другие вопросы постараюсь ответить в статье, где реализуем компонент со скрина, а также разберем возможные проблемы.

Читать далее

Мобильная разработка за неделю #540 (27 мая — 2 июня)

Время на прочтение4 мин
Количество просмотров2.1K
В новом дайджесте разбираем основы iOS-разработки в Revolut и оцениваем финалистов Apple Design Award 2024, обновляем адаптивные макеты на примерах с I/O и продолжаем ставить на Flutter, тираним пользовательские интерфейсы, катим MobAIle-разработку, делаем кондиционер умным и многое другое. Подключайтесь!

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

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

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

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

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

Читать далее

Pедактор цен для iOS подписок

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

Каждый разработчик iOS, стремящийся выйти на глобальный рынок или активно экспериментирующий с ценами в разных странах, сталкивается с неудобством работы через App Store Connect. Существует множество отличных инструментов для контроля подписок и управления экранами платежей, но до недавнего времени на рынке отсутствовал интегрированный с Apple редактор цен. Именно эту нишу и стремится заполнить aso.dev со своим редактором цен на iOS подписки.

Читать далее

Стэнфордский курс CS193P “Разработка iOS приложений в SwiftUI” Весна 2023: русскоязычный конспект с адаптацией к iOS 17

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

Если вы хотите получить фундаментальные знания по разработки  iOS приложений с помощью SwiftUI, вам следует пройти стэнфордский курс CS193P. Предложенные в весеннем семестре 2023 года лекции Стэнфордского курса CS193P «Developing  Application for iOS with SwiftUI» («Разработка приложений для iOS с использованием SwiftUI») — это уже 3-я реинкарнация курса CS193P с фреймворком SwiftUI.

В настоящий момент действуют Xcode 15 / iOS 17, которые были представлены на WWDC 2023 уже после завершения курса CS193P, наиболее значимое обновление внесено в механизм реактивного UI в SwiftUI (макрос @Observable против протокола ObservableObject).

В иллюстрированных  русскоязычных конспектах этого курса сделаны пометки, касающиеся изменений в iOS 17. Для большинства Лекций представлена версия с  использование макроса @Observable вместо протокола ObservableObject, в ряде случаев это потребовало нетривиальных решений. 

Читать далее

Мобильная разработка за неделю #539 (20 — 26 мая)

Время на прочтение4 мин
Количество просмотров3.3K
В этом выпуске работаем с SwiftUI на iOS 14, снова обсуждаем Google I/O 2024 и проводим скриншот-тестирование для превью Compose, оцениваем Flutter 3.22, пишем 2D-игры для кнопочных телефонов нулевых и многое другое. Подключайтесь!

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

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

Пермишены (permissions) для тестировщика: зачем нужно, что такое и как с этим работать

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

Приветствую?

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

Меня зовут Антон, я QA Mobile в компании MobileUp. В статье я разберу, что такое пермишены, для чего нужны, какие виды существуют, где их можно найти и как тестировать.Эту статью я пишу исключительно с точки зрения ручного тестирования, но в конце текста оставлю интересные ресурсы, которые могут пригодиться для QA Auto (но это не точно ?).

Читать далее