Android Studio Rabbit 2: больше ИИ (агентов)
Google выпустил Android Studio Rabbit 2 в стабильном канале, и главное изменение — Android Studio теперь фактически превращается в универсальную оболочку для разных кодинг агентов, а не только для Gemini.
Статья: https://apptractor.ru/info/articles/android-studio-rabbit-2-bolshe-ii-agentov.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Google выпустил Android Studio Rabbit 2 в стабильном канале, и главное изменение — Android Studio теперь фактически превращается в универсальную оболочку для разных кодинг агентов, а не только для Gemini.
Статья: https://apptractor.ru/info/articles/android-studio-rabbit-2-bolshe-ii-agentov.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
KassiOS: слой в стиле Kaspresso поверх XCUITest, проверенный на сломанном банке
Я пришёл в нативное iOS-тестирование из Appium, и простой логин на XCUITest раз за разом обрастал waitForExistence, ретраями и самописными хелперами. Так появился KassiOS — слой в стиле Kaspresso поверх XCUITest: тап с общим бюджетом ожидания, который не повторяется после отправки, перечитывание поля после ввода, понятные сообщения о падениях, параметризованные тесты.
Чтобы проверить, ловят ли тесты баги, я прогнал их против ChaosBank — приложения с включаемыми дефектами — и написал утилиту, которая включает дефекты по одному и показывает, какой из них прошёл незамеченным. Рассказываю, что из этого вышло, какие баги нашлись в самом фреймворке и кому он подойдёт, а кому нет.
Статья: https://habr.com/ru/articles/1100796/
Платформа: iOS/тестирование
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Я пришёл в нативное iOS-тестирование из Appium, и простой логин на XCUITest раз за разом обрастал waitForExistence, ретраями и самописными хелперами. Так появился KassiOS — слой в стиле Kaspresso поверх XCUITest: тап с общим бюджетом ожидания, который не повторяется после отправки, перечитывание поля после ввода, понятные сообщения о падениях, параметризованные тесты.
Чтобы проверить, ловят ли тесты баги, я прогнал их против ChaosBank — приложения с включаемыми дефектами — и написал утилиту, которая включает дефекты по одному и показывает, какой из них прошёл незамеченным. Рассказываю, что из этого вышло, какие баги нашлись в самом фреймворке и кому он подойдёт, а кому нет.
Статья: https://habr.com/ru/articles/1100796/
Платформа: iOS/тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Доставляем 584 Мб модель Gemma через Google Play
Это новая библиотека Google, пока находящаяся в beta, которая позволяет приложениям загружать ИИ-модели во время установки, сразу после неё или по запросу. Она построена поверх Play Asset Delivery, где ресурсы загружаются только тогда, когда действительно нужны. Например, приложение с обоями может поставлять маленькие превью, а полноразмерные изображения скачивать только тогда, когда пользователь открывает нужную категорию или хочет установить конкретные обои.
Статья: https://apptractor.ru/info/articles/dostavlyaem-584-mb-model-gemma-cherez-google-play.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Это новая библиотека Google, пока находящаяся в beta, которая позволяет приложениям загружать ИИ-модели во время установки, сразу после неё или по запросу. Она построена поверх Play Asset Delivery, где ресурсы загружаются только тогда, когда действительно нужны. Например, приложение с обоями может поставлять маленькие превью, а полноразмерные изображения скачивать только тогда, когда пользователь открывает нужную категорию или хочет установить конкретные обои.
Статья: https://apptractor.ru/info/articles/dostavlyaem-584-mb-model-gemma-cherez-google-play.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
671258351-002719e9-7886-4bf6-b982-a2e65f1c7589.webm
3.4 MB
CmpDevicePreview - предварительный просмотр Compose Multiplatform в веб
CmpDevicePreview позволяет отображать ваше приложение внутри рамки, имитирующей устройство. В состав библиотеки входит панель управления, с помощью которой можно менять тип устройства, ориентацию экрана, включать темную тему, настраивать размер текста и элементов интерфейса, направление верстки, а также выбирать язык и состояние клавиатуры. Панель можно адаптировать под свои нужды: менять расположение элементов или добавлять собственные настройки. Библиотека работает на Android, iOS, macOS (Apple Silicon), десктопных платформах (JVM), а также в средах JS и Wasm, что позволяет, например, разместить веб-демоверсию вашего приложения в сети.
CmpDevicePreview на GitHub: https://github.com/Apadmi-Engineering/CMPDevicePreview
Платформа: Android/кроссплатформа
⭐️: 38
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
CmpDevicePreview позволяет отображать ваше приложение внутри рамки, имитирующей устройство. В состав библиотеки входит панель управления, с помощью которой можно менять тип устройства, ориентацию экрана, включать темную тему, настраивать размер текста и элементов интерфейса, направление верстки, а также выбирать язык и состояние клавиатуры. Панель можно адаптировать под свои нужды: менять расположение элементов или добавлять собственные настройки. Библиотека работает на Android, iOS, macOS (Apple Silicon), десктопных платформах (JVM), а также в средах JS и Wasm, что позволяет, например, разместить веб-демоверсию вашего приложения в сети.
CmpDevicePreview на GitHub: https://github.com/Apadmi-Engineering/CMPDevicePreview
Платформа: Android/кроссплатформа
⭐️: 38
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) Boost your app’s speed and efficiency - Meet with Apple•
(iOS En) Bring Touch to your Mac app•
(iOS En) Bring Live Activities to Mac•
(iOS En) Design for Touch on Mac•
(iOS En) Apple's Birthday Card Fireworks Animation Using SwiftUI•
(iOS En) iPhone Duo Changes SwiftUI Layouts: Here’s How to Adapt Your App•
(iOS En) Compact Morphing Photo Picker using SwiftUI •
(And En) Trace me if you can: Automated instrumentation and field profiling•
(And En) Building audio-first experiences for intelligent eyewear with Gemini Nano 4•
(And En) Agentic engineering with Claude Code and Android CLI•
(And En) Optimize media playback and maximize reach with Jetpack Media3 APIs•
(And En) App security in the agentic era•
(And En) Elevating camera experiences across devices with CameraX and on-device intelligence•
(And En) The car is your canvas: Unlocking Android development for the road•
(And En) Declarative, agent-ready Android builds with Lightbuild•
(And En) Graphics features in Jetpack Compose that can elevate your app•
(And En) Migrating two decades of the Google Play app to Jetpack Compose•
(And En) Mastering on-device intelligence with ML Kit and LiteRT in Google Play services•
(And En) Extend your app to Gemini and Search with the Connected Apps Platform•
(And En) Scale your app for every screen with Compose•
(And En) Build optimized Android Apps with Firebase AI Logic and Gemini Nano 4•
(And En) Why You MUST Stick to Mutation Testing (Never Have Bad AI-Written Tests Anymore)•
(And En) Inside Kotlin's Language Design•
(And En) Can Kotlin Handle Low-Latency Audio?•
(AXR En) XR is for everyone: Designing accessible spatial experiences•
(AXR En) Build world anchored experiences for wired XR glasses•
(AXR En) Architecting Spatial Content on Android XR with Unity•
(AXR En) Elevate immersive experiences with 3D Engines in Jetpack Compose for XR•
(Crs Ru) Мониторим здоровье Gradle-сборки KMP проекта•
(Dev Ru) CI/CD не работает, и я знаю почему: карта точек отказа мобильного конвейера•
(Dev Ru) Это не я, это мой агент•
(Dev Ru) Вайбкодинг и будущее программистов — ИИ агенты, Кроссплатформа, Вход в IT•
(Dev En) Beginner's Guide to Integrating On-Device AI Agents In Your Mobile App (Android + iOS)Прошлогодние видео:
•
(And Ru) ART Memory Management•
(And Ru) Kotlin и контекстно-ориентированное мышление•
(And Ru) VK Звонки в лесу: звоним в плохих сетях•
(Dev Ru) Как вас взламывают через Open Source — DevSecOps и безопасная разработкаPlease open Telegram to view this post
VIEW IN TELEGRAM
Начинаем работать с Lightbuild
Google начал переписывать ещё одну фундаментальную часть Android-разработки под ИИ-агентов. Появился Lightbuild — экспериментальная система сборки Android-проектов, где конфигурация описывается обычным YAML, а сборка управляется простым CLI. Новый проект можно создать прямо из Android Studio Canary или командой, а дальше агенту достаточно примерно такого набора:
Статья: https://developer.android.com/tools/agents/lightbuild/setup
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Google начал переписывать ещё одну фундаментальную часть Android-разработки под ИИ-агентов. Появился Lightbuild — экспериментальная система сборки Android-проектов, где конфигурация описывается обычным YAML, а сборка управляется простым CLI. Новый проект можно создать прямо из Android Studio Canary или командой, а дальше агенту достаточно примерно такого набора:
lightbuild build applightbuild test app-coreandroid run --apks=app/build/app-debug.apkСтатья: https://developer.android.com/tools/agents/lightbuild/setup
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Get started with Lightbuild | Android Studio | Android Developers
Set up your environment for Lightbuild, create a Lightbuild project, and build, run, and test it.
❤1
OnboardingKit - онбординг на всех платформах Apple
OnboardingKit — это SDK для Swift и SwiftUI, позволяющий создавать гибкие процессы онбординга на всех платформах Apple.
В состав OnboardingKit входят базовые модели и представления для проектирования идеального онбординга, а также готовые сценарии и экраны для его удобной демонстрации.
Автор архивирует open-source OnboardingKit и переводит проект на закрытую модель с коммерческой лицензией. Это первый из нескольких его проектов, которые пойдут тем же путём. Главные причины две. Во-первых, стало меньше обратной связи от сообщества: меньше issues, pull requests и обсуждений, из-за чего поддержка 20+ open-source проектов всё чаще ощущается как работа в пустоту. Во-вторых, автору не нравится, что годы документации, тестов и архитектурных решений автоматически становятся материалом для обучения ИИ, который затем помогает другим воспроизводить похожие продукты без его участия. Новая схема такая: проекты будут публиковаться через его компанию Kankoda, с бесплатным и недорогим платным тарифом. Платная лицензия будет открывать дополнительные возможности, а лицензирование будет работать через собственный LicenseKit. Старые open-source версии никуда не исчезнут: они останутся публичными архивами под MIT-лицензией. Их можно продолжать использовать или форкнуть, но обновлений больше не будет.
OnboardingKit на GitHub: https://github.com/kankoda/onboardingkit
Платформа: iOS
⭐️: 1
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
OnboardingKit — это SDK для Swift и SwiftUI, позволяющий создавать гибкие процессы онбординга на всех платформах Apple.
В состав OnboardingKit входят базовые модели и представления для проектирования идеального онбординга, а также готовые сценарии и экраны для его удобной демонстрации.
Автор архивирует open-source OnboardingKit и переводит проект на закрытую модель с коммерческой лицензией. Это первый из нескольких его проектов, которые пойдут тем же путём. Главные причины две. Во-первых, стало меньше обратной связи от сообщества: меньше issues, pull requests и обсуждений, из-за чего поддержка 20+ open-source проектов всё чаще ощущается как работа в пустоту. Во-вторых, автору не нравится, что годы документации, тестов и архитектурных решений автоматически становятся материалом для обучения ИИ, который затем помогает другим воспроизводить похожие продукты без его участия. Новая схема такая: проекты будут публиковаться через его компанию Kankoda, с бесплатным и недорогим платным тарифом. Платная лицензия будет открывать дополнительные возможности, а лицензирование будет работать через собственный LicenseKit. Старые open-source версии никуда не исчезнут: они останутся публичными архивами под MIT-лицензией. Их можно продолжать использовать или форкнуть, но обновлений больше не будет.
OnboardingKit на GitHub: https://github.com/kankoda/onboardingkit
Платформа: iOS
⭐️: 1
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я без опыта разработки написал первые автотесты на Kotlin за месяц
Сегодня я часто встречаю тестировщиков, которые работают исключительно вручную и пока не представляют, как писать автотесты. Раньше я был таким же. Но времена меняются — нейросети проникают во все сферы, и подход «я только мануальщик» постепенно устаревает. Если ты QA и до сих пор не приступил к автоматизации, самое время задуматься об этом, пока за тебя не задумались другие. Особенно актуально это для тех, кто работает в Сбере: у тебя под рукой те же самые инструменты, которыми пользуюсь я. Банк их одобряет и активно развивает, чтобы ускорить и улучшить качество работы. Надеюсь, мой опыт вдохновит кого-то попробовать сделать то же самое.
Статья: https://habr.com/ru/companies/domclick/articles/1092854/
Платформа: Android/тестирование
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Сегодня я часто встречаю тестировщиков, которые работают исключительно вручную и пока не представляют, как писать автотесты. Раньше я был таким же. Но времена меняются — нейросети проникают во все сферы, и подход «я только мануальщик» постепенно устаревает. Если ты QA и до сих пор не приступил к автоматизации, самое время задуматься об этом, пока за тебя не задумались другие. Особенно актуально это для тех, кто работает в Сбере: у тебя под рукой те же самые инструменты, которыми пользуюсь я. Банк их одобряет и активно развивает, чтобы ускорить и улучшить качество работы. Надеюсь, мой опыт вдохновит кого-то попробовать сделать то же самое.
Статья: https://habr.com/ru/companies/domclick/articles/1092854/
Платформа: Android/тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Orrery - календарь для Compose Multiplatform
Создавайте календари и средства пикеры дат для Android, iOS, настольных компьютеров и веб-браузеров.
Календари на месяц, неделю и год; одиночный, диапазонный и множественный выбор с помощью перетаскивания; диалоговые окна выбора даты, диапазона, даты и времени, а также месяца в стиле Material 3; расписания на день и неделю с повесткой дня; тепловые карты; и дополнительные модули для китайского лунного, хиджрийского, персидского языков и государственных праздников. Ячейки дня представляют собой настраиваемые слоты, оформленные в соответствии с вашей темой Material 3, а даты имеют тип
Orrery на GitHub: https://github.com/koza4e4ok/Orrery
Платформа: Android/кроссплатформа
⭐️: 11
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Создавайте календари и средства пикеры дат для Android, iOS, настольных компьютеров и веб-браузеров.
Календари на месяц, неделю и год; одиночный, диапазонный и множественный выбор с помощью перетаскивания; диалоговые окна выбора даты, диапазона, даты и времени, а также месяца в стиле Material 3; расписания на день и неделю с повесткой дня; тепловые карты; и дополнительные модули для китайского лунного, хиджрийского, персидского языков и государственных праздников. Ячейки дня представляют собой настраиваемые слоты, оформленные в соответствии с вашей темой Material 3, а даты имеют тип
kotlinx-datetime.Orrery на GitHub: https://github.com/koza4e4ok/Orrery
Платформа: Android/кроссплатформа
⭐️: 11
Please open Telegram to view this post
VIEW IN TELEGRAM
А вы устали от того, что приходится постоянно заново учиться разработке под Android?
Я занимаюсь разработкой Android-приложений с 2012 года и иногда задумываюсь, сколько раз за это время мне фактически приходилось начинать всё заново в этой экосистеме. Каждые 3–4 года кажется, что происходит какое-то серьёзное изменение. Переход с Eclipse на Android Studio, с Java на Kotlin, с XML на Compose, разные архитектурные подходы, устаревающие библиотеки и Google, который постоянно меняет свои рекомендации.
Не поймите меня неправильно: многие из этих изменений действительно сделали Android-разработку лучше. Но после того, как ты потратил годы на освоение чего-то, довольно неприятно наблюдать, как это постепенно устаревает.
Меня раздражает не необходимость изучать новое. На самом деле мне это даже нравится. Проблема в постоянном ощущении, что нужно успевать следить вообще за всем просто для того, чтобы оставаться востребованным.
В прошлом году я решил сместить свою карьеру в сторону архитектуры программного обеспечения и технического лидерства. Мне по-прежнему нравится писать код, особенно под Android, но я хотел тратить больше времени на проектирование систем, решение более крупных инженерных задач и принятие технических решений, а не постоянно гоняться за очередным фреймворком.
Иногда я скучаю по временам, когда можно было просто сесть, сделать приложение и не слишком переживать о том, что рекомендуемый сегодня подход через два года может поменяться.
Интересно, чувствует ли кто-нибудь ещё из тех, кто занимается Android-разработкой более десяти лет, то же самое.
Кто-нибудь здесь переходил из Android-разработки в архитектуру, backend, инженерное руководство или вообще в какую-то другую область? Скучаете по работе Android-разработчиком на полный день или рады, что сменили направление?
Статья: https://apptractor.ru/info/articles/a-vy-ustali-ot-togo-chto-prihoditsya-postoyanno-zanovo-uchitsya-razrabotke-pod-android.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Я занимаюсь разработкой Android-приложений с 2012 года и иногда задумываюсь, сколько раз за это время мне фактически приходилось начинать всё заново в этой экосистеме. Каждые 3–4 года кажется, что происходит какое-то серьёзное изменение. Переход с Eclipse на Android Studio, с Java на Kotlin, с XML на Compose, разные архитектурные подходы, устаревающие библиотеки и Google, который постоянно меняет свои рекомендации.
Не поймите меня неправильно: многие из этих изменений действительно сделали Android-разработку лучше. Но после того, как ты потратил годы на освоение чего-то, довольно неприятно наблюдать, как это постепенно устаревает.
Меня раздражает не необходимость изучать новое. На самом деле мне это даже нравится. Проблема в постоянном ощущении, что нужно успевать следить вообще за всем просто для того, чтобы оставаться востребованным.
В прошлом году я решил сместить свою карьеру в сторону архитектуры программного обеспечения и технического лидерства. Мне по-прежнему нравится писать код, особенно под Android, но я хотел тратить больше времени на проектирование систем, решение более крупных инженерных задач и принятие технических решений, а не постоянно гоняться за очередным фреймворком.
Иногда я скучаю по временам, когда можно было просто сесть, сделать приложение и не слишком переживать о том, что рекомендуемый сегодня подход через два года может поменяться.
Интересно, чувствует ли кто-нибудь ещё из тех, кто занимается Android-разработкой более десяти лет, то же самое.
Кто-нибудь здесь переходил из Android-разработки в архитектуру, backend, инженерное руководство или вообще в какую-то другую область? Скучаете по работе Android-разработчиком на полный день или рады, что сменили направление?
Статья: https://apptractor.ru/info/articles/a-vy-ustali-ot-togo-chto-prihoditsya-postoyanno-zanovo-uchitsya-razrabotke-pod-android.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
AnyDecisionModel - получение типизированных решений от языковых моделей
AnyDecisionModel — это Swift-пакет для типизированных решений: вероятностей «да/нет», выбора одного варианта из нескольких и оценок по порядковой шкале. API следует паттерну model-and-session из Foundation Models от Apple и AnyLanguageModel.
Доступно шесть бэкендов:
• MLX запускает небольшую языковую модель на Apple silicon и получает каждое решение из вероятностей следующего токена за один forward pass.
• MLX decision heads запускает модель с обученной decision head, например Clef от Cloudflare.
• Core AI делает то же самое, что и MLX, но с Core AI-моделью на macOS 27 и iOS 27.
• llama.cpp работает аналогично MLX, но использует GGUF-модель через llama.cpp.
• Jev обращается к Jev от TypeSafe через System One API или к любому серверу, реализующему тот же API.
• Ollama обращается к System One-модели через Ollama, локально или через облако Ollama.
AnyDecisionModel на GitHub: https://github.com/mattt/AnyDecisionModel
Платформа: iOS
⭐️: 48
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
AnyDecisionModel — это Swift-пакет для типизированных решений: вероятностей «да/нет», выбора одного варианта из нескольких и оценок по порядковой шкале. API следует паттерну model-and-session из Foundation Models от Apple и AnyLanguageModel.
import AnyDecisionModel
enum Department: String, Choosable {
case billing, technical, sales
}
let ticket = "I was charged twice for my order, and now the app logs me out when I try to ask for a refund."
let model = MLXDecisionModel(modelID: "mlx-community/Qwen3-4B-Instruct-2507-4bit")
let session = DecisionSession(model: model, state: .text(ticket))
let urgent = try await session.probability(of: "Does this convey urgency?")
let team = try await session.choice("Which team?", from: Department.self)
let anger = try await session.score(
"How frustrated?",
levels: ["Calm", "Frustrated", "Very angry"]
)
Доступно шесть бэкендов:
• MLX запускает небольшую языковую модель на Apple silicon и получает каждое решение из вероятностей следующего токена за один forward pass.
• MLX decision heads запускает модель с обученной decision head, например Clef от Cloudflare.
• Core AI делает то же самое, что и MLX, но с Core AI-моделью на macOS 27 и iOS 27.
• llama.cpp работает аналогично MLX, но использует GGUF-модель через llama.cpp.
• Jev обращается к Jev от TypeSafe через System One API или к любому серверу, реализующему тот же API.
• Ollama обращается к System One-модели через Ollama, локально или через облако Ollama.
AnyDecisionModel на GitHub: https://github.com/mattt/AnyDecisionModel
Платформа: iOS
⭐️: 48
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
CallShield - блокировщик спама для Android
CallShield блокирует спам-звонки и помечает спам-сообщения с помощью on-device движка, включающего более 30 уровней обнаружения. В их число входят: алгоритм машинного обучения на основе градиентного бустинга, анализ признаков массовых рассылок и смены номеров, проверка идентификационных данных оператора связи, фильтрация уведомлений RCS и определение вызывающего абонента в режиме реального времени. Приложение использует базу данных из 51 407 номеров, дополненную лентой актуальных (популярных) спам-номеров, которая обновляется каждые 30 минут. Регистрация учетных записей не требуется, отслеживание пользователей не ведется.
CallShield на GitHub: https://github.com/SysAdminDoc/CallShield
Платформа: Android
⭐️: 67
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
CallShield блокирует спам-звонки и помечает спам-сообщения с помощью on-device движка, включающего более 30 уровней обнаружения. В их число входят: алгоритм машинного обучения на основе градиентного бустинга, анализ признаков массовых рассылок и смены номеров, проверка идентификационных данных оператора связи, фильтрация уведомлений RCS и определение вызывающего абонента в режиме реального времени. Приложение использует базу данных из 51 407 номеров, дополненную лентой актуальных (популярных) спам-номеров, которая обновляется каждые 30 минут. Регистрация учетных записей не требуется, отслеживание пользователей не ведется.
CallShield на GitHub: https://github.com/SysAdminDoc/CallShield
Платформа: Android
⭐️: 67
Please open Telegram to view this post
VIEW IN TELEGRAM
Macintosh Skeletal Filled - шрифт helllllllllloooo
Знаменитый рукописный шрифт с экрана приветствия Apple («hello») теперь доступен в виде шрифта, которым можно печатать.
В macOS 27 и iOS 27 присутствует шрифт под названием Macintosh Skeletal — именно он используется для персонального приветствия, которое появляется при настройке нового Mac или iPhone. В исходном виде он состоит только из центральных линий каждого штриха. Система отрисовки Apple преобразует эти линии в объемные «трубки» и автоматически соединяет буквы между собой. В рамках данного проекта этот процесс воссоздан: созданы обычные шрифты с заливкой, в которых соединения между буквами в точности повторяют логику отрисовки Apple.
Macintosh Skeletal Filled на GitHub: https://github.com/npwitk/Macintosh-Skeletal-Filled
Платформа: разработка
⭐️: 719
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Знаменитый рукописный шрифт с экрана приветствия Apple («hello») теперь доступен в виде шрифта, которым можно печатать.
В macOS 27 и iOS 27 присутствует шрифт под названием Macintosh Skeletal — именно он используется для персонального приветствия, которое появляется при настройке нового Mac или iPhone. В исходном виде он состоит только из центральных линий каждого штриха. Система отрисовки Apple преобразует эти линии в объемные «трубки» и автоматически соединяет буквы между собой. В рамках данного проекта этот процесс воссоздан: созданы обычные шрифты с заливкой, в которых соединения между буквами в точности повторяют логику отрисовки Apple.
Macintosh Skeletal Filled на GitHub: https://github.com/npwitk/Macintosh-Skeletal-Filled
Платформа: разработка
⭐️: 719
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) Apple Intelligence Group Lab + Apple Intelligence Group Lab•
(iOS En) Spotlight Onboarding Animation Using SwiftUI•
(iOS En) SwiftUI Swipe Actions Beyond List: ScrollView & Grids in OS 27•
(iOS En) App Icon Picker Using SwiftUI•
(And En) Agentic coding: a roundtable with industry leaders•
(And En) The state of post quantum cryptography on Android•
(And En) Converting an Android app to Multiplatform with Antigravity•
(And En) The Android developer career path•
(And En) Koin & the Kotlin Compiler•
(And En) A rocky journey to targetSDK 36•
(And En) Google Play PolicyBytes - October 2026 policy updates•
(And En) Insights into agent code generation from Android Bench•
(And En) Lessons from WhatsApp's Wear OS journey•
(And En) Building a Formula E co-driver on Android with ML Kit and Gemini Nano•
(And En) Building type-safe deep links with Jetpack Navigation3•
(And En) Evolving Tiles to Wear Widgets using Jetpack Glance and Remote Compose•
(And En) Let agents generate native Compose UI in your Android apps with A2UI•
(And En) Delivering Seamless Sign In and Digital Credentials on Android•
(And En) Enabling seamless cross-device interactions•
(And En) Actionable strategies for reducing your app's Bitmap memory footprint•
(And En) Outperform yourself in Compose•
(Crs En) The state of navigation in Kotlin Multiplatform•
(Dev Ru) System Design для SRE: как зарабатывать больше и не ронять прод•
(Dev Ru) Локальный AI для программирования - DeepSeek, Qwen, ИИ агенты•
(Dev En) Crash Course: Create Non-Slop App Designs With AIПрошлогодние видео:
•
(Crs Ru) Swift на Android — ход отчаяния Apple или стратегический манёвр?•
(Crs Ru) Как адаптировать свой KMP код под Аврору•
(Crs Ru) Наша навигация и её эволюция•
(Crs Ru) Выбираем DI для Kotlin Multiplatform•
(Dev Ru) ИИ в кармане: как встроить ИИ в мобильное приложение•
(Dev Ru) ИИ в серьёзной разработке: революция в IT или переоценённый хайп?•
(Dev Ru) Как с нуля создать ферму мобильных устройств•
(Dev Ru) Когнитивная нагрузка в интерфейсах и как с ней боротьсяPlease open Telegram to view this post
VIEW IN TELEGRAM