Cursor AI в iOS-разработке. Приложение «Фото с Flickr.com»
Мне хотелось посмотреть, как работает ИИ Редактор кода Cursor AI на примере создания iOS приложения с выборкой данных с ресурса, который не требует API key и платной подписки. И этим ресурсом оказались публичные фотографии с Flickr.com.
Статья: https://habr.com/ru/articles/863314/
Платформа: iOS
Мне хотелось посмотреть, как работает ИИ Редактор кода Cursor AI на примере создания iOS приложения с выборкой данных с ресурса, который не требует API key и платной подписки. И этим ресурсом оказались публичные фотографии с Flickr.com.
Статья: https://habr.com/ru/articles/863314/
Платформа: iOS
Вопперы и табы: как мы сделали меню для Burger King
В прошлом году у нашей Android-команды на проекте Burger King был мощный вызов: сделать редизайн главного меню. Задача была непростая по двум причинам.
Первая — легаси код. Вторая — А/В тестирование.
И результат — старое меню и его логику нужно сохранить. Мы решили написать меню с нуля. Так было бы проще организовать А/В тест и потом избавиться от старого меню (не волнуйтесь, при создании нового меню ни один воппер не пострадал).
Статья: https://habr.com/ru/companies/surfstudio/articles/861264/
Платформа: Android
В прошлом году у нашей Android-команды на проекте Burger King был мощный вызов: сделать редизайн главного меню. Задача была непростая по двум причинам.
Первая — легаси код. Вторая — А/В тестирование.
И результат — старое меню и его логику нужно сохранить. Мы решили написать меню с нуля. Так было бы проще организовать А/В тест и потом избавиться от старого меню (не волнуйтесь, при создании нового меню ни один воппер не пострадал).
Статья: https://habr.com/ru/companies/surfstudio/articles/861264/
Платформа: Android
Как я уменьшил размер банковского приложения для iOS на 50%
TPBank - это мое вьетнамское банковское приложение, которым я пользуюсь каждый день уже 6 лет. Недавно я впервые посмотрел на размер приложения и был шокирован.
650 МБ. В 2 раза больше, чем средний размер банковского приложения в стране.
Мне стало любопытно, и я решил разобраться в этом.
В этой статье я расскажу о том, что мне удалось обнаружить, и о некоторых решениях, позволяющих сократить размер приложения вдвое. Надеюсь, вы сможете чему-то научиться и применить эти приемы в своем iOS-проекте.
Статья: https://apptractor.ru/info/articles/kak-ya-umenshil-razmer-bankovskogo-prilozheniya-dlya-ios-na-50.html
Платформа: iOS
TPBank - это мое вьетнамское банковское приложение, которым я пользуюсь каждый день уже 6 лет. Недавно я впервые посмотрел на размер приложения и был шокирован.
650 МБ. В 2 раза больше, чем средний размер банковского приложения в стране.
Мне стало любопытно, и я решил разобраться в этом.
В этой статье я расскажу о том, что мне удалось обнаружить, и о некоторых решениях, позволяющих сократить размер приложения вдвое. Надеюсь, вы сможете чему-то научиться и применить эти приемы в своем iOS-проекте.
Статья: https://apptractor.ru/info/articles/kak-ya-umenshil-razmer-bankovskogo-prilozheniya-dlya-ios-na-50.html
Платформа: iOS
Выделение текста в Compose
Недавно я наткнулся на несколько ИИ-приложений, переводящих текст в речь, и заметил, что у них есть одна общая особенность в пользовательском интерфейсе - выделение в тексте проговариваемого слова. Мне стало любопытно, как это можно сделать в композите Text, так что давайте разбираться!
Я не буду вдаваться в подробности того, как выделение слова синхронизируется с тем, что говорит приложение, поэтому давайте просто создадим текст и несколько кнопок для управления положением выделения.
Статья: https://apptractor.ru/info/articles/vydelenie-slov-v-compose.html
Платформа: Android
Недавно я наткнулся на несколько ИИ-приложений, переводящих текст в речь, и заметил, что у них есть одна общая особенность в пользовательском интерфейсе - выделение в тексте проговариваемого слова. Мне стало любопытно, как это можно сделать в композите Text, так что давайте разбираться!
Я не буду вдаваться в подробности того, как выделение слова синхронизируется с тем, что говорит приложение, поэтому давайте просто создадим текст и несколько кнопок для управления положением выделения.
Статья: https://apptractor.ru/info/articles/vydelenie-slov-v-compose.html
Платформа: Android
SFBAudioEngine - это библиотека для работы с разными аудио-форматами для macOS, iOS и tvOS. SFBAudioEngine поддерживает кодирование, декодирование, воспроизведение и преобразование для Ogg, Monkey's Audio, Musepack, Shorten, True Audio, WavPack и других форматов.
SFBAudioEngine на GitHub: https://github.com/sbooth/SFBAudioEngine
Платформа: iOS
⭐️: 574
SFBAudioEngine на GitHub: https://github.com/sbooth/SFBAudioEngine
Платформа: iOS
⭐️: 574
👍1
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Как мы внедряли пакетный менеджер и поняли всё про iOS-зависимости•
(iOS Ru) Как мы сделали внутренний сервис в The Composable Architecture•
(iOS En) Why not build Apple Intelligence ourselves?•
(iOS En) How to Limit the Xcode Console Spam with CloudKit and SwiftData•
(iOS En) SwiftUI App Intro Animation's - Walkthrough Page Animation's•
(iOS En) Extract UIKit View From SwiftUI View•
(iOS En) Swift Testing 101 - Xcode 16 Tutorial•
(And Ru) Как мы использовали Dynamic Feature Delivery на Android•
(And Ru) Как в Яндекс Музыке пишут визард с помощью Jetpack Compose•
(And Ru) Gradle уже не тот! Мнение билд инженера•
(And En) Clipping and masking | Jetpack Compose Tips•
(And En) How to Create a One-Time Password TextField in Jetpack Compose•
(And En) Immutable and Persistent Lists•
(And En) Hot Reload Magic•
(Crs En) UUID in Kotlin Multiplatform•
(Crs En) How to Manage Run-Time Permissions in Android and iOS with Compose Multiplatform•
(Dev Ru) Как повысить свою ценность в ИТ: в поиске новых компетенций•
(Dev Ru) Карьерный маршрут: от мидла до архитектора ПО•
(Dev Ru) Построение event-driven приложения с Apache Flink•
(Dev Ru) От исполнителя до менеджера менеджеров: что поможет, а что не спасет•
(Dev Ru) PL/SQL – SQL на стероидах: Oracle, энтерпрайз, базы данных•
(Mrk En) Playtime EMEA 2024#ios #android #mobile #video
Особенности использования сторонних сервисов в мобильных приложениях на примере Firebase
Сегодня мы затронем очень интересную тему — сервисы Firebase. Поговорим об их применении в мобильных приложениях и о том, как обеспечить их безопасность. Эта статья призвана обратить внимание разработчиков и ИБ-специалистов на внешние сервисы, которые используют приложения, поскольку они часто остаются без должного внимания и аудита. Очень надеемся, что после прочтения вы начнёте по-другому смотреть на безопасность мобильных продуктов, ведь они обмениваются данными не только с собственными серверами, но и с многими другими.
Статья: https://habr.com/ru/companies/swordfish_security/articles/864190/
Платформа: разработка
Сегодня мы затронем очень интересную тему — сервисы Firebase. Поговорим об их применении в мобильных приложениях и о том, как обеспечить их безопасность. Эта статья призвана обратить внимание разработчиков и ИБ-специалистов на внешние сервисы, которые используют приложения, поскольку они часто остаются без должного внимания и аудита. Очень надеемся, что после прочтения вы начнёте по-другому смотреть на безопасность мобильных продуктов, ведь они обмениваются данными не только с собственными серверами, но и с многими другими.
Статья: https://habr.com/ru/companies/swordfish_security/articles/864190/
Платформа: разработка
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Jetpack Compose Animations - примеры анимация на Compose. Прилагаются две статьи, которые объясняют принципы создания.
Jetpack Compose Animations на GitHub: https://github.com/canopas/compose-animations-examples
Платформа: Android
⭐️: 387
Jetpack Compose Animations на GitHub: https://github.com/canopas/compose-animations-examples
Платформа: Android
⭐️: 387
❤1
Пишем транзишинометр для Андроид. Как понять, что мои экраны открываются быстро?
Кто мы? Андроид-разработчики! Чего мы хотим? Чтобы наши списочки не подлагивали, анимашечки крутились плавно, а переходы между экранами были такими, что глаз радуется. Одним словом: чтобы интерфейс был плавным и отзывчивым, а переходы экранов — быстрыми. Чтобы быть уверенным, что всё действительно плавно и чётко, надо замерять! Но что замерять? Как измерить ту самую плавность, как оценить гладкость анимаций? У кого-нибудь есть плавнометр? Или может у вас есть транзишинометр?
Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса, наши плавнометры. Но этого недостаточно для того, чтобы понять, быстро ли у нас открываются экраны.
Мы поговорим, почему это так, и о том, как правильно оценивать время открытия экрана, ведь это один из самых заметных для пользователя моментов. Будем делать наш транзишинометр и замерять рендер экрана до первого onDraw и до последнего! И не переживайте! Мы посмотрим на то, как это делается и во Fragments, и в Compose.
Статья: https://habr.com/ru/companies/dododev/articles/862646/
Платформа: Android
Кто мы? Андроид-разработчики! Чего мы хотим? Чтобы наши списочки не подлагивали, анимашечки крутились плавно, а переходы между экранами были такими, что глаз радуется. Одним словом: чтобы интерфейс был плавным и отзывчивым, а переходы экранов — быстрыми. Чтобы быть уверенным, что всё действительно плавно и чётко, надо замерять! Но что замерять? Как измерить ту самую плавность, как оценить гладкость анимаций? У кого-нибудь есть плавнометр? Или может у вас есть транзишинометр?
Google даёт нам Macrobenchmark и JunkStats — инструменты для оценки общей отзывчивости и стабильности интерфейса, наши плавнометры. Но этого недостаточно для того, чтобы понять, быстро ли у нас открываются экраны.
Мы поговорим, почему это так, и о том, как правильно оценивать время открытия экрана, ведь это один из самых заметных для пользователя моментов. Будем делать наш транзишинометр и замерять рендер экрана до первого onDraw и до последнего! И не переживайте! Мы посмотрим на то, как это делается и во Fragments, и в Compose.
Статья: https://habr.com/ru/companies/dododev/articles/862646/
Платформа: Android
❤2👍1
Самые популярные видео WWDC24
Apple Intelligence, Apple Vision Pro, Swift 6, Xcode 16 и все, что было между ними, - это был захватывающий год. Вдохновитесь самыми популярными видео с WWDC 2024.
Плейлист: https://www.youtube.com/playlist?list=PLjODKV8YBFHYDZEQ7xPQk2RYT4Y1pgNIB
Платформа: iOS
Apple Intelligence, Apple Vision Pro, Swift 6, Xcode 16 и все, что было между ними, - это был захватывающий год. Вдохновитесь самыми популярными видео с WWDC 2024.
Плейлист: https://www.youtube.com/playlist?list=PLjODKV8YBFHYDZEQ7xPQk2RYT4Y1pgNIB
Платформа: iOS
❤3
Xcbeautify - украшатель xcodebuild, более быстрая альтернатива xcpretty, написанная на Swift.
Фичи: читаемый и подсвеченный вывод, поддержка вывода новой системы сборки, поддержка параллельного вывода тестирования в Xcode, поддержка форматирования вывода менеджера пакетов Swift, поддержка генерации отчетов JUnit, поддержка macOS и Linux, xcbeautify компилируется в статичный бинарник, который можно взять с собой куда угодно (это также означает меньшую зависимость от Ruby в вашей среде разработки и CI).
Xcbeautify на GitHub: https://github.com/cpisciotta/xcbeautify
Платформа: iOS
⭐️: 1K
Фичи: читаемый и подсвеченный вывод, поддержка вывода новой системы сборки, поддержка параллельного вывода тестирования в Xcode, поддержка форматирования вывода менеджера пакетов Swift, поддержка генерации отчетов JUnit, поддержка macOS и Linux, xcbeautify компилируется в статичный бинарник, который можно взять с собой куда угодно (это также означает меньшую зависимость от Ruby в вашей среде разработки и CI).
Xcbeautify на GitHub: https://github.com/cpisciotta/xcbeautify
Платформа: iOS
⭐️: 1K
❤1
Passage - это библиотека Kotlin Multiplatform, предназначенная для упрощения процессов аутентификации на платформах Android и iOS. Построенная на базе Firebase Authentication, Passage абстрагирует общие операции и предоставляет composable API для управления аутентификацией с помощью популярных провайдеров, таких как Google, Apple и Email/Password.
Passage на GitHub: https://github.com/Tweener/passage
Платформа: Android/кроссплатформа
⭐️: 29
Passage на GitHub: https://github.com/Tweener/passage
Платформа: Android/кроссплатформа
⭐️: 29
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Переход между общими элементами в Jetpack Compose
На мероприятии I/O 2024 компания Google представила функцию Shared Element Transitions для Jetpack Compose!
API Shared Element Transition предоставляет возможность создавать плавные и визуально привлекательные переходы между композитами, которые используют один и тот же элемент пользовательского интерфейса. Это помогает поддерживать визуальную непрерывность и улучшает пользовательский опыт, особенно при навигации по разным экранам.
Например, представьте, что пользователь нажимает на фотографию в списке, и вместо перехода на новый экран фотография плавно расширяется, заполняя весь экран, что создает отличное впечатление для пользователя. Раньше для создания подобных эффектов в Jetpack Compose требовался сложный код. Теперь Google упростила этот процесс, сделав его гораздо более доступным.
В этой статье мы расскажем о Shared Element Transitions и его ключевых элементах, а также покажем на наглядных примерах, как их настраивать. Во второй части мы расскажем, как настроить их для вашего приложения, чтобы создать интерактивный пользовательский опыт.
Статья: https://medium.com/simform-engineering/shared-element-transition-in-jetpack-compose-ad77ba202e49
Платформа: Android
На мероприятии I/O 2024 компания Google представила функцию Shared Element Transitions для Jetpack Compose!
API Shared Element Transition предоставляет возможность создавать плавные и визуально привлекательные переходы между композитами, которые используют один и тот же элемент пользовательского интерфейса. Это помогает поддерживать визуальную непрерывность и улучшает пользовательский опыт, особенно при навигации по разным экранам.
Например, представьте, что пользователь нажимает на фотографию в списке, и вместо перехода на новый экран фотография плавно расширяется, заполняя весь экран, что создает отличное впечатление для пользователя. Раньше для создания подобных эффектов в Jetpack Compose требовался сложный код. Теперь Google упростила этот процесс, сделав его гораздо более доступным.
В этой статье мы расскажем о Shared Element Transitions и его ключевых элементах, а также покажем на наглядных примерах, как их настраивать. Во второй части мы расскажем, как настроить их для вашего приложения, чтобы создать интерактивный пользовательский опыт.
Статья: https://medium.com/simform-engineering/shared-element-transition-in-jetpack-compose-ad77ba202e49
Платформа: Android
❤1
AppFiles - Mobile Development
Переход между общими элементами в Jetpack Compose На мероприятии I/O 2024 компания Google представила функцию Shared Element Transitions для Jetpack Compose! API Shared Element Transition предоставляет возможность создавать плавные и визуально привлекательные…
Мой перевод: https://apptractor.ru/info/articles/shared-element-transition-v-jetpack-compose.html
Поставьте 👍, если хотите вторую часть!
Поставьте 👍, если хотите вторую часть!
AppTractor
Shared Element Transition в Jetpack Compose
На мероприятии I/O 2024 компания Google представила функцию перехода между общими элементами (Shared Element Transitions) для Jetpack Compose! API Shared Element Transition предоставляет возможность создавать плавные и визуально привлекательные переходы между…
👍6
Улучшаем предварительные просмотры Xcode с помощью покрытия модульными тестами
Предварительный просмотр может быть подвержен неожиданным сбоям. Например, кто-то из вашей команды добавляет свойство в представление, использующее
Статья: https://apptractor.ru/info/articles/uluchshaem-predvaritelnye-prosmotry-xcode-s-pomoschyu-pokrytiya-modulnymi-testami.html
Платформа: iOS
Предварительный просмотр может быть подвержен неожиданным сбоям. Например, кто-то из вашей команды добавляет свойство в представление, использующее
@EnvironmentObject. Если он забудет обновить каждый вызов, чтобы установить окружение, приложение упадет. Любой предварительный просмотр, использующий представление без environment, также будет аварийно завершен, когда Xcode попытается отобразить предварительный просмотр. Эта проблема еще более сложная, потому что в Xcode нет встроенного способа проверить, что превью не упадут, без ручного тестирования каждого из них — а это заняло бы невероятно много времени.Статья: https://apptractor.ru/info/articles/uluchshaem-predvaritelnye-prosmotry-xcode-s-pomoschyu-pokrytiya-modulnymi-testami.html
Платформа: iOS
👍1
FlipNumberView имитирует аналоговый перекидной дисплей (например, такой, как в аэропорту или на вокзале). Он хорошо абстрагирован и прост в использовании. Еще есть FlipImageView, который позволяет запускать аналогичную анимацию на любом представлении, например, на изображениях. Рабочие примеры смотрите в примере проекта (чтобы быстро открыть пример проекта, можно запустить pod try JDFlipNumberView).
FlipNumberView на GitHub: https://github.com/calimarkus/JDFlipNumberView
Платформа: iOS
⭐️: 787
FlipNumberView на GitHub: https://github.com/calimarkus/JDFlipNumberView
Платформа: iOS
⭐️: 787
Распознавание текста в реальном времени с Jetpack Compose
Используя современный инструментарий пользовательского интерфейса Compose - Jetpack CameraX - и мощь ML Kit, мы создадим плавный, интуитивно понятный опыт для распознавания текста в реальном времени. Создаете ли вы сканер документов, помощника для ввода данных или просто хотите поэкспериментировать с крутыми технологиями, это руководство обеспечит практический пошаговый подход к интеграции этих функций в ваше приложение.
Статья: https://apptractor.ru/info/articles/raspoznavanie-teksta-v-realnom-vremeni-s-jetpack-compose.html
Платформа: Android
Используя современный инструментарий пользовательского интерфейса Compose - Jetpack CameraX - и мощь ML Kit, мы создадим плавный, интуитивно понятный опыт для распознавания текста в реальном времени. Создаете ли вы сканер документов, помощника для ввода данных или просто хотите поэкспериментировать с крутыми технологиями, это руководство обеспечит практический пошаговый подход к интеграции этих функций в ваше приложение.
Статья: https://apptractor.ru/info/articles/raspoznavanie-teksta-v-realnom-vremeni-s-jetpack-compose.html
Платформа: Android
❤1🥰1
Visual Code Space - это современный редактор кода, разработанный для устройств на Android. С его помощью вы сможете создавать код на ходу, используя удобную и эффективную среду. Забудьте о громоздких настройках, погрузитесь в кодинг с интуитивно понятным интерфейсом и мощными функциями.
Visual Code Space на GitHub: https://github.com/Visual-Code-Space/Visual-Code-Space
Платформа: Android
⭐️: 265
Visual Code Space на GitHub: https://github.com/Visual-Code-Space/Visual-Code-Space
Платформа: Android
⭐️: 265
😱1
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS En) Все видео Swift Connection 2024•
(iOS En) Самые популярные видео WWDC24•
(iOS En) Predictive code completion on Xcode 16.1: Does it live up to the hype?•
(iOS En) Credit Card Input Form - SwiftUI•
(iOS En) Teach App Interactions to Users - SwiftUI•
(And Ru) Полный разбор Kotlin Delegated Property•
(And En) A vision for Android XR•
(And En) Full Blueprint For Compose State Management - Free Live Workshop•
(And En) Top 3 Custom Loading Animations In Jetpack Compose•
(And En) Expanding Jewel: Markdown-to-Compose Magic•
(Crs Ru) BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности•
(Crs En) Going from Swift to Kotlin with Skip•
(Dev Ru) Карьера и лидерство в IT•
(Dev Ru) Вся правда о грейдах, ревью и промоушенах•
(Dev Ru) Искусство создания антихрупкого API•
(Dev Ru) Путь к профессии BА: для кого подходит и как на него выйти•
(Dev En) Gemini 2.0 for developers#ios #android #mobile #video
Reddit улучшил скорость запуска приложений более чем на 50% с помощью базовых профилей и R8
Reddit - один из крупнейших в мире интернет-форумов, объединяющий бесчисленные сообщества, ищущие развлечения, ответы на повседневные вопросы и многое другое. Недавно команда оптимизировала свое приложение для Android, чтобы улучшить скорость запуска и повысить производительность рендеринга с помощью Baseline Profiles. Но на этом команда не остановилась. Разработчики приложения Reddit также включили компилятор R8 на полный режим, чтобы максимально оптимизировать байткод, и использовали Jetpack Compose для переписывания устаревшего пользовательского интерфейса, улучшая работу пользователей и разработчиков.
Статья: https://android-developers.googleblog.com/2024/12/reddit-improved-app-startup-speed-using-baseline-profiles-r8.html
Платформа: Android
Reddit - один из крупнейших в мире интернет-форумов, объединяющий бесчисленные сообщества, ищущие развлечения, ответы на повседневные вопросы и многое другое. Недавно команда оптимизировала свое приложение для Android, чтобы улучшить скорость запуска и повысить производительность рендеринга с помощью Baseline Profiles. Но на этом команда не остановилась. Разработчики приложения Reddit также включили компилятор R8 на полный режим, чтобы максимально оптимизировать байткод, и использовали Jetpack Compose для переписывания устаревшего пользовательского интерфейса, улучшая работу пользователей и разработчиков.
Статья: https://android-developers.googleblog.com/2024/12/reddit-improved-app-startup-speed-using-baseline-profiles-r8.html
Платформа: Android
👍3