Prefire iOS – Telegram
Prefire iOS
968 subscribers
81 photos
6 videos
91 links
Чат/блог о современной 🍏iOS разработке

Пробустить канал → https://news.1rj.ru/str/prefire_ios?boost

Автор: @barredewe
Download Telegram
🧩 AnyLanguageModel: подключаем любую LLM к Apple Foundation Models API

Apple добавила Foundation Models в iOS 26 и macOS 26. Теперь можно напрямую вызывать on-device LLM через Swift с помощью LanguageModelSession, Tool, @Generable, Guided Generation и других инструментов.

Проблема в том, что API работает только с системной моделью Apple SLM примерно на 3 миллиарда параметров. Если хочешь использовать GPT-4, Claude или локальную Llama 3.2, то стандартный API не поможет.

AnyLanguageModel повторяет API Foundation Models и позволяет выбрать любой бэкенд: Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic.

Достаточно заменить import FoundationModels на import AnyLanguageModel, и код продолжит работать.

⚙️ Под капотом
• Полностью совместим с FoundationModels
• OS 17.0+ / macOS 14.0+ (В отличии от FoundationModels)
• Использует Swift 6.1 traits для подключения только нужных движков
• Поддерживает Tools, Guided Generation и Streaming
• Гибкий: работает локально, в облаке или в гибридной схеме

🧠 Apple Foundation Models
• Доступны на iOS, macOS и visionOS 26+
• Встроенная on-device модель (~3B), работает оффлайн
• Поддерживают Tool-вызовы, Guided Generation и адаптеры LoRA
• Адаптеры можно устанавливать как Background Assets

Apple SLM уступает моделям уровня GPT по мощности, но выигрывает в приватности и скорости отклика. Guided Generation делает модель точной при типизированных задачах, например со структурами или enum.

🧩 Примеры
• Локально через Ollama: llama3.2, phi4, gemma2
• Через MLX на M-чипах: mlx-community/Qwen3-0.6B
• В облаке: OpenAI, Anthropic

🔗 Полезное
• GitHub: mattt/AnyLanguageModel
• Apple Docs: Foundation Models Guide
🔥9👍432
TOON вместо JSON: когда стоит, а когда нет

Token-Oriented Object Notation (TOON) - новый формат сериализации, который придумали в Duolingo, чтобы тратить меньше токенов при работе с LLM.
Грубо говоря - JSON на диете: без кавычек, без повторяющихся ключей, но со структурой.

Обычный JSON:
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"}
]
}

А вот TOON:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user

Ключи не повторяются, кавычек меньше, выглядит почти как CSV, только с мозгами.
Результат тот же, а токенов уходит в два-три раза меньше.

Когда TOON реально помогает
• Когда вы шлёте модели большие массивы однотипных данных
• Когда важно влезть в контекст или сократить стоимость
• Когда структура простая и не меняется

Когда лучше остаться на JSON
• В REST API и между сервисами - JSON всё ещё стандарт
• Когда данные сложные и вложенные
• Когда важна совместимость и схема

Что по цифрам
На плоских структурах экономия 30–60% токенов.
На вложенных почти нулевая экономия, иногда даже наоборот.

Итог
TOON - не замена JSON, а инструмент для LLM.
Если часто кормите модель большими таблицами - TOON даст экономию.
Если нет - JSON вас и дальше не подведёт.

PS: Бибилиотеки на swift еще нет, самое время залететь в open source и сделать Свифтун (SwiftToon)
1👍15🔥8🤝1
Наткнулся на статью The Year SwiftUI Died”.

Заголовок громкий, но мысль внутри любопытная.

Автор говорит, что 2025 стал моментом, когда SwiftUI перестал быть очевидным выбором.
Причины: Apple внезапно оживила UIKit, завезла удобный @Observable и другие фишки, причём они работают даже на старых iOS. Плюс ИИ теперь легко генерирует болванки под UIKit, снимая главный барьер входа.

Основные тейки:
• UIKit снова выглядит современно
• ИИ убирает боль шаблонного кода
• В основе SwiftUI слишком много магии, что бьёт по производительности
• Для крупных проектов UIKit может быть практичнее

Частично согласен, но “SwiftUI умер” звучит как драма. Он никуда не делся, просто перестал быть самым очевидным путём. Сейчас это вопрос выбора, а не похорон 💀

