iOS Dev
前往频道在 Telegram
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
显示更多7 880
订阅者
-324 小时
-27 天
-5030 天
帖子存档
7 880
+5
Xcode Behaviors - полезный трюк
Как показывает практика, то, что кажется очевидным, не всегда таковым является. Например, когда-то в канале я делился простым способом как перемещаться по терминалу к нужному символу.
Зная свои инструменты, можно повысить продуктивность если не в разы, то на несколько процентов точно.
Например, в Xcode есть полезная штука Xcode Behaviors (в ней можно настраивать кастомные действия для открытия вкладок, триггеров на старт/финиш билда, на ошибки, да почти на что угодно).
Вот как можно открывать директорию проекта по хоткею, например:
1. Создаём скрипт, например
openProject.sh
2. В него добавляем следующее:
#!/bin/bash
open "`pwd`"
3. Накидываем на скрипт права на исполнение через терминал (или свойства) chmod +x openProject.sh
4. Переходим Xcode behaviors -> Edit behaviors -> Custom Behavior
5. Задаём название - например Open Project Behavior, добавляем хоткей, например cmd+option+9 (или любой другой, если будет конфликт, Xcode ругнётся).
6. Выбираем наш скрипт.
И теперь каждый раз, когда вы будете нажимать cmd+option+9, будет открываться директория текущего проекта.
Кстати, в Boosty (все ещё доступном по хорошим условиям) лежит и необычный пример MVP для логирования сборок билдов и интеграции c Xcode.
😃 iOS Dev7 880
Доходы от App Store — это результат вашей экспертизы, инвестированного времени и развития продукта. Но доступ к этим доходам часто сопровождается ограничениями, бюрократией и неудобными процессами, которые тратят ресурсы команды.
Dev.Cab помогает студиям и разработчикам упростить финансовую сторону работы с App Store и сфокусироваться на продукте, а не на борьбе с платежной инфраструктурой.
Мы выстраиваем удобный процесс приёма и распределения поступлений, который делает финансовую часть стабильной и предсказуемой.
Что даёт работа с Dev.Cab:
🔹 Прозрачные комиссии, без скрытых условий
🔹 Понятная и структурированная схема поступлений
🔹 Удобное управление средствами, в том числе для команд и издателей
🔹 Поддержка и сопровождение, когда нужно быстро решить вопросы
Dev.Cab создаёт комфортный финансовый контур вокруг вашего бизнеса в App Store — чтобы вы могли работать спокойно и масштабироваться без лишних рисков.
Подробнее и консультация → dev.cab
Реклама. ИП Чернов Олег Владимирович ИНН: 691007481228 erid: 2VtzquvQ8VX
7 880
Иконка App Store в реальном мире
Безусловно, иконки приложений (или в данном случае целого стора) могут или меняться часто, или оставаться прежними на протяжении долгих лет.
Но вот недавно я увидел обсуждение, в котором разработчики (да и пользователи тоже) на полном серьезе спорили, что из себя представляет современный вариант иконки app store (раньше там было более понятное изображение).
Один из вариантов, который предложил Кристиан (про его историю и инди-разработку я писал когда-то вот тут), заключается в том, что логотип App Store сделан из трёх наклонённых иконок приложений.
И он пошёл дальше, и сделал целую модель (которую вы видите прямо сейчас).
🖨 Кстати, если у вас есть 3D-принтер и вы немного в теме - то вот тут можно распечатать свою собственную фигурку, например для рабочего стола.
😃 iOS Dev
7 880
Что такое стратегия Direct-to-Consumer и почему не развивать её — значит проиграть?
Каждая большая индустрия рано или поздно осознаёт простую вещь: посредники — это компромисс, а не эволюция. D2C — не просто модный тренд. Это взросление игровой индустрии, неизбежный этап, на котором вы либо управляете процессами напрямую, либо наблюдаете, как вас регулируют по чужим правилам.
Рассказываем о разных аспектах D2C здесь.
7 880
Вышло обновление лекций Стэнфорда для iOS-разработчиков
Этот курс - в целом одна из лучших бесплатных точек входа для iOS-разработчиков, и буквально недавно вышло большое обновление из 6 лекций: от основ SwiftUI до демонстрации работы с данными.
📖 Курс целиком доступен здесь (обещают выложить новые лекции в ближайшем будущем).
😃 iOS Dev
7 880
Как работать с шейдерами
Дэн Холлик выпустил новую главу в своей книге Making Software, посвященную шейдерам, фундаментальным принципам и математике.
Хотя напрямую статья не относится к iOS-разработке, но настолько изумительно все описано, что я не могу не поделиться.
Дэн подошёл к теме основательно, и начал аж с того, как работает GPU, описал графический пайплайн (и про vertex shading, про растеризацию и fragment shading) и снабдил все качественными иллюстрациями.
Есть инфа и про апи Microsoft (которая всем нам знакома как DirectX) и их HLSL, но и Apple с Metal не остались в стороне.
📖 Рекомендую сохранить себе статью не только для общего развития, но и чтобы узнать, как в целом создавать крутую графику, зная только x и y-координаты.
Напомню, что в iOS IQ можно посмотреть на большую подборку необычных анимаций (и узнать несколько советов). 🔗 Warp-эффект на metal-шейдере 🔗 Beauty infinite loop 🔗 Огненный шейдер Код всех реализаций есть 💰 тут и ⭐️ тут, не забывайте про Black Friday.😃 iOS Dev
7 880
Многозадачность и управление приоритетами
На моей практике не сосчитать случаев, когда появлялись задачи с высшим уровнем приоритета, которыми нужно заменить часть текущих, а при тестировании появлялись корнер-кейсы, о которых догадаться просто-напросто невозможно.
Например, управление одной учеткой в реальном времени с разных девайсов и совершение почти похожих действий могут привести порой к неожиданным результатам (предотвращение таких гонок - одна из задач в любых системах общения, будь то какой-нибудь мессенеджер, и, например, организация голосового/видео чата).
И может показаться, что есть опция захватить пачку задач сразу и выполнять их параллельно, буквально как Юлий Цезарь.
Вот только утверждение, что Цезарь делал несколько дел одновременно - все-таки миф, на самом деле речь шла о быстром переключении задач.
И хотя такой навык особенно полезен в нашей сфере, но на самом деле сумма времени, потраченного на эти несколько задач якобы параллельно, будет точно такой же и при последовательном подходе.
Поэтому рациональное желание сделать быстрее/лучше при увеличении допустимого пула задач вполне вероятно приведет к увеличению сроков.
При оценке задач с опытом приходит и то, что фича попадет в релизную сборку не только после того, как вы напишете код, но и когда её протестируют, требования по ТЗ будут уточнены, а все изменения по дизайну приняты и реализованы.
Все остальные вещи вроде наличия общей дизайн-системы, общего подхода к проверке фич и заранее заложенного времени на тестирование могут помочь, но совершенно не гарантируют, что заложенное в неделю время окажется в итоге неделей, а не месяцем.
Часто вышестоящие менеджеры могут забывать о законе Брукса, стремясь увеличить производительность команд с помощью расширения количественного состава:
«Если проект не укладывается в сроки, то добавление рабочей силы задержит его ещё больше».
На самом деле, все абсолютно логично - новых ребят, пусть и супер-толковых, всегда необходимо онбордить, естественно закладывать время на обучение от их коллег и постепенно погружать в документацию.
Да и вообще, написание кода - это лишь верхушка айсберга в продуктовой разработке.
😃 iOS Dev
7 880
Чёрная пятница для iOS Dev - в чём плюсы?
Читатели, которые поддерживают канал не только словом/комментарием или реакцией - это восхитительно, и бустит в буквальном смысле на создание новых полезных инструментов: приложения, бота, роадмапов, подборок, разборов.
Я всегда считаю, что не просто говорить, а делать всегда значит больше, чем просто строить воздушные замки. Лучше одна реализованная фича, чем невероятный проект на 5 лет, к кому никто так и не приступит.
Об этом и мой канал. О необычных вещах с простыми решениями, а ещё о том, что не всегда ИИ - это выход и спасательный круг. О критическом мышлении, сложных вопросах и многом другом.
Я пишу о том, что мне интересно. Делаю то, что мне нравится и не строю карточный домик из ложных тезисов, на которых базируется сейчас слишком многое.
А параллельно с этим по крупицам выстраиваю фундаментальную базу для изучения iOS (и делюсь личным опытом, который может пригодиться и в других направлениях).
Подготовка к собеседованиям: - Мок-собесы с публичным доступом (сейчас несколько десятков на русском и английском языках). - Вопросы для подготовки по секциям (сотни примеров на разные темы) - Частные узкие темы (с поиском проблем в коде). - System Design. Мои советы и большая подборка материалов. Алгоритмы: - Сложность алгоритмов. - Разбор десятков задач с контестов (в том числе и от яндекса). - Популярные методы решения задач (с примерами). Архитектуры: - Все паттерны проектирования банды четырёх. Общая информация и примеры реализации на Swift. - Архитектурные заблуждения. - Реализация в реальных приложениях. Необычные эффекты: В этом разделе я делюсь анимациями, подходами к созданию и десятками примеров. Инструментарий. Полезные советы при работе с Xcode, терминалом и симулятором. А помимо этого - у всех подписавшихся по умолчанию есть доступ к режиму собеседований в боте и к ранним версиям приложениям iOS IQ.И это только часть того, что есть уже сегодня. Подписаться можно на бусти и в телеграме ближайшие 2 недели с приятными условиями.
7 880
«Сбер» планирует сократить до 20% сотрудников, признанных неэффективными искусственным интеллектом
Первые результаты оптимизаций с помощью ИИ уже на поверхности, буквально в реальном времени пару дней назад прозвучал тезис в одном из крупнейших, если не самом крупном бигтехе СНГ в СНГ.
Греф пояснил, что оценка эффективности проводится с помощью мультиагентной системы. Сокращения планируется завершить к 1 января.Что думаете, если ИИ начнёт оценивать результаты вашего труда? У кого-то в компании эта схема уже применяется? Если да, то каким образом? Считается количество строк в пуллреквесте или количество тасок, передвинутых на доске? Что лично вы думаете о таких оптимизациях? 😃 iOS Dev
7 880
Адаптация гибридного проекта на SwiftUI+UIKit к Liquid Glass
📖 В этой статье описаны принятые решения по рефакторингу для Sheet/Navigation/Popover.
Помимо этого есть пример расчёта размеров для UIBarButtonItem и работа с CABackdropLayer, а также показано, как создать уникальный эффект стеклянного текста с помощью Core Text.
🛠 Все описанное доступно и в проекте на GitHub.
😃 iOS Dev
7 880
Kinetics - опенсорсная либа для эмуляции реальной физики в анимациях SwiftUI
Основана на Swift 6 (с соответствием требованиям параллелизма) и добавляет естественности взаимодействию пользователя с приложением.
🛠 Доступна на GitHub (есть демка).
По требованиям к проекту: iOS 15.0+ / macOS 12.0+ (и Swift 6.0+).
😃 iOS Dev
7 880
Лучшие доклады конференции Pragma Conf 2025
#Pragma Conference — международная конференция, полностью посвященная разработке приложений для iOS, macOS, watchOS, visionOS и tvOS. Она прошла всего пару недель назад, а доклады уже выложили, и там много интересного:
📺 Swift 6.2 и миграция приложения
Антуан делится тем, как параллелизм может решить ключевые проблемы разработчиков.
📺 The Attribute Graph: невидимая рука SwiftUI
Много деталей про систему, буквально лежащую в основе SwiftUI.
📺 Альтернативные маркетплейсы на iOS: интеграция и инновации
Тема, которая может пригодиться крупным игрокам рынка: рассмотрены вопросы настройки, этапы разработки, советы по тестированию и многое другое.
📺 Священный секрет скорости нашего приложения
Маттео Раттотти и Константин Ерохин делятся необычными способами, которые повысили производительность для всех пользователей.
📺 Радости и трудности незрячего программиста
Аркадиуш Свентницкий рассказывает о доступности с точки зрения разработчика. Этот доклад можно только слушать.
📖 Все доклады можно посмотреть здесь.
😃 iOS Dev
7 880
Как улучшить производительность SwiftUI-приложений
SwiftUI сильно упростил разработку интерфейсов, но c увеличением размера, кодовой базы и сколь-нибудь сложной логики начинаются проблемы (ха, на самом деле можно упереться в лаги даже при отображении буквально пары картинок).
Я уже делился огромной подборкой инструментов, советами инженеров Apple и многими неочевидными историями, как ускорить отклик вашего приложения. А также новыми доступными инструментами.
В новом большом разделе я постарался привести множество реальных моментов в коде SwiftUI, импакт от улучшения которых может быть очевиден на реальных проектах даже при небольших, точечных изменениях.
Ещё раз напомнил о флаге LogForEachSlowPath, примерах с async/await и без кэширования не обошлось.
Если вы делаете первые шаги в SwiftUI (или в целом хотите узнать немного больше), то подписывайтесь:
💰 На бусти и ⭐️ в телеграме.
А пока вы ещё не решились, рекомендую стартовать с этих сессий:
📺 Демистификация и устранение недочетов на этапе рендеринга
📺 Поиск проблем с анимацией пользовательского интерфейса
📺 Использование инструментов для поиска неполадок
🧠 Что вы получите, подписавшись сегодня: ➡️Разбор нескольких сотен вопросов на сложные темы ➡️Вопросы на чтение кода ➡️Многопоточность ➡️DispatchQueue: практические вопросы ➡️Swift Concurrency ➡️Алгоритмы: терминология и примеры ➡️Память: ARC, side table, флаги, утечки ➡️Множество анимаций, шейдеров и не только Подписаться можно на 💰 бусти и ⭐️ в телеграме.😃 iOS Dev
7 880
🚀 Прокачали автодополнение кода в Swift
Проект, представленный Ахмедом Эльрефаи в рамках Google Summer of Code, расширяет реализацию протокола языкового сервера (LSP) для языков Swift и C.
Теперь мы сможем видеть полную документацию, а не только краткое описание (и бонусом все аргументы, доступные для передачи при вызове методов).
VS Code, Neovim, IntelliJ IDEA, Vim (редакторы с поддержкой LSP) получат профит от этих улучшений, другие преимущества описаны тут.
📖 Эта работа уже вошла в проект SourceKit-LSP и будет включена в будущую версию тулчейна Swift.
😃 iOS Dev
7 880
Новая партнерская программа App Store Mini Apps
📖 Сегодня анонсировали партнёрку Mini Apps (созданных, например, на HTML5 и JavaScript).
Предлагают и сниженную комиссию в размере 15% от продаж соответствующих покупок в приложениях.
Правда, для получения этого бонуса разработчики должны использовать API Declared Age Range и API Advanced Commerce.
➡️ Полные требования, критерии получения доступа к программе и Q&A опубликованы здесь.
😃 iOS Dev
7 880
Как ИИ-слоп влияет лично на меня
Создание контента в эпоху бездумного копирования может и кажется со стороны глупой затеей, но я видел атакующие корабли, пылающие над Орионом множество примеров, когда более талантливые разработчики с крутым бэкграундом просто-напросто переставали чем-то делиться из-за того, что их код оборачивали и продавали в десятки раз дороже, а поделки выставляли как инновационные решения (вообще, если пойти шире, такое сплошь и рядом).
Все посты, которыми я делюсь - всегда сопровождаю ссылками, неважно - читатель ли нашего канала решил рассказать про GCD или кто-то из твиттера выложил кайфовое решение под новый год.
Но есть индивиды, неспособные написать три слова без ошибок, которые регулярно как шакалы рыщут по моему каналу в поисках постов, которые вызвали самый большой отклик.
Таким товарищам не хочется задавать никаких вопросов, только пожелать в будущем подключить хотя бы частично мозг, чтобы при прогоне через ИИ добавлять промпт: сделай также, но чтобы было незаметно, что контент чужой.
Я решил поделиться парой примеров, которые мне прислали некоторое время назад (и это только из каналов, в которых подписчиков более тысячи, хотя может и они искусственные).
Или как там, великие художники воруют?
Напомню, что всегда можно отличить знание от повторения, даже если будет использована самая дорогая подписка.
😃 iOS Dev
7 880
Новый раздел в Swift Tutorials от Apple: работа со SwiftData
Полезный набор туториалов пополнился ещё одним разделом, в котором можно познакомиться с понятным примером работы с данными и созданием кастомных вьюх для их отображения.
Показывают, как настроить проект, как добавить Photo Picker, создать контейнер данных, а ещё реализовать возможность сохранения/отмены изменений.
📖 Весь урок доступен здесь.
🛠 Стартовый проект для работы - вот тут.
😃 iOS Dev
7 880
Repost from VK Team
Мобильные разработчики, как насчёт запетлять на Mobius 😉
Если вы не успели взять билеты — не беда: мы разыгрываем две проходки на ивент, чтобы вы точно смогли посмотреть на наш стенд и послушать коллег 💙
Условия простые:
✅подпишитесь на каналы @vkjobs и @mobilehubvk
✅нажмите кнопку «Участвовать»
✅увеличьте свои шансы и пригласите друга — вместе веселее!
Информацию об организаторе, правилах и призах ищите здесь, а результаты конкурса мы подведём 14 ноября. Удачи!
Участников: 98
Призовых мест: 2
Дата розыгрыша: 16:00, 14.11.2025 MSK (2 дня)
