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

iOS *

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

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

Использование Ionic и Vue 3 для создания мобильных приложений

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

В современном мире мобильные приложения играют важную роль в нашей повседневной жизни. Разработка мобильных приложений стала все более популярной, и существует множество фреймворков и инструментов для создания кросс-платформенных приложений. В этой статье мы рассмотрим процесс разработки мобильных приложений с использованием Ionic, Vue 3 и Capacitor, сочетающих в себе преимущества гибкости Vue.js и возможности кросс-платформенной разработки Ionic и Capacitor. Вперед под кат)

Под кат!

Фича Флаги и управление ими “по-взрослому”: кейс команды СберЗдоровье

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

Приветствую всех читателей. Меня зовут Роман Доронин. Уже 2 года я iOS-разработчик в компании СберЗдоровье, работаю в платформенной команде. Именно здесь я близко познакомился с понятием фича флага и увидел всю силу этого инструмента.

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

Читать далее

Как я создала приложение для IPhone. Без опыта разработки на SWIFT, но с помощью ChatGPT

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

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

Читать далее

Встречайте Dev Mode в Figma

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

Как инструмент проектирования может работать лучше для разработчиков? Этот вопрос мы задаем себе и нашему сообществу. Сегодня мы рады представить Dev Mode - новое рабочее пространство в Figma, созданное для того, чтобы разработчики получали то, что им нужно, когда им это нужно, используя инструменты, которые они используют каждый день.

Читать далее

Внедряем MapKit Яндекс Карт в iOS приложение

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

Всем привет! Меня зовут Серёжа, и я занимаюсь веб-разработкой и разработкой на iOS вот уже 5 лет. На одном из проектов мне поставили задачу: внедрить Яндекс Карты в приложение. Однако я столкнулся с тем, что в открытом доступе мало нужной и полезной информации об этой теме. Эта статья - мои способы решения задач на Swift с использованием Yandex MapKit. Делюсь с вами своим опытом!

Читать далее

Многопоточность в iOS-разработке

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

Здравствуйте, уважаемые читатели Хабра!

Меня зовут Кирилл, я iOS-разработчик приложений Сбера в Студии Олега Чулакова.

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

В этой статье мы разберемся с основами многопоточности и познакомимся с такими инструментами Swift, как Grand Central Dispatch (GCD), OperationQueues, NSLock. А также существующими низкоуровневыми технологиями, такими как pthread и NSThread. Бонусом я расскажу про async/await. Мы обсудим, как эти инструменты помогают управлять асинхронными и параллельными операциями, и посмотрим на некоторые примеры их использования.

Приятного чтения, и давайте начнем наше путешествие в мир многопоточности Swift!

Читать далее

Немного о перечислениях в Swift

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

Не секрет, что на сегодняшний день Swift обладает одними из самых (возможно самыми) функциональными и гибкими в настройке перечислениями. Каждый Swift-разработчик может подтвердить, что работать с ними довольно приятно и удобно. Однако, мало кто задумывается как это устроено внутри. Может показаться, что за подобную функциональность обязательно придётся заплатить либо производительностью, либо памятью, либо размером билда. На самом деле, чтобы максимально избежать подобных издержек, под капотом в языке имеется шесть разных реализаций перечислений.

Читать далее

Императивный UIKit‍ vs Декларативный SwiftUI

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

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

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

Читать далее

На смену CoreData пришёл новый фреймворк SwiftData. Разбираемся, как он упрощает хранение данных

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

Фреймворк для хранения данных Core Data был написан еще во времена Objective-C. Многим iOS-разработчикам хотелось иметь более современный инструмент, который бы поддерживал все новые возможности языка Swift. И теперь такой инструмент появился: на WWDC 2023 представили новый фреймворк SwiftData.

Разбираемся, что из себя представляет SwiftData, и пробуем его в тестовом приложении.

Читать далее

visionOS(xrOS) сессии WWDC2023: введение в пространственные вычисления Apple

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

Занимаясь уже достаточно давно iOS разработкой, имея личный опыт в разработке VR устройств и собственного комплекса фотограмметрии, в этот раз я откровенно был впечатлен долгожданным анонсом Apple гарнитуры смешанной реальности Vision Pro на WWDC2023. Компанией была представлена новая платформа, по‑большому счету, со всеми уже знакомыми современными инструментами iOS‑разработки. Пазлы ARKit, RealityKit и SwiftUI наконец‑то сложились и я рад поделиться подборкой ссылок на ресурсы и стартовые материалы. Перед чтением, конечно полезно немного пофантазировать о будущих приложениях, которые обязательно изменят мир. Приготовьтесь начать погружение или добавляйте материал в закладки (которые вы так никогда и не прочитаете), поехали!

Начать погружение

Мобильная разработка за неделю #493 (12 — 18 июня)

Время на прочтение4 мин
Количество просмотров2.6K
В новом дайджесте все еще обсуждаем WWDC, рассматриваем историю ограничений фоновой работы в Android и ускорение приложений, специфику мобильной разработки и самые популярные языки программирования, push-уведомления, стартап из одного за 50 млн и многое другое!

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

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