А что вы думаете? Используете ещё UIKit?
1👍14🔥63
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop ❄️

На днях откопал свой старый проект на Metal - снегопад для рабочего стола. Запустил, посмотрел в профайлер и схватился за голову.

Раньше я не смог освоить просчет логики на GPU 😬: вся математика считалась на CPU. Процессор в каждом кадре пересчитывал координаты тысяч частиц, удалял упавшие, создавал новые (привет, сборщик мусора) и каждый раз перегонял этот массив данных на видеокарту. Естественно, на большом количестве снежинок всё начинало захлебываться.

😊 Решил сегодня переписать.

Самое главное - убрал все просчеты с CPU. Перенес всю физику в Compute Shaders. Теперь процессор вообще не трогает частицы, он просто говорит видеокарте:
Прошло 0.016 секунды, обнови кадр


Как это работает внутри:
- Один буфер на старте. Вместо того чтобы постоянно создавать и убивать объекты, я один раз выделяю память под массив снежинок.
- Ресайкл. Когда снежинка улетает за нижнюю границу экрана, шейдер просто телепортирует её наверх с новыми параметрами. Никаких аллокаций памяти в рантайме.
- Параллелизм. Тысячи ядер GPU обновляют позиции снежинок одновременно, а не по очереди, как это делал CPU.

Результат забавный: ради интереса выкрутил счетчик до миллиона снежинок. Экран стал просто белым, но 60 FPS держатся стабильно.

В коде еще перенес на GPU мелочи вроде огибания курсора мыши и таяния снега на границах окон.

👉 Приложение open source и его код можно посмотреть в репозитории а скачать приложение прямо по ссылке

PS: Прямо сейчас приложение в ревью у Apple.
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥32124🎄3👏2
This media is not supported in your browser
VIEW IN TELEGRAM
❄️ Snowflakes Desktop - снегопад на твоем Mac

Создай новогоднюю атмосферу на рабочем столе одним кликом. Легкое, нативное приложение, которое не нагружает систему.

Что умеет:

Реалистичная физика: Снежинки плавно падают поверх всех окон (или только на обоях).
🎨 Кастомизация: Настраивай количество снега, скорость и размер хлопьев под свое настроение.
🚀 Performance-friendly: Написано с использованием Metal. Ноль лагов, минимальное влияние на батарею.
🖥 Multi-display: Поддержка нескольких мониторов.

Это отличный способ добавить уюта во время работы или вечернего просмотра фильмов.


🌐 Скачать с сайта: Snowfall Desktop
🍏 Скачать с App Store: Snowfall Desktop
🐙 Скачать с GitHub: ZIP
2🔥1655🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
Snowflakes Desktop наконец-то в App Store! ❄️

Без долгих предысторий: просто захотелось снега на рабочий стол, написал, залил.
Но самое интересное было на этапе ревью.

Первый билд Apple реджекнули.
Причина убила 🍴

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

Пришлось немного поправить описание, чтобы не смущать Купертино своей “нативностью”. Считаю, это успех 😂

Пока ждал аппрув, навайбкодил еще и лендинг - там тоже идет снег, можно зайти просто залипнуть (рекомендую заглянуть туда).

PS: Зацените какую анимацию apple делает, когда выкладываешь новое приложение в AppStore

Все ссылки и инфо - в предыдущем посте 👆
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥19❤‍🔥52🎄2👍1
Захотел сделать «жидкое стекло» как в iOS 26, но для iOS 14

Ожидание: Напишу шейдер, всё заработает
Реальность: Шейдер работает, но iOS не даёт нормально захватить фон

Оказалось, что Apple использует приватный CABackdropLayer с прямым доступом к буферу композитора. А нам приходится гонять данные по кругу GPU → CPU → GPU 🔄

Результат: визуально 1-в-1 как нативный эффект, но производительность страдает.

Разобрал все проблемы в статье на Хабре 👇
👉 Статья
💻 Open-source библиотека
🔥30👍10🎄31
Итоги 2025 года в разработке и Prefire

В целом ничего кардинально не поменялось. LLM все еще далеки от prod-ready решений. Swift развивается со стороны многопоточности.

Из моих проектов - Prefire почти набрал 500 звездочек и обзавелся поддержкой многих новых функций за счет вас (именно вы делали PullRequests 🔥).

Наверное самое необычное для меня - моя статья про Max мессенджер, которая разошлась прям очень сильно. Делал упор на фреймворки, технологии и тд. А в комментах все равно все обсуждали только то, как мессенджеры якобы там за всеми следит (ну что ж 😂).

Под конец года погрузился в Metal - вышла статья про LiquidGlass и еще вышло милое приложение с интерактивными снежинками ❄️.

Про ScreenCat тоже не забыл, но все еще не могу сделать так, чтобы он мне самому понравился. Иногда залетаю туда на пару часов - недавно обновил на новую версию llama.cpp с новым API, и котик стал быстрее отвечать 💪.

Всех с наступающим или наступившим Новым годом! Желаю стабильности в работе, хорошей зарплаты, классных проектов и больше времени на себя. Не забывайте про отличное от разработки хобби (мне очень зашли силовые тренировки).
🔥136🎄6
IT индустрия Всё? 😮

Я часто смотрю рынок вакансий (как лиду, по работе): iOS, Android, frontend, backend.
И в целом это дало мне понять, где мы находимся как индустрия.

Наблюдение простое: по зарплатам в классической разработке рынок встал.

Если смотреть на цифры, а не ощущения:
- Хабр Карьера (2024–2025): senior - в среднем 220–320к, лиды - 350–500к, выше - уже редкость; рост год к году ~5–7%, ниже инфляции
- Selecty прямо пишет о замедлении роста компенсаций и фокусе компаний на оптимизацию, а не на расширение штата
- Работа.ру + Сбераналитика: средняя зарплата IT-специалиста - около 146к, что хорошо показывает реальную «середину» рынка

Как это выглядит из найма
• senior в обычном продукте - 250–400к,
• lead / tech lead - 400–600к+, и это скорее потолок,
• по сравнению с 2021–2022 реального роста почти нет, если учитывать инфляцию.

На этом фоне зацепил один приземлённый факт.

Во «Вкусно и точка» - указывают доходы ~170к в месяц.
Без IT, без продакшена и архитектурной ответственности.

Разрыв между сложной инженерной работой и не-IT профессиями по доходу стал заметно меньше.

Другая часть рынка - AI

• LLM, ML-infra, Prompts
• CUDA / Triton / inference optimization

Там совсем другие цифры.
По реальным вакансиям и офферам AI-лиды - это 1 млн+, иногда существенно выше. И судя по всему это из-за дефицита и прямого влияния на деньги бизнеса.

Международные данные это подтверждают: AI-лиды и staff-инженеры получают кратно больше обычных software engineers

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

Как вы это видите?
Временная пауза или новая реальность для IT?
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔5👍3🤡2
This media is not supported in your browser
VIEW IN TELEGRAM
Попробовал Opencode

После Codex, Claude, Gemini и Continue ощущается как шаг вперёд — именно по качеству взаимодействия.
(Хотя, кажется, сейчас Claude Code уже умеет всё то же, но в момент моего тестирования - не умел)

Самое классное, это как он начинает диалог. Пишешь простой, даже ленивый запрос, а модель сама раскладывает его на точные параметры: что именно ты хочешь, какие ограничения есть, какие варианты возможны. А дальше просто выбираешь из предложенного. Честно, ощущается как RPG-игра: выбираешь реплику в диалоге 😎

Это сильно экономит токены/нервы. Меньше итераций «нет, не так», меньше переписывания, больше контроля над результатом.

Из минусов - пока слабовато с локальными моделями. Пробовал Ollama с Qwen 3 coder и GLM 4.7: ответы иногда обрываются, туллинг работает нестабильно, видно, что модель хочет вызвать инструмент, но система это не ловит. Тут явно ещё нужно дорабатывать.

В остальном впечатление очень сильное. Подход взрослый, архитектура — продуманная. И главное — это open source. А ещё работает локально. Всё это делает Opencode отличным кандидатом для корпоративного использования: подключаешь локальную модель - и спокойно работаешь, без лишних вопросов про безопасность и утечки.

Небольшая вставка про Apple Intelligence: вообще не понял, как они выкатили настолько «сырое» решение. В Xcode нет тулинга, нет понимания проекта — бесполезная вещь на данный момент.


Короче, инструмент реально крутой. Если подтянут поддержку локальных моделей и доработают туллинг, Opencode может стать одним из самых удобных решений для ежедневной разработки. Пока использую его как основной.
1🔥2033