ru
Feedback
iOS Dev

iOS Dev

Открыть в Telegram

👨‍💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift

Больше
8 000
Подписчики
-124 часа
+467 дней
+7930 день
Архив постов
iOS Dev
8 001
Базовая информация о самых популярных архитектурах для iOS-приложений 📺 Знакомство с архитектурой MVVM (90 секунд). 📺 Знакомство с архитектурой MVP (90 секунд). 📺 Знакомство с архитектурой VIPER (10 минут 30 секунд). Бонус (с примером создания и работы): Паттерн Coordinator. 😃 iOS Dev

iOS Dev
8 001
Вчера был представлен Humane Ai Pin — девайс, призванный заменить смартфоны 📖 Более подробно можно прочитать тут и тут. Коне
Вчера был представлен Humane Ai Pin — девайс, призванный заменить смартфоны 📖 Более подробно можно прочитать тут и тут. Конечно, многие смотрят на него скептически, как и в случае с анонсом iPhone в 2007 (слишком дорого и кому вообще нужно). Но вот два фактора, почему нужно внимательнее отнестись к девайсу: 1️⃣ Глава разработки - Кен Косиенда (подробнее о его огромной роли в Apple вот тут и тут). 2️⃣ Девайс предполагает тесную интеграцию с Open AI. А значит - сам процесс взаимодействия не просто очередной голосовой помощник. Он дорогой. 🚩 Стартовая цена 699 долларов (и подписка за 24 доллара в месяц 😮). Насколько именно он геймчейнджер индустрии, покажет ближайшее время, но совершенно точно можно сказать одно — инновации и попытки переосмыслить современные устройства это правильный путь. 😃 iOS Dev

iOS Dev
8 001
Расчет анимации стрелок часов с помощью Swift 🧑‍💻 Задача расчета угла поворота минутной и часовой стрелок часов периодически может встречаться даже в спортивном программировании в том или ином виде. Но даже без сложных расчётов в анимации могут возникнуть трудности. В этом материале автор рассказывает о том, как пришёл к реализации часов с нужной плавностью и с какими сложностями столкнулся в iOS 17. 😃 iOS Dev

iOS Dev
8 001
Создание переиспользуемых компонентов в SwiftUI Доклад с iOSDevUK в виде интерактивного обучения (с помощью DocC) поможет раз
Создание переиспользуемых компонентов в SwiftUI Доклад с iOSDevUK в виде интерактивного обучения (с помощью DocC) поможет разобраться в следующем: 1️⃣ Основные и более сложные методы создания вьюх. 2️⃣ Как сделать SwiftUI-view кастомизируемыми. 3️⃣ Как добавить больше интерактивности с использованием action handlers. 4️⃣ Использование API для создания стилей, например, в Button или Toggle. Реализация всех частей не должна занять больше двух с половиной часов, так что можно сохранить себе, если хочется детальнее познакомиться со SwiftUI. 😃 iOS Dev

iOS Dev
8 001
Разыгрываю премиум только для самых крутых читателей канала Условия невероятно сложны и хардкорны: 1️⃣ Читать iOS Dev. 2️⃣ На этом всё 🫡 🙂 Всем удачи! 😃 iOS Dev

iOS Dev
8 001
Gift
x3

Розыгрыш призов

3 подписок Telegram Premium на 6 месяцев

Дата объявления победителей

iOS Dev
8 001

iOS Dev
8 001
Flappy Dird — игра внутри MacOS Finder Прошлая неделя оказалась немного тяжелее, чем обычно, а всё из-за короны, которая не выбирает времени, когда напасть (и это несмотря на 3 прививки в прошлом). 🚩 И чтобы было немного проще влиться в рабочие будни, сегодня развлекательный пост. Я люблю необычные подходы к разработке и решения, которые могут удивить. И пусть эта игра работает со скоростью 4 кадра в секунду, зато тут есть рекорды и даже баннеры. А о сложностях, работе с AppleScript и почему игра не может работать быстрее, можно прочесть в блоге разработчика. 📖 Кстати, если вам интересен исходный код, то он в опенсорсе. 😃 iOS Dev

