RunAnywhere - инструментарий для локального запуска ИИ
RunAnywhere- платформа для локального запуска LLM на устройствах. Поддерживает чат-боты (Llama, Mistral, Qwen, SmolLM и т.п.), речь-в-текст и текст-в-речь, голосовых ассистентов (STT → LLM → TTS конвейеры).
Все это без облаков, без задержек и без передачи данных кому-либо.
Есть SDK для Swift, Kotlin, React Native и Flutter.
RunAnywhere на GitHub: https://github.com/RunanywhereAI/runanywhere-sdks
Платформа: iOS/Android
⭐️: 3.9K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
RunAnywhere- платформа для локального запуска LLM на устройствах. Поддерживает чат-боты (Llama, Mistral, Qwen, SmolLM и т.п.), речь-в-текст и текст-в-речь, голосовых ассистентов (STT → LLM → TTS конвейеры).
Все это без облаков, без задержек и без передачи данных кому-либо.
Есть SDK для Swift, Kotlin, React Native и Flutter.
RunAnywhere на GitHub: https://github.com/RunanywhereAI/runanywhere-sdks
Платформа: iOS/Android
⭐️: 3.9K
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
AwesomeUI - готовые элементы Compose
AwesomeUI - подборка "copy, paste, use" сниппетов и полезных элементов, предназначенная для тех, кто планирует или уже разрабатывает приложение в Compose Multiplatform или просто приложение для Android и уже использует Jetpack Compose и Material3.
AwesomeUI на GitHub: https://github.com/ArcaDone/AwesomeUI
Платформа: Android
⭐️: 72
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
AwesomeUI - подборка "copy, paste, use" сниппетов и полезных элементов, предназначенная для тех, кто планирует или уже разрабатывает приложение в Compose Multiplatform или просто приложение для Android и уже использует Jetpack Compose и Material3.
AwesomeUI на GitHub: https://github.com/ArcaDone/AwesomeUI
Платформа: Android
⭐️: 72
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Почему Senior инженеры допускают провал неудачных проектов
В крупных компаниях высказываться о том, что вы считаете «плохим проектом», — это хорошо. Но только в меру. Иногда признаком старшинства является осознание того, что спорить с людьми, которые не хотят слушать, не стоит; лучше приберечь свои советы.
Статья: https://apptractor.ru/info/articles/pochemu-senior-inzhenery-dopuskayut-proval-neudachnyh-proektov.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В крупных компаниях высказываться о том, что вы считаете «плохим проектом», — это хорошо. Но только в меру. Иногда признаком старшинства является осознание того, что спорить с людьми, которые не хотят слушать, не стоит; лучше приберечь свои советы.
Статья: https://apptractor.ru/info/articles/pochemu-senior-inzhenery-dopuskayut-proval-neudachnyh-proektov.html
Платформа: разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
•
(iOS En) SwiftUI Screenshot Prevention - Prevent Users from Taking Screenshots of a SwiftUI View•
(iOS En) Apple Books Hero Effect - Synchronized Scroll Matched Geometry Effect - Complex UI•
(iOS En) Mastering Switch Statements in Swift: Pattern Matching, Enums, and Real SwiftUI Examples•
(And En) What's New in Kotlin 2.3•
(Crs Ru) Бьем по рукам при помощи своего Dart-линтера•
(Crs Ru) Изоляционно-плагинная архитектура в Dart-приложениях, переносимость на Flutter•
(Crs En) Gradle 9 Will Break Your KMP Project - Here's the Full Migration Strategy•
(Dev Ru) Использование AI в процессах разработки•
(Dev Ru) Emacs в 2026 — Секретное оружие или старый хлам?•
(Dev En) How to create unique App Icon for your next Project•
(Dev En) RAG & MCP Fundamentals – A Hands-On Crash Course•
(Dev En) Lean Dynamic Programming with Animations – Full Course for Beginners•
(Dev En) How to Get Promoted as a Software Engineer: A Practical StrategyПрошлогодние видео:
•
(iOS Ru) SwiftUI: алхимия приложений — превращаем идеи в реальность•
(iOS Ru) Тактики ускорения билда: матиз, кобальт, камри 3.5•
(And Ru) Переезжаем с фрагментов на (De)compose•
(And Ru) Как устроена разработка в Яндекс.Клавиатуре•
(And Ru) Android + AI. Решаем задачи с умом•
(Dev Ru) Основы DevEx: ищем, куда исчезает время программистовPlease open Telegram to view this post
VIEW IN TELEGRAM
Почему ваш LazyColumn пропускает кадры
Статья объясняет, что проблемы с падением частоты кадров при использовании
В основе предлагаемых исправлений — четыре фундаментальные проблемы: неправильные ключи в
Статья: https://blog.devgenius.io/why-your-lazycolumn-drops-frames-part-1-quick-fixes-e6ccc53046bc
Платформа: Android
👍 если хотите перевод на русский
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Статья объясняет, что проблемы с падением частоты кадров при использовании
LazyColumn (и LazyRow) в Jetpack Compose часто происходят не из-за очевидных ошибок, а из-за тонких архитектурных ловушек, которые на первый взгляд выглядят безобидно. Автор показывает, что простое следование общим рекомендациям не всегда помогает: даже при правильном количестве перерисовок интерфейс всё ещё может подтормаживать на устройствах со средней производительностью. Ключ к решению заключается в том, чтобы понимать, что именно считается работой для Compose-движка, как малые оптимизации могут накопительно создавать большую нагрузку, и какие практики действительно снижают стоимость обновлений UI.В основе предлагаемых исправлений — четыре фундаментальные проблемы: неправильные ключи в
LazyColumn, нестабильные классы данных, которые приводят к лишней рекомпозиции, частые аллокации лямбд внутри списков и тяжёлые вычисления прямо в теле композаблов. Статья детально показывает, как сочетание этих факторов увеличивает объём работы, выполняемой при каждом кадре, и как их устранение (например, композитные ключи, аннотированные как @Immutable модели, ремемберинг лямбд и перенос предварительных вычислений в ViewModel) может существенно улучшить плавность прокрутки.Статья: https://blog.devgenius.io/why-your-lazycolumn-drops-frames-part-1-quick-fixes-e6ccc53046bc
Платформа: Android
👍 если хотите перевод на русский
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Copy-on-write позволит вам узнать ВСЕ о внутреннем устройстве Swift
Статья подробно разбирает механизм Copy-on-Write (CoW) в Swift, который является ключевой оптимизацией для работы с типами значений, такими как массивы и словари. Автор объясняет, что CoW позволяет избежать ресурсозатратного копирования данных при каждой передаче переменной или константы. Вместо создания немедленного дубликата в памяти, несколько переменных используют одну и ту же область данных в «куче» до тех пор, пока одна из них не попытается внести изменения. Только в момент модификации происходит реальное копирование, что позволяет Swift сочетать безопасность значимых типов с производительностью ссылочных.
Помимо теоретических основ, в материале рассматриваются внутренние аспекты реализации этого механизма и работа с памятью (стек против кучи). Автор демонстрирует, как разработчики могут самостоятельно внедрить CoW для собственных структур данных, используя приватный класс-обертку и системную функцию
Статья: https://levelup.gitconnected.com/copy-on-write-teaches-you-everything-about-swift-internals-f8807b58bfd6
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Статья подробно разбирает механизм Copy-on-Write (CoW) в Swift, который является ключевой оптимизацией для работы с типами значений, такими как массивы и словари. Автор объясняет, что CoW позволяет избежать ресурсозатратного копирования данных при каждой передаче переменной или константы. Вместо создания немедленного дубликата в памяти, несколько переменных используют одну и ту же область данных в «куче» до тех пор, пока одна из них не попытается внести изменения. Только в момент модификации происходит реальное копирование, что позволяет Swift сочетать безопасность значимых типов с производительностью ссылочных.
Помимо теоретических основ, в материале рассматриваются внутренние аспекты реализации этого механизма и работа с памятью (стек против кучи). Автор демонстрирует, как разработчики могут самостоятельно внедрить CoW для собственных структур данных, используя приватный класс-обертку и системную функцию
isKnownUniquelyReferenced. Этот подход позволяет вручную контролировать количество ссылок на объект и выполнять копирование только тогда, когда на данные ссылается более одного владельца. Таким образом, изучение CoW дает глубокое понимание того, как Swift оптимизирует управление памятью «под капотом».Статья: https://levelup.gitconnected.com/copy-on-write-teaches-you-everything-about-swift-internals-f8807b58bfd6
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Yet Another Rapid Compose - интеллектуальный генератор сокращений
Yet Another Rapid Compose — это интеллектуальный генератор сокращения, плагин для Android Studio, который мгновенно преобразует лаконичные аббревиации в полноценные деревья компонентов Jetpack Compose. Перестаньте писать шаблонный код — сосредоточьтесь на структуре пользовательского интерфейса.
Фичи:
• Мгновенное развертывание: вводите короткие коды, такие как col или row, и развертывайте их в допустимые блоки Compose
• Вложенные макеты: используйте / для определения иерархии в одной строке (например, box/txt).
Yet Another Rapid Compose на GitHub: https://github.com/andrew-malitchuk/yet-another-rapid-compose
Платформа: Android
⭐️: 6
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Yet Another Rapid Compose — это интеллектуальный генератор сокращения, плагин для Android Studio, который мгновенно преобразует лаконичные аббревиации в полноценные деревья компонентов Jetpack Compose. Перестаньте писать шаблонный код — сосредоточьтесь на структуре пользовательского интерфейса.
Фичи:
• Мгновенное развертывание: вводите короткие коды, такие как col или row, и развертывайте их в допустимые блоки Compose
• Вложенные макеты: используйте / для определения иерархии в одной строке (например, box/txt).
Yet Another Rapid Compose на GitHub: https://github.com/andrew-malitchuk/yet-another-rapid-compose
Платформа: Android
⭐️: 6
Please open Telegram to view this post
VIEW IN TELEGRAM
Погружение в UX-долг
В этом еженедельном дайджесте разработка приложений с помощью ИИ и состояние мобильного рынка, MVVM и плагины для Android Studio, миграция на Android Gradle Plugin 9.0, сокращение потребления памяти, бесплатный Skip, FunctionGemma от Google и многое другое. Заходите!
В этом еженедельном дайджесте разработка приложений с помощью ИИ и состояние мобильного рынка, MVVM и плагины для Android Studio, миграция на Android Gradle Plugin 9.0, сокращение потребления памяти, бесплатный Skip, FunctionGemma от Google и многое другое. Заходите!
Deeplink-и во Flutter: динамические ссылки и app_links
Мобильные приложения, в том числе на Flutter, позволяют настраивать обработку различных ссылок. В этой статье я разберу, как во Flutter реализовать поддержку deeplink-ов и универсальных ссылок и как управлять ими на уровне платформы.
Статья: https://habr.com/ru/companies/friflex/articles/988262/
Платформа: кроссплатформа
Мобильные приложения, в том числе на Flutter, позволяют настраивать обработку различных ссылок. В этой статье я разберу, как во Flutter реализовать поддержку deeplink-ов и универсальных ссылок и как управлять ими на уровне платформы.
Статья: https://habr.com/ru/companies/friflex/articles/988262/
Платформа: кроссплатформа
Typhoon — легковесная библиотека для повторных попыток выполнения задач
Typhoon — это современный, легковесный фреймворк на Swift, предоставляющий элегантные и надежные политики повторных попыток для асинхронных операций. Созданный на основе модели параллельного выполнения async/await от Swift, он помогает корректно обрабатывать временные сбои с помощью настраиваемых стратегий повторных попыток.
Фичи:
• Несколько стратегий повторных попыток — постоянная, экспоненциальная и экспоненциальная со сдвигом
• Async/Await-совместимый — создан для современной параллельной работы в Swift
• Типобезопасность — использует систему типов Swift для обеспечения безопасности на этапе компиляции
• Настраиваемость — гибкие параметры повторных попыток для любого варианта использования
• Кроссплатформенность — работает на iOS, macOS, tvOS, watchOS и visionOS
• Легковесность — минимальный размер без зависимостей
• Тщательно протестировано — всестороннее тестовое покрытие
Typhoon на GitHub: https://github.com/space-code/typhoon
Платформа: iOS
⭐️: 45
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Typhoon — это современный, легковесный фреймворк на Swift, предоставляющий элегантные и надежные политики повторных попыток для асинхронных операций. Созданный на основе модели параллельного выполнения async/await от Swift, он помогает корректно обрабатывать временные сбои с помощью настраиваемых стратегий повторных попыток.
Фичи:
• Несколько стратегий повторных попыток — постоянная, экспоненциальная и экспоненциальная со сдвигом
• Async/Await-совместимый — создан для современной параллельной работы в Swift
• Типобезопасность — использует систему типов Swift для обеспечения безопасности на этапе компиляции
• Настраиваемость — гибкие параметры повторных попыток для любого варианта использования
• Кроссплатформенность — работает на iOS, macOS, tvOS, watchOS и visionOS
• Легковесность — минимальный размер без зависимостей
• Тщательно протестировано — всестороннее тестовое покрытие
Typhoon на GitHub: https://github.com/space-code/typhoon
Платформа: iOS
⭐️: 45
Please open Telegram to view this post
VIEW IN TELEGRAM
Навыки, которые вы теряете, пока ИИ берет на себя рутинные задачи
Концертный пианист не забывает, как играть. Он забывает, как играть хорошо. И он не замечает этого, пока это не становится важным.
Вы не потеряете работу из-за ИИ.
Но вы можете потерять то, что делало вас мастером своего дела — причем так постепенно, что и не заметите. Пока не поймаете себя на том, что в недоумении смотрите на баг, который раньше щелкали как орешки, на архитектуру, которую не можете объяснить, или на систему, которую больше не понимаете.
Вопрос не в том, использовать ли ИИ. Вы будете его использовать.
Вопрос в том, останетесь ли вы через пять лет инженером, способным работать без него, или же тем, кто не будет знать, с чего начать.
Статья: https://apptractor.ru/info/articles/navyki-kotorye-vy-teryaete-poka-ii-beret-na-sebya-rutinnye-zadachi.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Концертный пианист не забывает, как играть. Он забывает, как играть хорошо. И он не замечает этого, пока это не становится важным.
Вы не потеряете работу из-за ИИ.
Но вы можете потерять то, что делало вас мастером своего дела — причем так постепенно, что и не заметите. Пока не поймаете себя на том, что в недоумении смотрите на баг, который раньше щелкали как орешки, на архитектуру, которую не можете объяснить, или на систему, которую больше не понимаете.
Вопрос не в том, использовать ли ИИ. Вы будете его использовать.
Вопрос в том, останетесь ли вы через пять лет инженером, способным работать без него, или же тем, кто не будет знать, с чего начать.
Статья: https://apptractor.ru/info/articles/navyki-kotorye-vy-teryaete-poka-ii-beret-na-sebya-rutinnye-zadachi.html
Платформа: разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда данных от Apple недостаточно: собираем метрики производительности UI
Оптимизировать работу UI важно - это напрямую влияет на пользовательский опыт и удержание. Собственные метрики позволяют получить больше информации - метрики позволяют не только находить проблемы, но и подтверждать улучшения после оптимизаций. В этой статье Виталий Барабанов из HH пишет про их решение для сбора метрик производительности UI.
Статья: https://habr.com/ru/companies/hh/articles/988322/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Оптимизировать работу UI важно - это напрямую влияет на пользовательский опыт и удержание. Собственные метрики позволяют получить больше информации - метрики позволяют не только находить проблемы, но и подтверждать улучшения после оптимизаций. В этой статье Виталий Барабанов из HH пишет про их решение для сбора метрик производительности UI.
Статья: https://habr.com/ru/companies/hh/articles/988322/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать эффект люминесцентной лампы в Jetpack Compose
Туториал о том, как реализовать эффект светящейся трубки на Android с помощью Jetpack Compose — без сторонних библиотек, только Canvas и анимации Kotlin.
Статья: https://proandroiddev.com/how-to-create-a-tubelight-effect-in-android-compose-2383befc47b1
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Туториал о том, как реализовать эффект светящейся трубки на Android с помощью Jetpack Compose — без сторонних библиотек, только Canvas и анимации Kotlin.
Статья: https://proandroiddev.com/how-to-create-a-tubelight-effect-in-android-compose-2383befc47b1
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Swipe-to-Dismiss в Compose Material 3
Компонент «Закрытие с помощью свайпа» позволяет пользователям закрывать или обновлять элемент, проводя пальцем влево или вправо. Compose Material 3 предлагает простой в использовании компонент, который делает все за нас.
Статья: https://apptractor.ru/info/articles/swipe-to-dismiss-v-compose-material-3.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Компонент «Закрытие с помощью свайпа» позволяет пользователям закрывать или обновлять элемент, проводя пальцем влево или вправо. Compose Material 3 предлагает простой в использовании компонент, который делает все за нас.
Статья: https://apptractor.ru/info/articles/swipe-to-dismiss-v-compose-material-3.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
VICE - KMP MVI фреймворк
VICE это MVI (Model-View-Intent) фреймворк, который использует UDF (Unidirectional Data Flow) для работы UI.
Преимущества VICE:
1. Он соответствует принципам единой ответственности и однонаправленного потока данных, оставаясь при этом простым.
2. Он предоставляет естественный, императивный способ работы с асинхронными данными.
3. Он предоставляет неизменяемый способ описания состояния пользовательского интерфейса, исключающий возможность изменения через бэкдор.
4. Он избавляет от необходимости гадать, как структурировать код пользовательского интерфейса.
VICE на GitHub: https://github.com/eygraber/vice
Платформа: Android
⭐️: 140
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
VICE это MVI (Model-View-Intent) фреймворк, который использует UDF (Unidirectional Data Flow) для работы UI.
Преимущества VICE:
1. Он соответствует принципам единой ответственности и однонаправленного потока данных, оставаясь при этом простым.
2. Он предоставляет естественный, императивный способ работы с асинхронными данными.
3. Он предоставляет неизменяемый способ описания состояния пользовательского интерфейса, исключающий возможность изменения через бэкдор.
4. Он избавляет от необходимости гадать, как структурировать код пользовательского интерфейса.
VICE на GitHub: https://github.com/eygraber/vice
Платформа: Android
⭐️: 140
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1🤨1
Встроенный Photo Picker: более удобный способ конфиденциального запроса фотографий и видео в вашем приложении
Embedded Photo Picker — новый компонент Android, который позволяет встраивать выбор фото и видео прямо в интерфейс приложения, не открывая отдельный системный экран. Пользователь видит медиатеку (включая облачные фото, например из Google Photos) внутри приложения, а само приложение получает доступ только к тем файлам, которые были явно выбраны, без запроса широких разрешений. Это заметно улучшает UX и повышает уровень приватности.
Компонент уже используется, например, в Google Messages, и доступен через Jetpack Photo Picker — как для Jetpack Compose, так и для классических View. Embedded Photo Picker работает на Android 14+ (SDK Extensions 15+), рендерится системой в изолированной области и безопасен от перехвата. В итоге разработчики получают более нативный, бесшовный и безопасный способ работы с пользовательскими фото и видео.
Статья: https://apptractor.ru/Embedded-Photo-Picker
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Embedded Photo Picker — новый компонент Android, который позволяет встраивать выбор фото и видео прямо в интерфейс приложения, не открывая отдельный системный экран. Пользователь видит медиатеку (включая облачные фото, например из Google Photos) внутри приложения, а само приложение получает доступ только к тем файлам, которые были явно выбраны, без запроса широких разрешений. Это заметно улучшает UX и повышает уровень приватности.
Компонент уже используется, например, в Google Messages, и доступен через Jetpack Photo Picker — как для Jetpack Compose, так и для классических View. Embedded Photo Picker работает на Android 14+ (SDK Extensions 15+), рендерится системой в изолированной области и безопасен от перехвата. В итоге разработчики получают более нативный, бесшовный и безопасный способ работы с пользовательскими фото и видео.
Статья: https://apptractor.ru/Embedded-Photo-Picker
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Отлаживайте Swift как Senior
В этой статье мы обсудим методы отладки, которые используют Senior iOS-разработчики.
1. Выявление логических ошибок на этапе разработки
2. Обогащение отладочных логов контекстной информацией
3. Настройка вывода с помощью CustomDebugStringConvertible
4. Анализ свойств и значений экземпляров во время выполнения
5. Функция dump() для углубленной отладки
Статья: https://apptractor.ru/info/articles/otlazhivayte-swift-kak-senior.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В этой статье мы обсудим методы отладки, которые используют Senior iOS-разработчики.
1. Выявление логических ошибок на этапе разработки
2. Обогащение отладочных логов контекстной информацией
3. Настройка вывода с помощью CustomDebugStringConvertible
4. Анализ свойств и значений экземпляров во время выполнения
5. Функция dump() для углубленной отладки
Статья: https://apptractor.ru/info/articles/otlazhivayte-swift-kak-senior.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Бессерверный ИИ для Android-приложений с Firebase AI Logic
Цель этой статьи — показать, почему бессерверный ИИ на Android наконец-то стал практичным, и как Firebase AI Logic делает его удивительно простым.
Статья: https://apptractor.ru/info/articles/firebase-ai-logic.html
Платформа: Android/ИИ
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Цель этой статьи — показать, почему бессерверный ИИ на Android наконец-то стал практичным, и как Firebase AI Logic делает его удивительно простым.
Статья: https://apptractor.ru/info/articles/firebase-ai-logic.html
Платформа: Android/ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Cash Sense - Android-приложение для управления финансами
Cash Sense - мобильное приложение, разработанное для того, чтобы помочь пользователям эффективно управлять своими финансами. Независимо от того, хотите ли вы создавать кошельки в разных валютах, устанавливать категории для транзакций или отслеживать даты оплаты подписок, Cash Sense вам поможет.
Cash Sense на GitHub: https://github.com/nikbulavin/cashsense
Платформа: Android
⭐️: 175
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Cash Sense - мобильное приложение, разработанное для того, чтобы помочь пользователям эффективно управлять своими финансами. Независимо от того, хотите ли вы создавать кошельки в разных валютах, устанавливать категории для транзакций или отслеживать даты оплаты подписок, Cash Sense вам поможет.
Cash Sense на GitHub: https://github.com/nikbulavin/cashsense
Платформа: Android
⭐️: 175
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
App Store Toolkit - инструменты локализации iOS-приложений
App Store Toolkit - набор из нескольких инструментов для локализации iOS-приложений. Есть локализация .xcstrings, настройка стоимости подписки для разных стран, перевод мета-данных и генератор скриншотов для App Store Connect. Все это с помощью ИИ и локальных сервисов.
App Store Toolkit на GitHub: https://github.com/fayharinn/iOS-App-Distribution-Localizer
Платформа: iOS/Web
⭐️: 24
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
App Store Toolkit - набор из нескольких инструментов для локализации iOS-приложений. Есть локализация .xcstrings, настройка стоимости подписки для разных стран, перевод мета-данных и генератор скриншотов для App Store Connect. Все это с помощью ИИ и локальных сервисов.
App Store Toolkit на GitHub: https://github.com/fayharinn/iOS-App-Distribution-Localizer
Платформа: iOS/Web
⭐️: 24
Please open Telegram to view this post
VIEW IN TELEGRAM
Безопасный обмен данными между приложениями на Android: intents, URI schemes, shared preferences
Системы злоумышленников постоянно эволюционируют, появляются новые атаки и новые защиты. То, что работало в Android 8, может быть небезопасно в Android 14. Поэтому безопасность в Android - это не разовая настройка, а процесс.
Мой главный совет: читайте Android Security Bulletins, следите за CVE, связанными с вашими зависимостями, и регулярно проводите аудит своего кода.
И последнее: если сомневаетесь, стоит ли передавать какие-то данные между приложениями - не передавайте. Лучше лишний раз сходить на сервер, чем потом разгребать последствия утечки данных. Серьёзно, оно того не стоит.
Статья: https://habr.com/ru/articles/989740/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Системы злоумышленников постоянно эволюционируют, появляются новые атаки и новые защиты. То, что работало в Android 8, может быть небезопасно в Android 14. Поэтому безопасность в Android - это не разовая настройка, а процесс.
Мой главный совет: читайте Android Security Bulletins, следите за CVE, связанными с вашими зависимостями, и регулярно проводите аудит своего кода.
И последнее: если сомневаетесь, стоит ли передавать какие-то данные между приложениями - не передавайте. Лучше лишний раз сходить на сервер, чем потом разгребать последствия утечки данных. Серьёзно, оно того не стоит.
Статья: https://habr.com/ru/articles/989740/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM