AnyLanguageModel - совместимая по API замена Foundation Models на кастомные модели
AnyLanguageModel - пакет Swift, предоставляющий готовую замену фреймворку Apple Foundation Models с поддержкой кастомных моделей. Всё, что вам нужно сделать, — это изменить оператор импорта:
- import FoundationModels
+ import AnyLanguageModel
Поддерживаемые провайдеры:
• Apple Foundation Models
• Core ML models
• MLX models
• llama.cpp (GGUF models)
• Ollama HTTP API
• Anthropic Messages API
• Google Gemini API
• OpenAI Chat Completions API
• OpenAI Responses API
AnyLanguageModel на GitHub: https://github.com/mattt/AnyLanguageModel
Платформа: iOS
⭐️: 572
AnyLanguageModel - пакет Swift, предоставляющий готовую замену фреймворку Apple Foundation Models с поддержкой кастомных моделей. Всё, что вам нужно сделать, — это изменить оператор импорта:
- import FoundationModels
+ import AnyLanguageModel
struct WeatherTool: Tool {
let name = "getWeather"
let denoscription = "Retrieve the latest weather information for a city"
@Generable
struct Arguments {
@Guide(denoscription: "The city to fetch the weather for")
var city: String
}
func call(arguments: Arguments) async throws -> String {
"The weather in \(arguments.city) is sunny and 72°F / 23°C"
}
}
let model = SystemLanguageModel.default
let session = LanguageModelSession(model: model, tools: [WeatherTool()])
let response = try await session.respond {
Prompt("How's the weather in Cupertino?")
}
print(response.content)Поддерживаемые провайдеры:
• Apple Foundation Models
• Core ML models
• MLX models
• llama.cpp (GGUF models)
• Ollama HTTP API
• Anthropic Messages API
• Google Gemini API
• OpenAI Chat Completions API
• OpenAI Responses API
AnyLanguageModel на GitHub: https://github.com/mattt/AnyLanguageModel
Платформа: iOS
⭐️: 572
👍1
Реверс-инжиниринг приложений на Android: знакомство с Frida
Frida — это инструмент, который позволяет вживлять небольшой кусок JavaScript-кода прямо в запущенное приложение и менять его поведение. В статье рассказывается, как работать с Frida, исследовать приложения на телефоне без root-доступа и создавать свои моды.
Статья: https://habr.com/ru/companies/selectel/articles/973526/
Платформа: Android
Frida — это инструмент, который позволяет вживлять небольшой кусок JavaScript-кода прямо в запущенное приложение и менять его поведение. В статье рассказывается, как работать с Frida, исследовать приложения на телефоне без root-доступа и создавать свои моды.
Статья: https://habr.com/ru/companies/selectel/articles/973526/
Платформа: Android
👍1
5.webm
169.5 KB
Создание анимированных полос в Jetpack Compose
Если мы хотим нарисовать и анимировать полоски в Jetpack Compose, мы можем использовать градиент с его параметрами.
Статья: https://apptractor.ru/info/articles/stripes-jetpack-compose.html
Платформа: Android
Если мы хотим нарисовать и анимировать полоски в Jetpack Compose, мы можем использовать градиент с его параметрами.
Статья: https://apptractor.ru/info/articles/stripes-jetpack-compose.html
Платформа: Android
MaterialKolor - динамическая цветовая схема Material3 из исходного цвета
MaterialKolor - библиотека Compose Multiplatform для создания динамических цветовых палитр Material Design 3 из любого цвета. Доступные платформы: Android, iOS, JVM (Desktop) и JavaScript/wasm (браузер). Основу этой библиотеки составляет репозиторий material-color-utilities. В настоящее время это библиотека доступна только на Java, и автор хотел сделать её доступной для проектов Kotlin Multiplatform. Исходный код был взят и преобразован в библиотеку Kotlin Multiplatform.
MaterialKolor на GitHub: https://github.com/jordond/MaterialKolor
Платформа: Android/кроссплатформа
⭐️: 755
MaterialKolor - библиотека Compose Multiplatform для создания динамических цветовых палитр Material Design 3 из любого цвета. Доступные платформы: Android, iOS, JVM (Desktop) и JavaScript/wasm (браузер). Основу этой библиотеки составляет репозиторий material-color-utilities. В настоящее время это библиотека доступна только на Java, и автор хотел сделать её доступной для проектов Kotlin Multiplatform. Исходный код был взят и преобразован в библиотеку Kotlin Multiplatform.
MaterialKolor на GitHub: https://github.com/jordond/MaterialKolor
Платформа: Android/кроссплатформа
⭐️: 755
👍1
Перетаскивание и буфер обмена с помощью Transferable
Используя
Статья: https://apptractor.ru/info/articles/peretaskivanie-i-bufer-obmena-s-pomoschyu-transferable.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Используя
Transferable, вы не только упрощаете реализацию, но и делаете своё приложение совместимым с современными формами взаимодействия, от буфера обмена до перетаскивания, используя единую модель данных.Статья: https://apptractor.ru/info/articles/peretaskivanie-i-bufer-obmena-s-pomoschyu-transferable.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как Vercel перенесли магию v0 в нативное приложение
Vercel делится тем, как они создавали iOS-версию своего AI-генератора интерфейсов v0. Спойлер: это не Swift и не Flutter. Это мощная демонстрация того, куда движется экосистема React.
Ключевые моменты из статьи:
• React Native + Expo: Основа приложения. Они использовали Expo (с Continuous Native Generation), что позволило веб-разработчикам писать нативный код, практически не выходя из привычной среды.
• React Server Components (RSC) на мобилке: Это самое интересное. Приложение v0 использует ту же архитектуру, что и веб-версия. Сервер стримит компоненты прямо на устройство. Это позволяет переиспользовать огромные куски логики.
• Общий код: Благодаря монорепозиторию (Turborepo), они делят типы, утилиты и даже UI-компоненты между Next.js (веб) и Expo (iOS).
• Стриминг: Ощущение "магии", когда код пишется у вас на глазах, реализовано через потоковую передачу данных. Это не просто запрос-ответ, это живой поток токенов от LLM, который рендерится в реальном времени.
• Производительность: Чтобы скролл и анимации были плавными (60fps), тяжелые вычисления вынесены в отдельные потоки или обрабатываются на сервере.
Vercel доказывает, что граница между вебом и нативом стирается. Если у вас уже есть крутая команда React-разработчиков, вам не обязательно нанимать отдельный штат iOS-инженеров, чтобы сделать продукт мирового уровня.
Статья: https://vercel.com/blog/how-we-built-the-v0-ios-app
Платформа: кроссплатформа
Vercel делится тем, как они создавали iOS-версию своего AI-генератора интерфейсов v0. Спойлер: это не Swift и не Flutter. Это мощная демонстрация того, куда движется экосистема React.
Ключевые моменты из статьи:
• React Native + Expo: Основа приложения. Они использовали Expo (с Continuous Native Generation), что позволило веб-разработчикам писать нативный код, практически не выходя из привычной среды.
• React Server Components (RSC) на мобилке: Это самое интересное. Приложение v0 использует ту же архитектуру, что и веб-версия. Сервер стримит компоненты прямо на устройство. Это позволяет переиспользовать огромные куски логики.
• Общий код: Благодаря монорепозиторию (Turborepo), они делят типы, утилиты и даже UI-компоненты между Next.js (веб) и Expo (iOS).
• Стриминг: Ощущение "магии", когда код пишется у вас на глазах, реализовано через потоковую передачу данных. Это не просто запрос-ответ, это живой поток токенов от LLM, который рендерится в реальном времени.
• Производительность: Чтобы скролл и анимации были плавными (60fps), тяжелые вычисления вынесены в отдельные потоки или обрабатываются на сервере.
Vercel доказывает, что граница между вебом и нативом стирается. Если у вас уже есть крутая команда React-разработчиков, вам не обязательно нанимать отдельный штат iOS-инженеров, чтобы сделать продукт мирового уровня.
Статья: https://vercel.com/blog/how-we-built-the-v0-ios-app
Платформа: кроссплатформа
👍1
TakeoffKit - современный механизм синхронизации через CloudKit для любой локальной базы данных
TakeoffKit - это библиотека Swift, упрощающая синхронизацию локальных данных с использованием CloudKit, абстрагируясь от его многочисленных сложностей, таких как преобразование CKRecord, ограничение скорости запросов, обработка ошибок и многое другое. Она предоставляет механизм синхронизации, аналогичный CKSyncEngine от Apple, но с более точным контролем и лучшей обратной совместимостью. Механизм синхронизации разработан для работы с любой локальной средой хранения данных — CoreData, SwiftData, Realm и т.д.
TakeoffKit на GitHub: https://github.com/orloff-n/TakeoffKit
Платформа: iOS
⭐️: 25
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
TakeoffKit - это библиотека Swift, упрощающая синхронизацию локальных данных с использованием CloudKit, абстрагируясь от его многочисленных сложностей, таких как преобразование CKRecord, ограничение скорости запросов, обработка ошибок и многое другое. Она предоставляет механизм синхронизации, аналогичный CKSyncEngine от Apple, но с более точным контролем и лучшей обратной совместимостью. Механизм синхронизации разработан для работы с любой локальной средой хранения данных — CoreData, SwiftData, Realm и т.д.
TakeoffKit на GitHub: https://github.com/orloff-n/TakeoffKit
Платформа: iOS
⭐️: 25
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений
Сегодня предлагаю разобрать путь создания кастомного тулбара от первой кривой реализации до оптимизированного решения.
И главная проблема, которую надо решить при создании этого компонента это центрирование noscript и subnoscript. Эта проблема возникает потому что у нас может быть тулбар с разным количеством иконок по обе стороны от заголовка, текстом и иконками или только с noscript. И если ширина иконок у нас стандартна (44 dp), и достаточно просто умножить эту ширину на количество иконок справа, чтобы понять свободное пространство для noscript и subnoscript, то с текстом с одной или с двух сторон всё намного сложнее, так как мы не можем заранее вычислить ширину этого текста, а значит не можем правильно центрировать и задать ширину noscript и subnoscript.
В этой статье я расскажу, как я решил этот вопрос.
Статья: https://habr.com/ru/companies/psb/articles/974368/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Сегодня предлагаю разобрать путь создания кастомного тулбара от первой кривой реализации до оптимизированного решения.
И главная проблема, которую надо решить при создании этого компонента это центрирование noscript и subnoscript. Эта проблема возникает потому что у нас может быть тулбар с разным количеством иконок по обе стороны от заголовка, текстом и иконками или только с noscript. И если ширина иконок у нас стандартна (44 dp), и достаточно просто умножить эту ширину на количество иконок справа, чтобы понять свободное пространство для noscript и subnoscript, то с текстом с одной или с двух сторон всё намного сложнее, так как мы не можем заранее вычислить ширину этого текста, а значит не можем правильно центрировать и задать ширину noscript и subnoscript.
В этой статье я расскажу, как я решил этот вопрос.
Статья: https://habr.com/ru/companies/psb/articles/974368/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Уроки, извлеченные из собеседования по Swift
Некоторое время назад я проходил собеседование в команде разработчиков UI-фреймворка на SwiftUI в крупной компании-поставщике платформ. Поскольку я работал со SwiftUI с момента его выпуска, я был очень рад этой возможности. Но после многих лет работы в качестве независимого разработчика это было моё первое настоящее техническое собеседование за долгое время.
Спойлер: меня не взяли. Но я кое-чему научился в области алгоритмов Swift и тому, как подходить к техническим собеседованиям.
Статья: https://apptractor.ru/info/articles/uroki-izvlechennye-iz-sobesedovaniya-po-swift.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Некоторое время назад я проходил собеседование в команде разработчиков UI-фреймворка на SwiftUI в крупной компании-поставщике платформ. Поскольку я работал со SwiftUI с момента его выпуска, я был очень рад этой возможности. Но после многих лет работы в качестве независимого разработчика это было моё первое настоящее техническое собеседование за долгое время.
Спойлер: меня не взяли. Но я кое-чему научился в области алгоритмов Swift и тому, как подходить к техническим собеседованиям.
Статья: https://apptractor.ru/info/articles/uroki-izvlechennye-iz-sobesedovaniya-po-swift.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
😡2
This media is not supported in your browser
VIEW IN TELEGRAM
Awesome Jetpack Compose Animations - коллекция анимаций Jetpack Compose
Awesome Jetpack Compose Animations - организованная коллекция (24 штуки) классных анимаций для кнопок, карточек, изображений и многого другого — идеально подходит для улучшения ваших приложений и проектов.
Awesome Jetpack Compose Animations на GitHub: https://github.com/Swapnil-J-Patil/Delightful_Animations
Платформа: Android
⭐️: 13
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Awesome Jetpack Compose Animations - организованная коллекция (24 штуки) классных анимаций для кнопок, карточек, изображений и многого другого — идеально подходит для улучшения ваших приложений и проектов.
Awesome Jetpack Compose Animations на GitHub: https://github.com/Swapnil-J-Patil/Delightful_Animations
Платформа: Android
⭐️: 13
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Flutter MethodChannel: как подружить Dart с нативным Android (и iOS)
Сегодня поговорим о том, как Flutter-приложению выйти за пределы чисто Dart-мирка и воспользоваться возможностями родной платформы, например, вызвать API Android или iOS напрямую. Например, есть какая-нибудь классная фича в Android SDK, а в Flutter её нет. Как быть? Ответ — писать собственный плагин и использовать MethodChannel.
Статья: https://habr.com/ru/companies/otus/articles/970094/
Платформа: кроссплатформа
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Сегодня поговорим о том, как Flutter-приложению выйти за пределы чисто Dart-мирка и воспользоваться возможностями родной платформы, например, вызвать API Android или iOS напрямую. Например, есть какая-нибудь классная фича в Android SDK, а в Flutter её нет. Как быть? Ответ — писать собственный плагин и использовать MethodChannel.
Статья: https://habr.com/ru/companies/otus/articles/970094/
Платформа: кроссплатформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
RemoteCompose: другая парадигма SDUI в Jetpack Compose
RemoteCompose всё ещё находится в разработке AndroidX и официально пока не опубликован, однако концепция очень многообещающая.
Сервер перехватывает (capture) любой макет Jetpack Compose и выдает его в компактном сериализованном формате. Это своего рода «скриншот» вашего пользовательского интерфейса, только вместо пикселей вы захватываете фактические инструкции отрисовки. Этот полученный документ содержит всё необходимое для воссоздания пользовательского интерфейса: фигуры, цвета, текст, изображения, анимацию и даже интерактивные области касания. На стороне сервера пишется стандартный код Compose. Не нужно изучать новый DSL (Domain-Specific Language), поддерживать схему JSON или осваивать язык шаблонов. Если вы можете написать это на Compose, вы можете захватить это с помощью RemoteCompose.
В приложении работает простой (платформенный) плеер, который управляет показом и взаимодействием с этим ByteArray. Клиентскому устройству не нужны ваши композабл функции, ваши модели представления или ваша бизнес-логика — ему нужны только байты документа и проигрыватель.
Таким образом, преобразуя макеты Compose в переносимый формат документа, RemoteCompose обеспечивает управляемый сервером пользовательский интерфейс, а значит мгновенное A/B-тестирование, обновление контента в реальном времени и кроссплатформенную согласованность, сохраняя при этом производительность нативного рендеринга. Фреймворк справляется со сложностью сериализации, передачи и рендеринга, позволяя вам сосредоточиться на проектировании превосходного пользовательского опыта.
Статья: https://apptractor.ru/info/news/remotecompose.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
RemoteCompose всё ещё находится в разработке AndroidX и официально пока не опубликован, однако концепция очень многообещающая.
Сервер перехватывает (capture) любой макет Jetpack Compose и выдает его в компактном сериализованном формате. Это своего рода «скриншот» вашего пользовательского интерфейса, только вместо пикселей вы захватываете фактические инструкции отрисовки. Этот полученный документ содержит всё необходимое для воссоздания пользовательского интерфейса: фигуры, цвета, текст, изображения, анимацию и даже интерактивные области касания. На стороне сервера пишется стандартный код Compose. Не нужно изучать новый DSL (Domain-Specific Language), поддерживать схему JSON или осваивать язык шаблонов. Если вы можете написать это на Compose, вы можете захватить это с помощью RemoteCompose.
В приложении работает простой (платформенный) плеер, который управляет показом и взаимодействием с этим ByteArray. Клиентскому устройству не нужны ваши композабл функции, ваши модели представления или ваша бизнес-логика — ему нужны только байты документа и проигрыватель.
Таким образом, преобразуя макеты Compose в переносимый формат документа, RemoteCompose обеспечивает управляемый сервером пользовательский интерфейс, а значит мгновенное A/B-тестирование, обновление контента в реальном времени и кроссплатформенную согласованность, сохраняя при этом производительность нативного рендеринга. Фреймворк справляется со сложностью сериализации, передачи и рендеринга, позволяя вам сосредоточиться на проектировании превосходного пользовательского опыта.
Статья: https://apptractor.ru/info/news/remotecompose.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
XcodeProj - работа с проектами Xcode
XcodeProj — это библиотека от Tuist, написанная на Swift, для анализа и работы с файлами проектов Xcode. С ее помощью можно писать скрипты и автоматизировать задачи в проекте. Например, можно создать скрипт, который будет синхронизировать ключ с версией проекта с текущим тегом в Git, представляющим версию проекта.
XcodeProj на GitHub: https://github.com/tuist/XcodeProj
Платформа: iOS
⭐️: 2.2K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
XcodeProj — это библиотека от Tuist, написанная на Swift, для анализа и работы с файлами проектов Xcode. С ее помощью можно писать скрипты и автоматизировать задачи в проекте. Например, можно создать скрипт, который будет синхронизировать ключ с версией проекта с текущим тегом в Git, представляющим версию проекта.
XcodeProj на GitHub: https://github.com/tuist/XcodeProj
Платформа: iOS
⭐️: 2.2K
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
•
(iOS Ru) Разбор кода: iOS-приложение для медитации на Swift•
(iOS En) SwiftUI Animated Tab Icons - Symbol Effects Tab Bar•
(iOS En) RichText Notes App - AttributedStrings and SwiftData•
(iOS En) Interactive Map Carousel | MapKit | Map Animations | SwiftUI•
(And Ru) Как сделать приложение за 10 минут? | FlowMVI Часть 1 - Часть 2 - Часть 3•
(And XR) The Android Show | XR Edition•
(And XR) Getting started developing on AI Glasses•
(And XR) What's new in the Android XR SDK for Unity•
(And XR) Designing interfaces for wired XR glasses•
(And XR) Designing audio experiences on AI Glasses•
(And XR) XR Journey: From Snapdragon Spaces to Android XR•
(And XR) Design best practices for display AI Glasses•
(And XR) What's new in the Jetpack XR SDK for immersive experiences•
(And En) Bring your own model - Android Developers Backstage•
(And En) Bottom Nav With Multiple Back Stacks In Navigation3•
(And En) Nested Nav Graphs & Shared ViewModels With Navigation3•
(And En) FaceCut App - Create Beautiful Portraits in minutes•
(Crs En) Why iOS Devs Struggle with KMP (and How to Fix It)•
(Dev Ru) Заменит ли AI разработчика•
(Dev Ru) SWE-агенты — Пишем код, LLM, автономный ИИ•
(Dev Ru) Open Source: альтруизм или скрытая выгода?•
(Dev Ru) Как внедрить ИИ в разработку и подружиться с безопасниками•
(Dev Ru) Как выявлять баги до первой строчки кода: опыт внедрения тест-анализа и тест-дизайна•
(Dev Ru) Как мы делаем больше 10 релизов в день без регрессаПрошлогодние видео:
•
(And Ru) Полный разбор Kotlin Delegated Property•
(Crs Ru) BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности•
(Dev Ru) Карьера и лидерство в IT•
(Dev Ru) Вся правда о грейдах, ревью и промоушенах•
(Dev Ru) Искусство создания антихрупкого APIPlease open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
9 типичных ошибок в Kotlin Flow, которые вы, вероятно, совершаете.
Автор делится своим опытом, собранным в ходе код-ревью реальных Android-проектов. Он отмечает, что, несмотря на всю мощь Kotlin Flow, разработчики часто сталкиваются с неочевидным поведением, которое может приводить к тихой отмене работы, повторному выполнению ресурсоемких операций или неожиданным проблемам с жизненным циклом. В статье подробно рассматриваются девять распространенных ошибок, каждая из которых сопровождается примерами плохого и хорошего кода и краткими практическими правилами, применимыми в реальной разработке.
Статья: https://medium.com/@af2905g/9-kotlin-flow-mistakes-youre-probably-making-c946ad750452
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Автор делится своим опытом, собранным в ходе код-ревью реальных Android-проектов. Он отмечает, что, несмотря на всю мощь Kotlin Flow, разработчики часто сталкиваются с неочевидным поведением, которое может приводить к тихой отмене работы, повторному выполнению ресурсоемких операций или неожиданным проблемам с жизненным циклом. В статье подробно рассматриваются девять распространенных ошибок, каждая из которых сопровождается примерами плохого и хорошего кода и краткими практическими правилами, применимыми в реальной разработке.
Статья: https://medium.com/@af2905g/9-kotlin-flow-mistakes-youre-probably-making-c946ad750452
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
ComposeGuard - обнаружение нарушений правил и лучших практик Jetpack Compose
ComposeGuard — это плагин для IntelliJ/Android Studio, который обеспечивает обнаружение нарушений лучших практик Compose в режиме реального времени во время написания кода. Он анализирует ваши компонуемые функции и выделяет проблемы на основе документации по правилам Compose.
Вместо того чтобы ждать проверок линтера во время сборки или проблем в рантайме, вы получаете мгновенную обратную связь прямо в вашей IDE с визуальными индикаторами, быстрыми исправлениями и подробными объяснениями.
ComposeGuard на GitHub: https://github.com/AndroidPoet/compose-guard
Платформа: Android
⭐️: 17
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
ComposeGuard — это плагин для IntelliJ/Android Studio, который обеспечивает обнаружение нарушений лучших практик Compose в режиме реального времени во время написания кода. Он анализирует ваши компонуемые функции и выделяет проблемы на основе документации по правилам Compose.
Вместо того чтобы ждать проверок линтера во время сборки или проблем в рантайме, вы получаете мгновенную обратную связь прямо в вашей IDE с визуальными индикаторами, быстрыми исправлениями и подробными объяснениями.
ComposeGuard на GitHub: https://github.com/AndroidPoet/compose-guard
Платформа: Android
⭐️: 17
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Создание приложения с меню на Flutter, которое не занимает много памяти
Расскажу вам в этой статье, как я снизил потребление памяти моего macOS-приложения на Flutter более чем на 90%. Это потребовало неожиданно много усилий и включало создание собственного хоста для Flutter, разработку пользовательского плагина для перетаскивания и отладку кучи кода на Rust.
Статья: https://habr.com/ru/companies/piter/articles/976000/
Платформа: кроссплатформа
Расскажу вам в этой статье, как я снизил потребление памяти моего macOS-приложения на Flutter более чем на 90%. Это потребовало неожиданно много усилий и включало создание собственного хоста для Flutter, разработку пользовательского плагина для перетаскивания и отладку кучи кода на Rust.
Статья: https://habr.com/ru/companies/piter/articles/976000/
Платформа: кроссплатформа
👍1
Я уменьшил iOS-приложение с 200 до 8 МБ: побочные эффекты, которых я не ожидал
Уменьшить размер приложения с 200 до 8 МБ — легко.
Жить с последствиями — вот это нелегко.
Это история о том, как я слишком много оптимизировал, слишком поздно это понял и случайно создал один из самых запутанных кошмаров отладки в своей карьере.
Статья: https://apptractor.ru/info/articles/200-8.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Уменьшить размер приложения с 200 до 8 МБ — легко.
Жить с последствиями — вот это нелегко.
Это история о том, как я слишком много оптимизировал, слишком поздно это понял и случайно создал один из самых запутанных кошмаров отладки в своей карьере.
Статья: https://apptractor.ru/info/articles/200-8.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2
Cupertino - локальный сканер документации Apple и сервер MCP
Cupertino - инструмент для сканирования, индексирования и предоставления документации Apple для разработчиков агентам искусственного интеллекта через протокол контекста модели (MCP).
Cupertino — это локальная, структурированная, готовая к использованию с ИИ система документации для платформ Apple. Она:
• Сканирует документацию разработчиков Apple, Swift.org, предложения Swift Evolution, рекомендации по проектированию пользовательского интерфейса, устаревшие руководства Apple Archive и метаданные пакетов Swift
• Индексирует всё в быструю, доступную для поиска базу данных SQLite FTS5 с рейтингом BM25
• Предоставляет документацию агентам ИИ, таким как Claude, через протокол контекста модели (MCP)
• Обеспечивает автономный доступ к более чем 302 424 страницам документации для 307 фреймворков
Зачем это нужно?
• Больше никаких галлюцинаций: агенты ИИ получают точную и актуальную документацию по API Apple
• Автономная разработка: работайте с полной документацией без доступа к интернету
• Детерминированный поиск: один и тот же запрос всегда возвращает одинаковые результаты
• Локальный контроль: управляйте своей документацией, проверяйте базу данных, создавайте сценарии рабочих процессов
• Дизайн, ориентированный на ИИ: создан специально для интеграции с агентами ИИ через MCP
Cupertino на GitHub: https://github.com/mihaelamj/cupertino
Платформа: iOS
⭐️: 105
Cupertino - инструмент для сканирования, индексирования и предоставления документации Apple для разработчиков агентам искусственного интеллекта через протокол контекста модели (MCP).
Cupertino — это локальная, структурированная, готовая к использованию с ИИ система документации для платформ Apple. Она:
• Сканирует документацию разработчиков Apple, Swift.org, предложения Swift Evolution, рекомендации по проектированию пользовательского интерфейса, устаревшие руководства Apple Archive и метаданные пакетов Swift
• Индексирует всё в быструю, доступную для поиска базу данных SQLite FTS5 с рейтингом BM25
• Предоставляет документацию агентам ИИ, таким как Claude, через протокол контекста модели (MCP)
• Обеспечивает автономный доступ к более чем 302 424 страницам документации для 307 фреймворков
Зачем это нужно?
• Больше никаких галлюцинаций: агенты ИИ получают точную и актуальную документацию по API Apple
• Автономная разработка: работайте с полной документацией без доступа к интернету
• Детерминированный поиск: один и тот же запрос всегда возвращает одинаковые результаты
• Локальный контроль: управляйте своей документацией, проверяйте базу данных, создавайте сценарии рабочих процессов
• Дизайн, ориентированный на ИИ: создан специально для интеграции с агентами ИИ через MCP
Cupertino на GitHub: https://github.com/mihaelamj/cupertino
Платформа: iOS
⭐️: 105
👍2
Улучшение доступности в Android-приложениях
В этом руководстве вы узнаете, как используя инструменты Android создавать приложения, доступные для всех. Обеспечение корректного описания контента, удобных сенсорных областей и читаемого цветового контраста — это простые шаги, которые сделают наше приложение более доступным и удовлетворят потребности каждого пользователя.
Статья: https://apptractor.ru/info/articles/uluchshenie-dostupnosti-v-android-prilozheniyah.html
Платформа: Android
В этом руководстве вы узнаете, как используя инструменты Android создавать приложения, доступные для всех. Обеспечение корректного описания контента, удобных сенсорных областей и читаемого цветового контраста — это простые шаги, которые сделают наше приложение более доступным и удовлетворят потребности каждого пользователя.
Статья: https://apptractor.ru/info/articles/uluchshenie-dostupnosti-v-android-prilozheniyah.html
Платформа: Android
❤1