iOS Dev
8 001
⭐️На Swift.org появился новый раздел Packages! Есть общие категории: сервер, сеть, тестирование и логирование. Но не только о
⭐️На Swift.org появился новый раздел Packages! Есть общие категории: сервер, сеть, тестирование и логирование. Но не только они. Например, представлены пакеты, содержащие макросы. При выборе категории показаны примеры некоторых популярных пакетов для этой категории, а также полезная инфа. Это отличный способ получить представление о разнообразии пакетов, доступных для Swift. 📖 Изучить их детальнее можно здесь. 😃 iOS Dev

iOS Dev
8 001
Разбор особенностей протоколов в Swift Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойства
Разбор особенностей протоколов в Swift Какими бы мощными не были возможности протоколов, мы должны знать и о скрытых свойствах. Иногда неочевидные особенности могут затруднить оценку кода, тем более когда протоколы наследуют от других протоколов. В целом о них можно рассуждать с четырех разных точек зрения: 1️⃣ Использование в рантайме. 2️⃣ Использование во время компиляции. 3️⃣ Протоколы с ограничениями во время компиляции. 4️⃣ Синтез реализаций протокола и его влияние на время компиляции. 📖 Вот тут есть разбор различных ситуаций, которые проясняют путаницу при работе с протоколами. 😃 iOS Dev

iOS Dev
8 001
Breadcrumbs: утилита-багтрекер на основе комментариев 🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комм
Breadcrumbs: утилита-багтрекер на основе комментариев 🛠 На гитхабе есть забавная утилита, которая позволяет увидеть все комментарии TODO и FIXIT, которые вы добавили в исходный код. Для этого нужно запустить приложение и выбрать папку проекта. Выглядит как любопытная мысль 😉 😃 iOS Dev

iOS Dev
8 001
Знакомство с bash-скриптами для iOS-разработчиков Использование Bash может помочь выполнить широкий спектр задач, например: �
Знакомство с bash-скриптами для iOS-разработчиков Использование Bash может помочь выполнить широкий спектр задач, например: 🔘 автоматизация процессов сборки; 🔘 управление файловыми системами; 🔘 запуск тестов; 🔘 развертывание приложений. Любую команду, которую мы можем запустить в терминале, можно запустить, используя Bash. 📖 В этой статье рассмотрены основы написания скриптов и практический пример разработки для iOS, с помощью которого вы сможете создавать скриншоты для разных устройств и языков. 😃 iOS Dev

iOS Dev
8 001
🎉 Вышла тех-превью версия Skip — технологии для кроссплатформенных приложений на базе iOS! По словам разработчика, Skip выст
🎉 Вышла тех-превью версия Skip — технологии для кроссплатформенных приложений на базе iOS! По словам разработчика, Skip выступает в роли команды Android (как по мне, это слишком громко сказано), создавая эквивалентное приложение параллельно с iOS-версией. Сердцем Skip является интеллектуальный транспилятор языка Swift в Kotlin (и еще несколько лет назад Skip был бы невозможен). Для анализа исходного кода используется SwiftSyntax, после чего код преобразуется в Kotlin, сохраняя даже комментарии. Благодаря схожести языков, результат часто не отличается от Kotlin, который был бы написан нативно (но с оговорками). 🧑‍💻 Онлайн-playground, в котором можно попробовать возможности Skip. 📖 Документация. И хотя поддержка API по-прежнему ограничена (будут сложности с внедрением SwiftData или, например, Firebase), все библиотеки Skip имеют открытый исходный код и разработчик приглашает поучаствовать в их улучшении. 😃 iOS Dev

iOS Dev
8 001
Реализация загрузки и сохранения офлайн-карт в приложении от автора Pedometer++ 🗺️ Как правило, большинство приложений испол
Реализация загрузки и сохранения офлайн-карт в приложении от автора Pedometer++ 🗺️ Как правило, большинство приложений используют принцип определения прямоугольной области, которую необходимо покрыть загружаемыми картами, и затем сохраняют эту область в список наборов автономных карт. У такого подхода есть ряд преимуществ, но автор решил использовать свой вариант благодаря использованию системы карт XYZ/Slippy. В этой системе при каждом увеличении разрешения масштабирования количество тайлов на нижнем уровне увеличивается в четыре раза. 📖 А вот тут можно узнать, с какими сложностями можно столкнуться и через какие этапы нужно пройти для такой реализации. 😃 iOS Dev

iOS Dev
8 001
Структуры данных в Swift: знакомство с базовыми понятиями Структуры данных - это строительные блоки при разработке программно
Структуры данных в Swift: знакомство с базовыми понятиями Структуры данных - это строительные блоки при разработке программного обеспечения. 📖 В этой вводной статье, особенно полезной для новичков, рассматриваются различные структуры данных, доступные в Swift, их применение и несколько простых примеров кода. 😃 iOS Dev

iOS Dev
8 001
Способы измерения производительности Swift-кода Если какая-то часть приложения оказывается медленной, например, по результата
Способы измерения производительности Swift-кода Если какая-то часть приложения оказывается медленной, например, по результатам Time Profiler в инструментах, то необходимо знать способы для улучшения этого кода. Для этого можно попробовать: 🔘 Написание юнит-теста в проекте Xcode. 🔘 Использование Playground 🔘 Написание юнит-теста и его использование через терминал. 📖 Более детально с этими способами и выводами можно ознакомиться в этом материале. 😃 iOS Dev

iOS Dev
8 001
Как учить переполненный мозг или про способности решать сложные задачи 📖 Одна из самых крутых и интересных статей на хабре —
Как учить переполненный мозг или про способности решать сложные задачи 📖 Одна из самых крутых и интересных статей на хабре — про математические способности и то, как сейчас люди современности подходят к решению тех или иных проблем. Автор уделяет особое внимание тому, что сейчас студенты решают задачи хуже, чем раньше. Отчасти из-за многообразия таких простых в освоении и доступных инструментов (google lens, chatgpt, и так далее). Но важно отметить, что уровень развития человека сегодня, и, например, в 1930 году абсолютно несопоставим. Те, кто сегодня умеренно справляются с математическими (не только) задачами, раньше считались бы едва ли не гениями. Масштабные исследования на счёт этого можно прочитать здесь (кстати, там упоминается и GTA, и Zelda в качестве примеров тренировок). На мой взгляд, именно поэтому особенно важно создавать вызовы, например, реализацию своего компонента, или же рассмотреть принципы тех или иных алгоритмов и попробовать найти их преимущества. Вообще, книги про тренировки мозга, особенно те, которые дают какие-то рекомендации я не считаю панацеей. И их можно учитывать только как взгляд со стороны, но не руководство к действию. Несмотря на это, не могу не отметить диаграмму выше. Вы же слышали про состояние потока? Диаграмма основана на исследованиях о вызовах в процессе наших с вами задач (тут 📺 лекция). 🚩 Вкратце, чтобы достичь такого состояния, нужно, чтобы уровень задач оказался выше среднего, а уровень навыков при этом позволил с ними справляться. Во всех других ситуациях может возникнуть или апатия, или уровень стресса будет слишком высок. 😃 iOS Dev

iOS Dev
8 001
Диспетчеризация потоков и Actors: как их использовать Акторы обеспечивают выполнение кода в определенном потоке (например, в
Диспетчеризация потоков и Actors: как их использовать Акторы обеспечивают выполнение кода в определенном потоке (например, в основном или фоновом). Они помогают синхронизировать доступ к мутабельным состояниям и предотвращать потенциальные гонки данных. 📖 В этой статье рассматривается, что происходит при вызове методов, помеченных любым атрибутом actor и как избегать непредвиденных сбоев приложения при определенных контекстах. 😃 iOS Dev

iOS Dev
8 001
Разделение данных на примере использования .chunked() 🧑‍💻 Один из самых важных источников знаний для просмотра реализации т
Разделение данных на примере использования .chunked() 🧑‍💻 Один из самых важных источников знаний для просмотра реализации тех или иных алгоритмов — Swift Algorithms. Например, если вы пишете много длинных и непростых для чтения циклов, то есть вполне приличный шанс, что уже существует нужный алгоритм. 🌎 Допустим, в приложении для путешествий нужно показать список всех мест, которые вы посетили или планируете посетить, отсортированных и сгруппированных по дате в порядке убывания. 📖 В этом посте рассматривается, как юзать алгоритм .chunked() для разделения массива и отображения результатов в нужном виде. 😃 iOS Dev