Новенькое с WWDC23: Отчёты о тестировании и аудит доступности

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

Вот и закончилась очередная конференция Apple WWDC23, на которой ребята из Apple рассказали об изменениях Xcode и Swift. 

Поговорим о фичах Xcode 15, которые помогут добавить accessibility в приложение и поддерживать ваши тесты зелеными.

Читать далее

Программные баги, которые приносят реальный вред

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

Три реальные истории из жизни, показывающие возможные проблемы, вызываемые ошибками или недоработками в программном обеспечении. Первая касается продуктов Apple, вторая — устройств Android, а третья связана с багами в ПО канадского гипермаркета стройматериалов.
Читать дальше →

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

Аутентификация Firebase с помощью Google Sign-In в iOS

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

Аутентификация Firebase с использованием учетных записей Google предоставляет простой способ входа пользователей в приложение iOS с использованием их учетных записей Google. В этом ресёрче я расскажу, как я реализовал аутентификацию Firebase с помощью Google Sign-In в своем iOS-приложении. Я представлю примеры кода, чтобы показать процесс реализации из моего опыта.

Читать далее

Defensive programming. Что это такое и когда использовать

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

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

Я — руководитель платформенной команды в компании, одним из основных продуктов которой являются iOS, Android и веб-фреймворки. Также по совместительству я один из авторов курса по iOS-разработке в Яндекс Практикуме. В этой статье хочу поделиться одним подходом или стилем написания программного кода, который помог лично мне в трудной ситуации, описать набор инструментов, которые могут его обеспечить, поговорить о результатах, которые можно с помощью него достичь, и, разумеется, о цене, которую приходится за это заплатить. Одно из распространённых названий этого стиля — defensive programming (англ. защищённое программирование).

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

Читать далее

UICollectionViewCompositionalLayout

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

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

Статья основана на документации apple Implementing Modern Collection Views.

Compositional layouts - это декларативный вид API, который позволяет нам создавать большие макеты путем объединения небольших групп макетов. Compositional layouts имеют иерархию, состоящую из Item, Group, Sections, and Layout.

Чтобы создать любой Compositional layouts, необходимо реализовать следующие четыре класса:

NSCollectionLayoutSize: Размеры ширины и высоты относятся к типу NSCollectionLayoutDimension, которые могут быть определены путем установки доли ширины/высоты макета (в процентах по отношению к его контейнеру) или путем установки абсолютных или расчетных размеров.

NSCollectionLayoutItem: Это ячейка нашего макета, которая отображается на экране в зависимости от размера.

NSCollectionLayoutGroup: содержит NSCollectionLayoutItem в горизонтальной, вертикальной или пользовательской формах.

NSCollectionLayoutSection: используется для инициализации секции путем передачи NSCollectionLayoutGroup. Секции в конечном итоге составляют СompositionalLayout.

Читать далее

Мобильная разработка за неделю #492 (5 — 11 июня)

Время на прочтение4 мин
Количество просмотров3.1K
На этой неделе мы обсуждаем новинки WWDC 2023, создание своих библиотек для Android и анимированных кнопок, выбор Qt и фичи инклюзивного дизайна, AI-плагины для разработки и многое другое.

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

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

AIsaacChat: ИИ чатбот на основе ruT5

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

AIsaacChat — это мобильное приложение, которое может общаться, выполнять простые текстовые инструкции и генерировать картинки. 

2023 год стал годом нового бума обработки естественного языка. В магазинах мобильных приложений можно найти огромное количество продуктов с ИИ. В основном под капотом подобные приложения обращаются к API компании OpenAI (chatGPT), и с технической точки зрения реализовать это довольно несложно. Идея создания AIsaacChat была в том, чтобы оно обращалось с языковой модели, которую мы дообучим с помощью своих ресурсов.

Второй причиной создания стала идея объединить в одном приложении генерацию картинок и текста. Очевидно, что таких приложений много, разница состоит в том, что AIsaac может понимать ваши намерения. Что это означает для пользователя? Вы можете задавать Айзеку команды в произвольной форме (“можешь резко нарисовать дом в стиле Ван Гога”), и он поймет, что именно вы от него хотите: сгенерировать текст или картинку. 

Читать далее

Как катить фичи без релизов. Часть 1: про виджеты

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

Backend-Driven UI — это подход для динамичного и гибкого пользовательского интерфейса, в которой бэкенд управляет не только данными в приложении, но и его вёрсткой. Сервер посредством API сообщает приложению какие компоненты и с каким контентом отображать. Сегодня многие команды разработки используют Backend Driven UI и мы в Альфе не исключение — помогает быстро выпускать фичи в продакшн.

У нас в Альфе есть несколько подходов к BDUI и про один из них как раз сегодня поговорим, он называется «Виджеты». Независимость, переиспользуемость, уменьшение копипасты, стандартизация UX и без ревью — это всё о них.

Читать далее

Горячие новинки WWDC 2023

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

В понедельник стартовал WWDC 2023. Apple рассказала о последних новинках и изменениях, которые сделают жизнь разработчика и конечного пользователя лучше. Мы собрали для вас самые запоминающиеся детали.

Читать далее