Apple Dev таймлайн - список всех изменений на WWDC
Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года.
➡️ Посмотреть можно здесь
📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой.
😃 iOS Dev
Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года.
📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 23🔥10✍8👍4 2👏1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация анимации Tap to Cash и эффекта Таноса (SpriteKit + CoreMotion + SwiftUI)
Приятные анимации и флоу взаимодействия для пользователя часто будут решающим фактором при выборе вашего приложения среди прочих.
Например, одна из самых кайфовых анимаций прошлой оси - это tap to cash.
Её можно реализовать и на Metal, и на SpriteKit.
В этот раз решил пойти вторым путём. Для этого можно юзать эффект турбулентности с помощью turbulenceField. В отличие от аналогичного с шумом наша сила будет пропорциональна скорости объекта внутри нашего поля.
Для того, чтобы создать эффект завихрения можно юзать любую интервальную функцию (в своём решении я запилил несложный аналог осциллограммы через
Для оптимизации распадающихся цифр (вообще тут тоже можно юзать любое вью/картинку и так далее) можно чекнуть массив пикселей (пригодится CGContext, можно почитать тут) из нашей картинки с определённым шагом для производительности (если идти по каждому, можно словить нефиговые лаги) и использовал эти позиции для формирования наших частиц. А на фоне просто-напросто дополнительный SKEmitterNode.
Ещё прикрутил реакцию на наклон девайса из стороны в сторону и вверх-вниз для небольшого эффекта смещения.
📖 А для трансформа кнопок добавил немного фич из новой 26 оси (в этом посте писал подробнее).
Весь код и рабочий пример по традиции уже доступен в закрытой базе:
Можно подписаться в⭐️ в телеграме или 💰 с приятными условиями на бусти.
😃 iOS Dev
Приятные анимации и флоу взаимодействия для пользователя часто будут решающим фактором при выборе вашего приложения среди прочих.
Например, одна из самых кайфовых анимаций прошлой оси - это tap to cash.
Её можно реализовать и на Metal, и на SpriteKit.
В этот раз решил пойти вторым путём. Для этого можно юзать эффект турбулентности с помощью turbulenceField. В отличие от аналогичного с шумом наша сила будет пропорциональна скорости объекта внутри нашего поля.
Для того, чтобы создать эффект завихрения можно юзать любую интервальную функцию (в своём решении я запилил несложный аналог осциллограммы через
sin(currentTime * EmitterConstants.oscillationMultiplier).Для оптимизации распадающихся цифр (вообще тут тоже можно юзать любое вью/картинку и так далее) можно чекнуть массив пикселей (пригодится CGContext, можно почитать тут) из нашей картинки с определённым шагом для производительности (если идти по каждому, можно словить нефиговые лаги) и использовал эти позиции для формирования наших частиц. А на фоне просто-напросто дополнительный SKEmitterNode.
Ещё прикрутил реакцию на наклон девайса из стороны в сторону и вверх-вниз для небольшого эффекта смещения.
📖 А для трансформа кнопок добавил немного фич из новой 26 оси (в этом посте писал подробнее).
Весь код и рабочий пример по традиции уже доступен в закрытой базе:
Можно подписаться в
🧠 Что вы получите уже сейчас:➡️ Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)➡️ Вопросы на чтение кода (несколько уровней: простых, посложнее)➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)➡️ Память: ARC, side table, флаги, утечки➡️ Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS➡️ Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)➡️ Утечки памяти в Swift: что с ними делать, как предотвратить?➡️ Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥39 10🤯8 4⚡2👍2🤩1
🚀 Роадмап по принципу работы тайп-чекера и планов на его улучшение в Swift
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
Слава прошёлся и разложил по полочкам несколько важных разделов:
➡️ Про перегрузку (какие вообще варики допускает Swift)
➡️ Решение ограничений (как вообще это реализуется компилятором)
➡️ Алгоритмическая сложность
➡️ Что вообще значит reasonable time
➡️ Недопустимые выражения, режим восстановления и диагностика
➡️ Цели (и не только они)
➡️ Что уже улучшили в Swift 6.2
➡️ А что планируется в Swift 6.3
➡️ Будущие улучшения (про оптимизацию биндингов, удаление хаков производительности и многое другое)
➡️ Планы на будущее
😃 iOS Dev
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
the compiler is unable to type-check this expression in reasonable time (тут можно чекнуть пару подходов).Слава прошёлся и разложил по полочкам несколько важных разделов:
Please open Telegram to view this post
VIEW IN TELEGRAM
7 15🔥7✍6💯4👍3 2❤🔥1👏1
Доклады с конференции Swift Connection 2025
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
➡️ Большая подборка докладов с других конференций в этом посте.
😃 iOS Dev
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 16 7🔥6✍4👍3❤🔥2💯2👏1
Интеграция функциональности камеры в SwiftUI
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
😃 iOS Dev
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
CameraManager, CameraPreview (для бриджа превью-слоя AVFoundation в SwiftUI через UIViewRepresentable), CameraView - для взаимодействия с камерой и PhotoView (для фотогалереи).В комментариях ниже указали на недостатки этого примера.
И справедливое уточнение, что у Apple также есть хороший пример настройки в официальной документации (кстати, они там показывают пример использования и LockedCameraCapture).
Please open Telegram to view this post
VIEW IN TELEGRAM
8 15👍7🔥5❤🔥3 2✍1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой анонс на счёт приложения iOS IQ
Я опросил несколько человек на счёт того, что они думают на счёт автогенерации вопросов в будущем - и, конечно же, мнения разделились.
Много плюсов, среди которых буквально абсолютный рандом, возможность генерации вопросов на любые темы и в целом возможность отдать управление сложностью алгоритмам эпла.
Среди минусов: та же непредсказуемость валидности исходных вопросов, совершенно неочевидно, насколько правильным является ответ и, например - насколько он вообще корректен.
Несмотря на это, я все-таки поэкспериментировал вчера с Foundation Models - и думаю, что в каком-то виде (отдельном, с пометкой про AI и то, что вопросы сгенерированы) этот раздел появится.
Небольшая демка уже есть на гифке.
Если вы хотите получить доступ к ранним версиям в тестфлайте, подпишитесь в⭐️ в телеграме или 💰 на бусти.
Любые идеи и обратная связь приветствуются, например - какой режим лично вы бы хотели увидеть - напишите в сообщения канала или мне в лс.
🛠 Кстати, недавно появился полезный SPM в качестве замены системному, в котором можно юзать любой кастомный провайдер моделей.
😃 iOS Dev
Я опросил несколько человек на счёт того, что они думают на счёт автогенерации вопросов в будущем - и, конечно же, мнения разделились.
Много плюсов, среди которых буквально абсолютный рандом, возможность генерации вопросов на любые темы и в целом возможность отдать управление сложностью алгоритмам эпла.
Среди минусов: та же непредсказуемость валидности исходных вопросов, совершенно неочевидно, насколько правильным является ответ и, например - насколько он вообще корректен.
Несмотря на это, я все-таки поэкспериментировал вчера с Foundation Models - и думаю, что в каком-то виде (отдельном, с пометкой про AI и то, что вопросы сгенерированы) этот раздел появится.
Небольшая демка уже есть на гифке.
Если вы хотите получить доступ к ранним версиям в тестфлайте, подпишитесь в
Любые идеи и обратная связь приветствуются, например - какой режим лично вы бы хотели увидеть - напишите в сообщения канала или мне в лс.
Напомню, что в ноушне есть множество тем, которые я создавал вручную и это не изменится в будущем: лучше я потрачу несколько часов, но буду уверен в корректности.
🛠 Кстати, недавно появился полезный SPM в качестве замены системному, в котором можно юзать любой кастомный провайдер моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
21 14🔥8❤🔥5🍓4😎2👍1🏆1🤝1
Вышло новое интервью с Крисом Латтнером - от Swift до Mojo
Мне понравился момент, когда он сказал буквально следующее:
Поэтому он создал свой язык программирования!
💪 Вот это я понимаю кардинальное решение проблемы. Красиво, Крис, вопросов нет.
📺 Вообще в интервью много интересных моментов:
➡️ Про компиляторы в начале 2000
➡️ Почему Крис создал LLVM
➡️ Процесс создания языка программирования
➡️ Swift Playgrounds - как программирование стало более доступным
➡️ Какие проблемы решил Swift и какой технический долг появился
➡️ Недостатки компилятора
➡️ Что можно почерпнуть из изучения компиляторов
📺 А прошлое интервью можно посмотреть здесь.
😃 iOS Dev
Мне понравился момент, когда он сказал буквально следующее:
До Swift я пытался создавать свои пет-проекты на Objective-C, но меня раздражали квадратные скобки и было трудно разобраться с указателями и крашами. Мне даже казалось, что я недостаточно хорош для создания приложений.
Поэтому он создал свой язык программирования!
📺 А прошлое интервью можно посмотреть здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 24❤🔥10👍7 5🔥3🤩3🍓2✍1💯1🫡1
Что нового в Swift - новый раздел на swift.org
На сайте вышел первый ежемесячный дайджест, в котором рассказывается не только о новостях Swift, но также приводятся мнения и точки зрения представителей всего, что так или иначе связано с экосистемой.
В октябрьском выпуске освещаются основные моменты конференции Server Side Swift, выпуск основных пакетов и последние пропозалы Swift Evolution.
Например, там есть ссылка на интересный доклад Бена Коэна:
📺 Юзабилити и производительность в Swift
Бен рассказал о том, как развивается язык и как именно он позволяет достичь максимальной производительности при всех тех изменениях, что происходят.
Затронули и InlineArray и Span, и многое другое.
📖 Целиком дайджест можно почитать здесь.
😃 iOS Dev
На сайте вышел первый ежемесячный дайджест, в котором рассказывается не только о новостях Swift, но также приводятся мнения и точки зрения представителей всего, что так или иначе связано с экосистемой.
В октябрьском выпуске освещаются основные моменты конференции Server Side Swift, выпуск основных пакетов и последние пропозалы Swift Evolution.
Например, там есть ссылка на интересный доклад Бена Коэна:
📺 Юзабилити и производительность в Swift
Бен рассказал о том, как развивается язык и как именно он позволяет достичь максимальной производительности при всех тех изменениях, что происходят.
Затронули и InlineArray и Span, и многое другое.
📖 Целиком дайджест можно почитать здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
9 13👍8🔥6✍3👏3 2
Кстати, вышел Pluribus - визионерское высказывание Винса Гиллигана, автора шикарных сериалов «Во все тяжкие» и «Лучше звоните Солу».
Преамбула сериала заключается в том, что весь мир буквально охвачен счастьем, но главная героиня видит в этом огромную опасность для человечества - это не спойлер, лишь теглайн с imdb/кинопоиска.
Хотя главная мысль куда шире и диапазон смыслов подобно лавине накатывает ещё в первой серии.
Невозможно не заметить отклик и со стерильными, отточенными движениями каждого из персонажей, которые перекликаются в том числе даже с сессиями WWDC, по крайней мере такая аналогия возникла во время просмотра (ах да, Apple и выступает в качестве платформы стриминга по дефолту).
К слову, ещё здесь персонажи соглашаются со всем подобно ИИ-агентам, которые так и наровят сообщить герою: «Да, вы абсолютно правы,съешь ещё этих мягких французских булок, да выпей чаю».
В отличие от паразитирующих, повторяющихся клише в каждом из комиксоподобных однотипных поделок, которыми как из рога изобилия посыпали кинотеатры зрителей за скромную плату последние пятнадцать лет, прописанный характер главной героини не стремится понравиться зрителю - у неё свои скелеты в шкафу и свои демоны, которые ведут к неожиданным последствиям.
В Pluribus содержится и то, что можно увидеть в течение первых пятнадцати минут. Это латинское слово, означающее из многих. Но ещё это часть более широкой фразы: из многих - единое. И почему это так - можно узнать, посмотрев Pluribus.
Думаю, что мысли про параллели с ИИ возникнут у многих, вопрос лишь в том - опыт какого из персонажей окажется ближе лично вам.
😃 iOS Dev
Преамбула сериала заключается в том, что весь мир буквально охвачен счастьем, но главная героиня видит в этом огромную опасность для человечества - это не спойлер, лишь теглайн с imdb/кинопоиска.
Хотя главная мысль куда шире и диапазон смыслов подобно лавине накатывает ещё в первой серии.
Невозможно не заметить отклик и со стерильными, отточенными движениями каждого из персонажей, которые перекликаются в том числе даже с сессиями WWDC, по крайней мере такая аналогия возникла во время просмотра (ах да, Apple и выступает в качестве платформы стриминга по дефолту).
К слову, ещё здесь персонажи соглашаются со всем подобно ИИ-агентам, которые так и наровят сообщить герою: «Да, вы абсолютно правы,
В отличие от паразитирующих, повторяющихся клише в каждом из комиксоподобных однотипных поделок, которыми как из рога изобилия посыпали кинотеатры зрителей за скромную плату последние пятнадцать лет, прописанный характер главной героини не стремится понравиться зрителю - у неё свои скелеты в шкафу и свои демоны, которые ведут к неожиданным последствиям.
В Pluribus содержится и то, что можно увидеть в течение первых пятнадцати минут. Это латинское слово, означающее из многих. Но ещё это часть более широкой фразы: из многих - единое. И почему это так - можно узнать, посмотрев Pluribus.
Думаю, что мысли про параллели с ИИ возникнут у многих, вопрос лишь в том - опыт какого из персонажей окажется ближе лично вам.
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤🔥22 8🔥7💯3 2⚡1👍1🫡1
Советы по оптимизации скорости и производительности приложений от Apple
📺 Опубликовали видео с прошедшей онлайн-сессии Apple, на которой рассказали о нескольких подходах к работе и с Liquid-дизайном, и о том, как использовать некоторые из доступных нам инструментов.
🕔 Про оптимизацию энергопотребления при использовании нового дизайна
🕜 Генерация быстрых ответов с использованием Foundation Models
Это мне пригодится.
🕢 Глубокое погружение в перфоманс SwiftUI
🕗 Инструменты производительности в Snap
😃 iOS Dev
📺 Опубликовали видео с прошедшей онлайн-сессии Apple, на которой рассказали о нескольких подходах к работе и с Liquid-дизайном, и о том, как использовать некоторые из доступных нам инструментов.
🕔 Про оптимизацию энергопотребления при использовании нового дизайна
🕜 Генерация быстрых ответов с использованием Foundation Models
Это мне пригодится.
🕢 Глубокое погружение в перфоманс SwiftUI
🕗 Инструменты производительности в Snap
Please open Telegram to view this post
VIEW IN TELEGRAM
9 11❤🔥6👍4👏4🔥1💯1 1