Текстовые эффекты с использованием TextRenderer в SwiftUI
Статья раскрывает пользу
Статья: https://www.createwithswift.com/text-effects-using-textrenderer-in-swiftui/
Платформа: iOS
Статья раскрывает пользу
TextRenderer в SwiftUI — мощный API, который открывает полный контроль над визуальным отображением текста. Вместо стандартных модификаторов, вы можете рисовать текст «с нуля», применяя эффекты на уровне строки или отдельного глифа. В статье показаны примеры: постепенное затухание текста, пульсация строк с анимацией, эффект «скачущих» букв и применение фильтров, таких как размытие. Если хотите вывести UI-текст на новый уровень — читайте обязательно.Статья: https://www.createwithswift.com/text-effects-using-textrenderer-in-swiftui/
Платформа: iOS
Анализ производительности для ускорения сборки в Xcode 2025
Изучив производительность сборки и потратив время на её улучшение там, где это возможно, вы увидите, что можете добиться прогресса несколькими небольшими шагами.
Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborki-v-xcode-2025.html
Платформа: iOS
Изучив производительность сборки и потратив время на её улучшение там, где это возможно, вы увидите, что можете добиться прогресса несколькими небольшими шагами.
Статья: https://apptractor.ru/info/articles/analiz-proizvoditelnosti-dlya-uskoreniya-sborki-v-xcode-2025.html
Платформа: iOS
Cahier - пример современного блокнота для Android от Google
Cahier ("блокнот" на французском) — это многофункциональное offline-first приложение для ведения заметок, и призванное продемонстрировать лучшие практики современной разработки Android с использованием Kotlin, Jetpack Compose, Material 3 и набора библиотек Jetpack, таких как Ink API. Оно служит референсным примером Google для создания надежных, адаптивных и увлекательных приложений для повышения производительности на Android.
Этот пример может послужить отличным источником информации для создания приложения для больших экранов. Он демонстрирует лучшие практики разработки подобных интерфейсов, ускоряя понимание и освоение разработчиками соответствующих мощных API и методов.
Ключевые фичи:
• Универсальное создание заметок: демонстрирует, как реализовать гибкую систему создания контента, поддерживающую различные форматы в одной заметке, включая текст, рисунки свободной формы и прикреплённые изображения.
• Инструменты для креативного рисования: реализует высокопроизводительный процесс рисования с малой задержкой с помощью Ink API. В примере представлен практический пример интеграции различных кистей, палитры цветов, функций отмены/повтора действий и ластика.
• Интеграция гибкого контента с перетаскиванием: демонстрирует, как обрабатывать входящий и исходящий контент с помощью перетаскивания. Это включает в себя прием изображений из других приложений и возможность перетаскивания контента из вашего приложения для удобного обмена.
• Организация заметок: добавляйте заметки в избранное для быстрого доступа. Фильтруйте представление для поддержания порядка.
• Offline first архитектура: приложение построено на Offline first архитектуре с использованием Room, что гарантирует локальное сохранение всех данных и полную функциональность приложения без подключения к Интернету.
• Мощная поддержка многооконности и многоэкземплярности: демонстрирует, как поддерживать многоэкземплярность, позволяя запускать приложение в нескольких окнах, чтобы пользователи могли работать с разными заметками одновременно, повышая производительность и творческий потенциал на больших экранах.
• Адаптивный пользовательский интерфейс для всех экранов: Пользовательский интерфейс легко адаптируется к различным размерам и ориентациям экрана с помощью ListDetailPaneScaffold и NavigationSuiteScaffold, обеспечивая оптимизированный пользовательский интерфейс на телефонах, планшетах и складных устройствах.
• Глубокая системная интеграция: проект предоставляет руководство по тому, как сделать ваше приложение приложением по умолчанию для создания заметок на Android 14 и более поздних версиях, реагируя на общесистемные намерения Notes, что позволяет быстро захватывать контент из различных системных точек входа.
Cahier на GitHub: https://github.com/android/cahier
Статья: https://android-developers.googleblog.com/2025/10/introducing-cahier-new-android-github.html
Платформа: Android
⭐️: 38
Cahier ("блокнот" на французском) — это многофункциональное offline-first приложение для ведения заметок, и призванное продемонстрировать лучшие практики современной разработки Android с использованием Kotlin, Jetpack Compose, Material 3 и набора библиотек Jetpack, таких как Ink API. Оно служит референсным примером Google для создания надежных, адаптивных и увлекательных приложений для повышения производительности на Android.
Этот пример может послужить отличным источником информации для создания приложения для больших экранов. Он демонстрирует лучшие практики разработки подобных интерфейсов, ускоряя понимание и освоение разработчиками соответствующих мощных API и методов.
Ключевые фичи:
• Универсальное создание заметок: демонстрирует, как реализовать гибкую систему создания контента, поддерживающую различные форматы в одной заметке, включая текст, рисунки свободной формы и прикреплённые изображения.
• Инструменты для креативного рисования: реализует высокопроизводительный процесс рисования с малой задержкой с помощью Ink API. В примере представлен практический пример интеграции различных кистей, палитры цветов, функций отмены/повтора действий и ластика.
• Интеграция гибкого контента с перетаскиванием: демонстрирует, как обрабатывать входящий и исходящий контент с помощью перетаскивания. Это включает в себя прием изображений из других приложений и возможность перетаскивания контента из вашего приложения для удобного обмена.
• Организация заметок: добавляйте заметки в избранное для быстрого доступа. Фильтруйте представление для поддержания порядка.
• Offline first архитектура: приложение построено на Offline first архитектуре с использованием Room, что гарантирует локальное сохранение всех данных и полную функциональность приложения без подключения к Интернету.
• Мощная поддержка многооконности и многоэкземплярности: демонстрирует, как поддерживать многоэкземплярность, позволяя запускать приложение в нескольких окнах, чтобы пользователи могли работать с разными заметками одновременно, повышая производительность и творческий потенциал на больших экранах.
• Адаптивный пользовательский интерфейс для всех экранов: Пользовательский интерфейс легко адаптируется к различным размерам и ориентациям экрана с помощью ListDetailPaneScaffold и NavigationSuiteScaffold, обеспечивая оптимизированный пользовательский интерфейс на телефонах, планшетах и складных устройствах.
• Глубокая системная интеграция: проект предоставляет руководство по тому, как сделать ваше приложение приложением по умолчанию для создания заметок на Android 14 и более поздних версиях, реагируя на общесистемные намерения Notes, что позволяет быстро захватывать контент из различных системных точек входа.
Cahier на GitHub: https://github.com/android/cahier
Статья: https://android-developers.googleblog.com/2025/10/introducing-cahier-new-android-github.html
Платформа: Android
⭐️: 38
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Onboarding - онбординг, как в приложениях Apple
SwiftUI Onboarding — это библиотека SwiftUI, которая реализует процесс онбординга, аналогичный приложениям Apple.
Фичи:
• Совместимость со Swift 6.0 — разработано в соответствии с новейшими стандартами Swift
• Поддержка нескольких языков — 10 языков доступны по умолчанию
• Доступность прежде всего — полная поддержка Dynamic Type и функций доступности
• Широкие возможности настройки — гибкие возможности конфигурации
• Кроссплатформенность — поддержка iOS и macOS
• Современный SwiftUI — использует новейшие API и шаблоны SwiftUI
• Автоматическое управление состоянием — встроенная интеграция с AppStorage
• Светлый и тёмный режимы — полностью поддерживают как светлый, так и тёмный режимы
SwiftUI Onboarding на GitHub: https://github.com/Sedlacek-Solutions/SwiftUI-Onboarding
Платформа: iOS
⭐️: 302
SwiftUI Onboarding — это библиотека SwiftUI, которая реализует процесс онбординга, аналогичный приложениям Apple.
Фичи:
• Совместимость со Swift 6.0 — разработано в соответствии с новейшими стандартами Swift
• Поддержка нескольких языков — 10 языков доступны по умолчанию
• Доступность прежде всего — полная поддержка Dynamic Type и функций доступности
• Широкие возможности настройки — гибкие возможности конфигурации
• Кроссплатформенность — поддержка iOS и macOS
• Современный SwiftUI — использует новейшие API и шаблоны SwiftUI
• Автоматическое управление состоянием — встроенная интеграция с AppStorage
• Светлый и тёмный режимы — полностью поддерживают как светлый, так и тёмный режимы
SwiftUI Onboarding на GitHub: https://github.com/Sedlacek-Solutions/SwiftUI-Onboarding
Платформа: iOS
⭐️: 302
👍2
KMP Starter - шаблон кроссплатформенного приложения на KMP
KMP Starter - современный, готовый к использованию шаблон приложения на Kotlin Multiplatform с дизайном Material 3, утилитами и чистой архитектурой.
Технический стек: Kotlin Multiplatform для кроссплатформенной разработки, Compose Multiplatform для UI, Material 3 как дизайн-система, Koin для инъекции зависимостей, Room в качестве локальной базы данных, DataStore для хранения настроек, корутины и Flow для асинхронного программирования, RevenueCat для покупок, MixPanel для аналитики, Kotlinx Serialization для сериализации JSON.
KMP Starter на GitHub: https://github.com/DevAtrii/Kmp-Starter-Template
Платформа: Android/кроссплатформа
⭐️: 51
KMP Starter - современный, готовый к использованию шаблон приложения на Kotlin Multiplatform с дизайном Material 3, утилитами и чистой архитектурой.
Технический стек: Kotlin Multiplatform для кроссплатформенной разработки, Compose Multiplatform для UI, Material 3 как дизайн-система, Koin для инъекции зависимостей, Room в качестве локальной базы данных, DataStore для хранения настроек, корутины и Flow для асинхронного программирования, RevenueCat для покупок, MixPanel для аналитики, Kotlinx Serialization для сериализации JSON.
KMP Starter на GitHub: https://github.com/DevAtrii/Kmp-Starter-Template
Платформа: Android/кроссплатформа
⭐️: 51
👍1
•
(iOS En) Optimize your app's speed and efficiency•
(iOS En) Modern SwiftUI Callbacks using AsyncStream•
(iOS En) How hard can it be to send a postcard?•
(iOS En) Beyond Xcode•
(iOS En) Building Complex Scroll Animations - Custom Bottom Sheet Interaction•
(iOS En) Keychain Unlocked: Mastering Advanced Security for Smarter, Safer Apps•
(iOS En) SwiftUI Alert With Progress View•
(iOS En) iMessage Style Photo Picker Using SwiftUI•
(And Ru) ART Memory Management•
(And Ru) Kotlin и контекстно-ориентированное мышление•
(And Ru) VK Звонки в лесу: звоним в плохих сетях•
(And En) TheAndroidShow: live from Droidcon, with Agents in Android Studio, Android XR and more!•
(And En) Google Play Console: Streamlining workflows, from testing to growth•
(And En) Building for Samsung Galaxy XR, featuring Calm's blueprint to Android XR development•
(And En) Android XR #AskAndroid•
(And En) Explaining Google's Guide to App Architecture In Simple Terms•
(And En) FAB Menu In Material3 Expressive•
(And En) From Java to Kotlin: Mercedes-Benz.io’s Journey•
(And En) Merge Queue at Uber Scale•
(And En) From 25 Minutes to 2.5: Okta's Journey to Faster Builds•
(Crs Ru) Что не так с Dart и Flutter в 2025 году? •
(Crs Ru) KMP для ОС Аврора•
(Crs Ru) Backend-Driven UI как ответ на рост числа платформ•
(Dev Ru) Как устроена мобильная разработка сегодня•
(Dev Ru) Как вас взламывают через Open Source — DevSecOps и безопасная разработкаПрошлогодние видео:
•
(iOS Ru) Как устроена библиотека AppMetrica•
(iOS Ru) Здесь куют Metal•
(iOS Ru) Как iOS-разработчику выжить на проекте с KMP?•
(And Ru) Android cookbook: готовим WebView правильно•
(And Ru) Kotlin Coroutines. Устройство и возможности использования•
(And Ru) Фреш на полке, фреш в стеке•
(Dev Ru) От натива до SDUI через гибридPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1
Маленькая RAM vs новые фичи: как мы повышаем детализацию Карт и сохраняем стабильность
Чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых работает приложение. Улучшая пользовательский опыт с помощью новых технологий и более детальной картографии, мы сталкиваемся с постоянным ростом потребления ресурсов — прежде всего оперативной памяти (RAM). Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на разных устройствах, включая самые бюджетные модели.
Статья: https://habr.com/ru/companies/yandex/articles/961204/
Платформа: разработка
Чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых работает приложение. Улучшая пользовательский опыт с помощью новых технологий и более детальной картографии, мы сталкиваемся с постоянным ростом потребления ресурсов — прежде всего оперативной памяти (RAM). Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на разных устройствах, включая самые бюджетные модели.
Статья: https://habr.com/ru/companies/yandex/articles/961204/
Платформа: разработка
❤1
Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза
Полнота покрытия проекта тестами во многом предопределяет его качество, надёжность и безопасность, поэтому команды предсказуемо стремятся писать тесты на все методы и компоненты. Это имеет и обратную сторону: увеличение покрытия удлиняет прогоны, что, в свою очередь, сказывается на продуктовых метриках. В результате при разработке возникает необходимость искать баланс между покрытием и способами ускорения прогонов. Здесь у каждой компании свой подход.
Статья: https://habr.com/ru/companies/vk/articles/961616/
Платформа: iOS
Полнота покрытия проекта тестами во многом предопределяет его качество, надёжность и безопасность, поэтому команды предсказуемо стремятся писать тесты на все методы и компоненты. Это имеет и обратную сторону: увеличение покрытия удлиняет прогоны, что, в свою очередь, сказывается на продуктовых метриках. В результате при разработке возникает необходимость искать баланс между покрытием и способами ускорения прогонов. Здесь у каждой компании свой подход.
Статья: https://habr.com/ru/companies/vk/articles/961616/
Платформа: iOS
👍1
Самый задаваемый вопрос на iOS-собеседовании, на котором застревают даже Senior разработчики
Он не про синтаксис Swift. Не про UIKit или SwiftUI. Он про то, насколько хорошо вы разбираетесь в iOS.
Статья: https://apptractor.ru/info/articles/samyy-zadavaemyy-vopros-ios.html
Платформа: iOS
Он не про синтаксис Swift. Не про UIKit или SwiftUI. Он про то, насколько хорошо вы разбираетесь в iOS.
Статья: https://apptractor.ru/info/articles/samyy-zadavaemyy-vopros-ios.html
Платформа: iOS
👍3
Gradle для QA-инженера
Если вы автоматизируете на Java или Kotlin, вы не могли не слышать о Gradle. Одни его хвалят за скорость и гибкость, другие ругают за сложность конфигурации. Что же это за инструмент и почему всё больше проектов переходят на него с Maven? В этой статье мы разберем Gradle, чтобы вы могли уверенно использовать его в своих проектах для автоматизации тестирования, а так же спокойно ответить на вопросы на собеседовании.
Статья: https://habr.com/ru/articles/959912/
Платформа: Android
Если вы автоматизируете на Java или Kotlin, вы не могли не слышать о Gradle. Одни его хвалят за скорость и гибкость, другие ругают за сложность конфигурации. Что же это за инструмент и почему всё больше проектов переходят на него с Maven? В этой статье мы разберем Gradle, чтобы вы могли уверенно использовать его в своих проектах для автоматизации тестирования, а так же спокойно ответить на вопросы на собеседовании.
Статья: https://habr.com/ru/articles/959912/
Платформа: Android
👍1
StoreKit Helper - обертка StoreKit2 для SwiftUI
StoreKit Helper - ещё одна легковесная обертка StoreKit2, созданная специально для SwiftUI, и упрощающая реализацию встроенных покупок.
StoreKit Helper на GitHub: https://github.com/jaywcjlove/StoreKitHelper
Платформа: iOS
⭐️: 130
StoreKit Helper - ещё одна легковесная обертка StoreKit2, созданная специально для SwiftUI, и упрощающая реализацию встроенных покупок.
StoreKit Helper на GitHub: https://github.com/jaywcjlove/StoreKitHelper
Платформа: iOS
⭐️: 130
This media is not supported in your browser
VIEW IN TELEGRAM
Nice Toast - красивые и настраиваемые тосты для Android
Nice Toast — это потрясающая и легко настраиваемая библиотека для создания уведомлений, доступная как для традиционных View, так и для Jetpack Compose. Повысьте удобство использования своего приложения, заменив стандартные тосты привлекательными, анимированными и информативными уведомлениями, которые отлично смотрятся как в светлой, так и в тёмной темах оформления.
Нужно ли вам отображать сообщение об успешном завершении процесса, ошибку, предупреждение или просто какую-то информацию, NiceToast предлагает разнообразные стили, соответствующие дизайну вашего приложения.
Nice Toast на GitHub: https://github.com/dononcharles/NiceToast
Платформа: Android
⭐️: 9
Nice Toast — это потрясающая и легко настраиваемая библиотека для создания уведомлений, доступная как для традиционных View, так и для Jetpack Compose. Повысьте удобство использования своего приложения, заменив стандартные тосты привлекательными, анимированными и информативными уведомлениями, которые отлично смотрятся как в светлой, так и в тёмной темах оформления.
Нужно ли вам отображать сообщение об успешном завершении процесса, ошибку, предупреждение или просто какую-то информацию, NiceToast предлагает разнообразные стили, соответствующие дизайну вашего приложения.
Nice Toast на GitHub: https://github.com/dononcharles/NiceToast
Платформа: Android
⭐️: 9
👍1
Публикация PWA в App Store и Play Store на github actions
Понадобилось мне как-то раз сделать из PWA мобильные приложения. Приключение на 20 минут, зашли и вышли - подумал я и пропал на пару месяцев. В статье будет гремучая смесь из Java, C#, NodeJS, Swift, bash, Dockerfile и github actions. Но в результате возможность непрерывно поставлять свежие сборки в магазины приложений.
Статья: https://habr.com/ru/articles/855830/
Платформа: разработка
Понадобилось мне как-то раз сделать из PWA мобильные приложения. Приключение на 20 минут, зашли и вышли - подумал я и пропал на пару месяцев. В статье будет гремучая смесь из Java, C#, NodeJS, Swift, bash, Dockerfile и github actions. Но в результате возможность непрерывно поставлять свежие сборки в магазины приложений.
Статья: https://habr.com/ru/articles/855830/
Платформа: разработка
👍1
Кастомная сериализация с помощью kotlinx.serialization
Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство.
Статья: https://habr.com/ru/companies/okko/articles/961848/
Платформа: Android
Сегодня расскажу о JSON Schema и как мы используем эту спецификацию на проекте, а также о библиотеке kotlinx.serialization и том, как она упростила нам работу со схемами. Статья будет полезна разработчикам, которые интересуются библиотекой kotlinx.serialization и хотят глубже узнать её устройство.
Статья: https://habr.com/ru/companies/okko/articles/961848/
Платформа: Android
👍1😁1
Руководство по промпт-инжинирингу для программистов
В статье автор рассказывает, как превратить инструменты на основе ИИ для программирования (автодополнение, ассистенты, генерация кода) в действительно полезных партнёров по разработке — если грамотно составлять запросы (промпты). Он подчёркивает: качество ответа ИИ сильно зависит от того, какой запрос мы ему задаём — контекст, цель, детали имеют решающее значение.
📌 Ключевые принципы, которые стоит взять на заметку
Вот некоторые из наиболее важных рекомендаций из статьи:
• Предоставляйте богатый контекст: язык, фреймворк, используемые библиотеки, специфика проекта.
• Чётко сформулируйте цель или вопрос: вместо «почему не работает» задайте: «эта функция возвращает undefined вместо ожидаемого результата X при входе Y».
• Разделяйте сложные задачи на части: не просите сразу реализовать весь большой модуль, начните с генерации скелета, затем добавьте шаг за шагом.
• Приводите пример входа/выхода, желаемого поведения — это помогает ИИ „понять“ задачу.
• Используйте роли или персону: «действуй как старший разработчик React» или «ты эксперт по безопасности кода». Это формирует нужный тон и глубину ответа.
• Итерации: рассмотрите первый ответ, корректируйте запрос, задавайте уточняющие вопросы. Работа с ИИ — не одноразовый промпт, а диалог.
Применение этих принципов может серьёзно повысить вашу эффективность. Впрочем, в статье упоминается, что промпт-инженерия это скорее ремесло, чем строгий набор правил.
Статья: https://addyo.substack.com/p/the-prompt-engineering-playbook-for
Платформа: разработка
В статье автор рассказывает, как превратить инструменты на основе ИИ для программирования (автодополнение, ассистенты, генерация кода) в действительно полезных партнёров по разработке — если грамотно составлять запросы (промпты). Он подчёркивает: качество ответа ИИ сильно зависит от того, какой запрос мы ему задаём — контекст, цель, детали имеют решающее значение.
📌 Ключевые принципы, которые стоит взять на заметку
Вот некоторые из наиболее важных рекомендаций из статьи:
• Предоставляйте богатый контекст: язык, фреймворк, используемые библиотеки, специфика проекта.
• Чётко сформулируйте цель или вопрос: вместо «почему не работает» задайте: «эта функция возвращает undefined вместо ожидаемого результата X при входе Y».
• Разделяйте сложные задачи на части: не просите сразу реализовать весь большой модуль, начните с генерации скелета, затем добавьте шаг за шагом.
• Приводите пример входа/выхода, желаемого поведения — это помогает ИИ „понять“ задачу.
• Используйте роли или персону: «действуй как старший разработчик React» или «ты эксперт по безопасности кода». Это формирует нужный тон и глубину ответа.
• Итерации: рассмотрите первый ответ, корректируйте запрос, задавайте уточняющие вопросы. Работа с ИИ — не одноразовый промпт, а диалог.
Применение этих принципов может серьёзно повысить вашу эффективность. Впрочем, в статье упоминается, что промпт-инженерия это скорее ремесло, чем строгий набор правил.
Статья: https://addyo.substack.com/p/the-prompt-engineering-playbook-for
Платформа: разработка
❤4👍1
Tachikoma - современный SDK для работы с ИИ-провайдерами
Tachikoma - современный Swift AI SDK, который делает интеграцию с ИИ простой и естественной. Tachikoma предоставляет интеллектуальный, адаптивный интерфейс для ИИ-сервисов с полностью современным API на Swift.
Tachikoma на GitHub: https://github.com/steipete/Tachikoma
Платформа: iOS
⭐️: 135
Tachikoma - современный Swift AI SDK, который делает интеграцию с ИИ простой и естественной. Tachikoma предоставляет интеллектуальный, адаптивный интерфейс для ИИ-сервисов с полностью современным API на Swift.
Tachikoma на GitHub: https://github.com/steipete/Tachikoma
Платформа: iOS
⭐️: 135
🔥2
Пишем свою мобильную ОС с нуля на Rust
Сегодня я хотел бы поделиться с вами результатами своего эксперимента по написанию ядра мобильной ОС с нуля.
Для чего? Главным образом — просто ради развлечения. Мне попадалось много статей по разработке десктопных ОС для x86. Да и сам я когда-то этим увлекался. Попытка разобраться с мобильной операционкой может стать довольно интересным опытом.
Статья: https://habr.com/ru/articles/962680/
Платформа: разработка
Сегодня я хотел бы поделиться с вами результатами своего эксперимента по написанию ядра мобильной ОС с нуля.
Для чего? Главным образом — просто ради развлечения. Мне попадалось много статей по разработке десктопных ОС для x86. Да и сам я когда-то этим увлекался. Попытка разобраться с мобильной операционкой может стать довольно интересным опытом.
Статья: https://habr.com/ru/articles/962680/
Платформа: разработка
❤3
Сделайте приложение более персонализированным с помощью Language Discovery
Новый
В то время как старый API был основан на строках и требовал обширной ручной обработки, вынуждая разработчиков поддерживать жёстко заданные соответствия для культурных особенностей, новый API предоставляет всё необходимое для приложений, учитывающих культурные особенности (identifier, displayName, languageCode и т.д.).
Эта расширенная структура данных исключает необходимость догадываться и обеспечивает точный культурный контекст для каждого пользовательского предпочтения.
Статья: https://apptractor.ru/info/articles/language-discovery.html
Платформа: iOS
Новый
Locale.preferredLocales API представляет собой не просто постепенное улучшение, а полное переосмысление того, как iOS работает с многоязычными пользователями.В то время как старый API был основан на строках и требовал обширной ручной обработки, вынуждая разработчиков поддерживать жёстко заданные соответствия для культурных особенностей, новый API предоставляет всё необходимое для приложений, учитывающих культурные особенности (identifier, displayName, languageCode и т.д.).
Эта расширенная структура данных исключает необходимость догадываться и обеспечивает точный культурный контекст для каждого пользовательского предпочтения.
Статья: https://apptractor.ru/info/articles/language-discovery.html
Платформа: iOS
👍1
Страна, которая сломала Kotlin
Статья посвящена одной из самых удивительных и трудноуловимых ошибок языка Kotlin. В 2016 году турецкий инженер заметил, что его сборка не проходит: компилятор выдаёт загадочную ошибку «
Дальше — ещё интереснее: спустя годы, с выходом корутин в Kotlin 1.3, ошибка проявилась снова при вызове функции
И всё благодаря тому же проблемному
Основная мысль: даже языковые конструкции вроде преобразования регистра строк, считавшиеся банальными, могут таить в себе серьёзные баги в глобальной среде. Это напоминание: при разработке — не игнорируйте культурно-языковые аспекты и локали. И да — турецкая локаль почти сломала Kotlin.
Статья: https://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237
Платформа: Android/Kotlin
Статья посвящена одной из самых удивительных и трудноуловимых ошибок языка Kotlin. В 2016 году турецкий инженер заметил, что его сборка не проходит: компилятор выдаёт загадочную ошибку «
Unknown compiler message tag: INFO». При этом причина оказалась не в коде, а в… настройки локали! Оказалось, что на турецкой локали метод строкового преобразования toLowerCase() превращает «INFO» в «ınfo» (с безточечной «i») — и словарь мапы не находит соответствия. Дальше — ещё интереснее: спустя годы, с выходом корутин в Kotlin 1.3, ошибка проявилась снова при вызове функции
boxInt() — но машиной она была сгенерирована как boxİnt() (заглавная «İ») на машинах с турецкой локалью. И всё благодаря тому же проблемному
capitalize() без указания локали. В финале автор показывает, как разработчики Kotlin заменили все такие вызовы на версии с явно заданной локалью (Locale.US или аналог) и отключили использование старых функций toLowerCase()/toUpperCase(). Основная мысль: даже языковые конструкции вроде преобразования регистра строк, считавшиеся банальными, могут таить в себе серьёзные баги в глобальной среде. Это напоминание: при разработке — не игнорируйте культурно-языковые аспекты и локали. И да — турецкая локаль почти сломала Kotlin.
Статья: https://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237
Платформа: Android/Kotlin
👍2
Media is too big
VIEW IN TELEGRAM
DroidRun - управление смартфоном с помощью ИИ
DroidRun — это мощный фреймворк для управления устройствами Android и iOS через LLM-агенты. Он позволяет автоматизировать взаимодействие с устройствами с помощью команд на естественном языке. Для работы нужен Python 3.10+, устройство и приложение на нем для отслеживания работы LLM-агентов.
DroidRun на GitHub: https://github.com/droidrun/droidrun
Платформа: iOS/Android
⭐️: 5.5K
DroidRun — это мощный фреймворк для управления устройствами Android и iOS через LLM-агенты. Он позволяет автоматизировать взаимодействие с устройствами с помощью команд на естественном языке. Для работы нужен Python 3.10+, устройство и приложение на нем для отслеживания работы LLM-агентов.
DroidRun на GitHub: https://github.com/droidrun/droidrun
Платформа: iOS/Android
⭐️: 5.5K
👍1
•
(iOS En) Perplexity App's Animated Bottom Bar Using SwiftUI•
(iOS En) Press Start: Game development on Apple platforms•
(iOS En) SwiftLeeds Evening Talkshow 2025•
(iOS En) PencilKit: From simple drawings to custom creative tools•
(iOS En) Practical Guide to Shipping Fast•
(iOS En) Side Effects as Behavior•
(iOS En) Tuning your app using Xcode's Instruments•
(iOS En) Guided Generation with Foundation Models in Swift•
(iOS En) Hero Confirmation Dialogs Using SwiftUI•
(And Ru) Swift на Android — ход отчаяния Apple или стратегический манёвр?•
(And En) All Material3 Expressive Loading Indicators Explained (+ When to Use Which)•
(Crs Ru) Как адаптировать свой KMP код под Аврору•
(Crs Ru) Flutter Aurora UI Kit •
(Crs Ru) Наша навигация и её эволюция•
(Crs Ru) Выбираем DI для Kotlin Multiplatform•
(Dev Ru) ИИ в кармане: как встроить ИИ в мобильное приложение•
(Dev Ru) ИИ в серьёзной разработке: революция в IT или переоценённый хайп?•
(Dev Ru) Как с нуля создать ферму мобильных устройств•
(Dev Ru) Всё про новый найм в Яндексе — честный разбор•
(Tcn Ru) Криптофинансы — блокчейн, криптовалюты, DeFi, web3•
(Dsg Ru) Когнитивная нагрузка в интерфейсах и как с ней боротьсяПрошлогодние видео:
•
(iOS Ru) SDK и BDUI в Яндекс Пэй и Яндекс Банке•
(And Ru) 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!Please open Telegram to view this post
VIEW IN TELEGRAM
👍1