iOS Dev
7.87K subscribers
1.07K photos
107 videos
1 file
1.27K links
👨‍💻Автор: Виктор Грушевский (@Viktorianec)

⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru

🍏Канал об iOS-разработке, алгоритмах и архитектурах

⭐️ Подготовка к собесам

⭐️ Код. Много кода.

#ios #mobile #swift
Download Telegram
Как ИИ-слоп влияет лично на меня

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

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

Но есть индивиды, неспособные написать три слова без ошибок, которые регулярно как шакалы рыщут по моему каналу в поисках постов, которые вызвали самый большой отклик.

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

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

Или как там, великие художники воруют?

Напомню, что всегда можно отличить знание от повторения, даже если будет использована самая дорогая подписка.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
51❤‍🔥17👍10🔥8🍓431
Новая партнерская программа App Store Mini Apps

📖 Сегодня анонсировали партнёрку Mini Apps (созданных, например, на HTML5 и JavaScript).

Предлагают и сниженную комиссию в размере 15% от продаж соответствующих покупок в приложениях.

Правда, для получения этого бонуса разработчики должны использовать API Declared Age Range и API Advanced Commerce.

➡️ Полные требования, критерии получения доступа к программе и Q&A опубликованы здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
696🔥5❤‍🔥22👍1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Прокачали автодополнение кода в Swift

Проект, представленный Ахмедом Эльрефаи в рамках Google Summer of Code, расширяет реализацию протокола языкового сервера (LSP) для языков Swift и C.

Теперь мы сможем видеть полную документацию, а не только краткое описание (и бонусом все аргументы, доступные для передачи при вызове методов).

VS Code, Neovim, IntelliJ IDEA, Vim (редакторы с поддержкой LSP) получат профит от этих улучшений, другие преимущества описаны тут.

📖 Эта работа уже вошла в проект SourceKit-LSP и будет включена в будущую версию тулчейна Swift.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
922🔥20👍831👏1💯1
Как улучшить производительность SwiftUI-приложений

SwiftUI сильно упростил разработку интерфейсов, но c увеличением размера, кодовой базы и сколь-нибудь сложной логики начинаются проблемы (ха, на самом деле можно упереться в лаги даже при отображении буквально пары картинок).

Я уже делился огромной подборкой инструментов, советами инженеров Apple и многими неочевидными историями, как ускорить отклик вашего приложения. А также новыми доступными инструментами.

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

Ещё раз напомнил о флаге LogForEachSlowPath, примерах с async/await и без кэширования не обошлось.

Если вы делаете первые шаги в SwiftUI (или в целом хотите узнать немного больше), то подписывайтесь:

💰 На бусти и ⭐️ в телеграме.

А пока вы ещё не решились, рекомендую стартовать с этих сессий:

📺 Демистификация и устранение недочетов на этапе рендеринга

📺 Поиск проблем с анимацией пользовательского интерфейса

📺 Использование инструментов для поиска неполадок

🧠 Что вы получите, подписавшись сегодня:
➡️Разбор нескольких сотен вопросов на сложные темы
➡️Вопросы на чтение кода
➡️Многопоточность
➡️DispatchQueue: практические вопросы
➡️Swift Concurrency
➡️Алгоритмы: терминология и примеры
➡️Память: ARC, side table, флаги, утечки
➡️Множество анимаций, шейдеров и не только
Подписаться можно на 💰 бусти и ⭐️ в телеграме.


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
912🔥7🏆42👍2🆒22
Лучшие доклады конференции Pragma Conf 2025

#Pragma Conference — международная конференция, полностью посвященная разработке приложений для iOS, macOS, watchOS, visionOS и tvOS. Она прошла всего пару недель назад, а доклады уже выложили, и там много интересного:

📺 Swift 6.2 и миграция приложения
Антуан делится тем, как параллелизм может решить ключевые проблемы разработчиков.

📺 The Attribute Graph: невидимая рука SwiftUI
Много деталей про систему, буквально лежащую в основе SwiftUI.

📺 Альтернативные маркетплейсы на iOS: интеграция и инновации
Тема, которая может пригодиться крупным игрокам рынка: рассмотрены вопросы настройки, этапы разработки, советы по тестированию и многое другое.

📺 Священный секрет скорости нашего приложения
Маттео Раттотти и Константин Ерохин делятся необычными способами, которые повысили производительность для всех пользователей.

📺 Радости и трудности незрячего программиста
Аркадиуш Свентницкий рассказывает о доступности с точки зрения разработчика. Этот доклад можно только слушать.

📖 Все доклады можно посмотреть здесь.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
714🔥7👍43🤩1💯1🏆1
Нужно ли высшее образование разработчику в 2025 году?
Anonymous Poll
47%
Да
53%
Нет
59❤‍🔥6🔥4💯42👍2🍓221
This media is not supported in your browser
VIEW IN TELEGRAM
Kinetics - опенсорсная либа для эмуляции реальной физики в анимациях SwiftUI

Основана на Swift 6 (с соответствием требованиям параллелизма) и добавляет естественности взаимодействию пользователя с приложением.

🛠 Доступна на GitHub (есть демка).

По требованиям к проекту: iOS 15.0+ / macOS 12.0+ (и Swift 6.0+).

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
824🔥9❤‍🔥8🎉621👍1
Адаптация гибридного проекта на SwiftUI+UIKit к Liquid Glass

📖 В этой статье описаны принятые решения по рефакторингу для Sheet/Navigation/Popover.

Помимо этого есть пример расчёта размеров для UIBarButtonItem и работа с CABackdropLayer, а также показано, как создать уникальный эффект стеклянного текста с помощью Core Text.

🛠 Все описанное доступно и в проекте на GitHub.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
61311❤‍🔥4💯22👍1🔥1
«Сбер» планирует сократить до 20% сотрудников, признанных неэффективными искусственным интеллектом

Первые результаты оптимизаций с помощью ИИ уже на поверхности, буквально в реальном времени пару дней назад прозвучал тезис в одном из крупнейших, если не самом крупном бигтехе в СНГ.

Греф пояснил, что оценка эффективности проводится с помощью мультиагентной системы. Сокращения планируется завершить к 1 января.


Что думаете, если ИИ начнёт оценивать результаты вашего труда?

У кого-то в компании эта схема уже применяется? Если да, то каким образом?

Считается количество строк в пуллреквесте или количество тасок, передвинутых на доске?

Что лично вы думаете о таких оптимизациях?

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7🤯44🔥6👍5🍓422❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Чёрная пятница для iOS Dev - в чём плюсы?

Читатели, которые поддерживают канал не только словом/комментарием или реакцией - это восхитительно, и бустит в буквальном смысле на создание новых полезных инструментов: приложения, бота, роадмапов, подборок, разборов.

Я всегда считаю, что не просто говорить, а делать всегда значит больше, чем просто строить воздушные замки. Лучше одна реализованная фича, чем невероятный проект на 5 лет, к кому никто так и не приступит.

Об этом и мой канал. О необычных вещах с простыми решениями, а ещё о том, что не всегда ИИ - это выход и спасательный круг. О критическом мышлении, сложных вопросах и многом другом.

Я пишу о том, что мне интересно. Делаю то, что мне нравится и не строю карточный домик из ложных тезисов, на которых базируется сейчас слишком многое.

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

Подготовка к собеседованиям:
- Мок-собесы с публичным доступом (сейчас несколько десятков на русском и английском языках).
- Вопросы для подготовки по секциям (сотни примеров на разные темы)
- Частные узкие темы (с поиском проблем в коде).
- System Design. Мои советы и большая подборка материалов.

Алгоритмы:
- Сложность алгоритмов.
- Разбор десятков задач с контестов (в том числе и от яндекса).
- Популярные методы решения задач (с примерами).

Архитектуры:
- Все паттерны проектирования банды четырёх. Общая информация и примеры реализации на Swift.
- Архитектурные заблуждения.
- Реализация в реальных приложениях.

Необычные эффекты:
В этом разделе я делюсь анимациями, подходами к созданию и десятками примеров.

Инструментарий. Полезные советы при работе с Xcode, терминалом и симулятором.

А помимо этого - у всех подписавшихся по умолчанию есть доступ к режиму собеседований в боте и к ранним версиям приложениям iOS IQ.

И это только часть того, что есть уже сегодня.

Подписаться можно на бусти и в телеграме ближайшие 2 недели с приятными условиями.
612🔥106👏2👍1🎉1
Многозадачность и управление приоритетами

На моей практике не сосчитать случаев, когда появлялись задачи с высшим уровнем приоритета, которыми нужно заменить часть текущих, а при тестировании появлялись корнер-кейсы, о которых догадаться просто-напросто невозможно.

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

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

Вот только утверждение, что Цезарь делал несколько дел одновременно - все-таки миф, на самом деле речь шла о быстром переключении задач.

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

Поэтому рациональное желание сделать быстрее/лучше при увеличении допустимого пула задач вполне вероятно приведет к увеличению сроков.

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

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

Часто вышестоящие менеджеры могут забывать о законе Брукса, стремясь увеличить производительность команд с помощью расширения количественного состава:

«Если проект не укладывается в сроки, то добавление рабочей силы задержит его ещё больше».

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

Да и вообще, написание кода - это лишь верхушка айсберга в продуктовой разработке.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
998❤‍🔥432👍1🔥1👌1💯1