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
CoordinatorX - навигационный фреймворк SwiftUI для iOS, macOS, tvOS, watchOS и visionOS, основанный на паттерне Координатор.
CoordinatorX на GitHub: https://github.com/edon2005/CoordinatorX
Платформа: iOS
⭐️: 5
Еще: видео "Паттерн Координатор для навигация в iOS-приложении"
CoordinatorX на GitHub: https://github.com/edon2005/CoordinatorX
Платформа: iOS
⭐️: 5
Еще: видео "Паттерн Координатор для навигация в iOS-приложении"
Как собрать и внедрить высоконагруженный модуль. Опыт Звука
На связи Ринат Кутуев, iOS-разработчик в платформенной команде HiFi-стриминга Звук. В iOS-разработке уже 5 лет. Успел заложить архитектуру для 3 высоконагруженных приложений, которые стабильно расширяют свой функционал. Сегодня я поделюсь своим опытом построения сложного модуля на примере сетевого слоя и расскажу, какими инструментами и подходами мы пользовались в процессе работы.
Статья: https://habr.com/ru/companies/zvuk/articles/864166/
Платформа: iOS
На связи Ринат Кутуев, iOS-разработчик в платформенной команде HiFi-стриминга Звук. В iOS-разработке уже 5 лет. Успел заложить архитектуру для 3 высоконагруженных приложений, которые стабильно расширяют свой функционал. Сегодня я поделюсь своим опытом построения сложного модуля на примере сетевого слоя и расскажу, какими инструментами и подходами мы пользовались в процессе работы.
Статья: https://habr.com/ru/companies/zvuk/articles/864166/
Платформа: iOS
❤1😁1
Добавляем Image Playground в приложение
Помимо приложения для пользователей, разработчикам Image Playground предлагает фреймворк, позволяющий интегрировать генерацию изображений в приложения, встраивая компоненты, вызывающие и представляющие интерфейс Image Playground, доступный как в UIKit, так и в SwiftUI.
Чтобы углубиться в тему, мы реализуем приложение, генерирующее обложки для текстовых историй.
Статья: https://apptractor.ru/info/articles/dobavlyaem-image-playground-v-prilozhenie.html
Платформа: iOS
Помимо приложения для пользователей, разработчикам Image Playground предлагает фреймворк, позволяющий интегрировать генерацию изображений в приложения, встраивая компоненты, вызывающие и представляющие интерфейс Image Playground, доступный как в UIKit, так и в SwiftUI.
Чтобы углубиться в тему, мы реализуем приложение, генерирующее обложки для текстовых историй.
Статья: https://apptractor.ru/info/articles/dobavlyaem-image-playground-v-prilozhenie.html
Платформа: iOS
❤1👍1
Интегрируем Rust в Android-приложение
Rust — это язык системного программирования общего назначения, который существует уже довольно давно. Его можно использовать для выполнения задач, которые реализуются сейчас на C и C++, но с гораздо большей безопасностью памяти. Это позволяет использовать Rust для написания программ или скриптов для многих операционных систем, включая Android. Вы можете задаться вопросом, как это возможно и есть ли простой способ сделать это. Вот об этом эта статья!
Статья: https://apptractor.ru/info/articles/integriruem-rust-v-android-prilozhenie.html
Платформа: Android
Rust — это язык системного программирования общего назначения, который существует уже довольно давно. Его можно использовать для выполнения задач, которые реализуются сейчас на C и C++, но с гораздо большей безопасностью памяти. Это позволяет использовать Rust для написания программ или скриптов для многих операционных систем, включая Android. Вы можете задаться вопросом, как это возможно и есть ли простой способ сделать это. Вот об этом эта статья!
Статья: https://apptractor.ru/info/articles/integriruem-rust-v-android-prilozhenie.html
Платформа: Android
👍2
ADBR-Server - современная реализация сервера Android Debug Bridge (ADB), написанная на Rust, с упором на сопровождаемость кода, стабильность и лучшую обработку ошибок. В настоящее время поддерживает только Linux-системы и USB-устройства (пока что).
Этот сервер работает в тандеме с ADBR Client, чтобы обеспечить полную замену ADB. Вместе они обеспечивают повышенную стабильность, лучшую обработку ошибок и уникальные возможности при использовании в паре. В будущих выпусках будут представлены эксклюзивные функции, использующие совместную работу клиента и сервера.
Проект ADBR направлен на улучшение возможностей отладки Android-приложений.
ADBR-Server на GitHub: https://github.com/xDvir/ADBRServer
Платформа: Android
⭐️: 21
Этот сервер работает в тандеме с ADBR Client, чтобы обеспечить полную замену ADB. Вместе они обеспечивают повышенную стабильность, лучшую обработку ошибок и уникальные возможности при использовании в паре. В будущих выпусках будут представлены эксклюзивные функции, использующие совместную работу клиента и сервера.
Проект ADBR направлен на улучшение возможностей отладки Android-приложений.
ADBR-Server на GitHub: https://github.com/xDvir/ADBRServer
Платформа: Android
⭐️: 21
👍2
Ищем неиспользуемый код с Periphery
Недавно мне рассказали о Periphery, инструменте командной строки для поиска неиспользуемого кода в проектах на Swift. Для чего нужен свободный от работы день, как не для того, чтобы весело поиграть с новым инструментом?
Статья: https://apptractor.ru/info/articles/ischem-neispolzuemyy-kod-s-periphery.html
Платформа: iOS
Недавно мне рассказали о Periphery, инструменте командной строки для поиска неиспользуемого кода в проектах на Swift. Для чего нужен свободный от работы день, как не для того, чтобы весело поиграть с новым инструментом?
Статья: https://apptractor.ru/info/articles/ischem-neispolzuemyy-kod-s-periphery.html
Платформа: iOS
👍2
Почему никогда не следует использовать
Использование
Статья: https://apptractor.ru/info/articles/pochemu-nikogda-ne-sleduet-ispolzovat-v-kotlin.html
Платформа: Android
!! в KotlinИспользование
!! - это плохая практика; множество альтернатив покрывают все остальные возможные случаи. Использование этого оператора - это хак и сокращение, которое приведет к обратному результату и не сэкономит вам много времени даже в момент написания. Не стоит использовать его, если только вы не пишете короткий личный скрипт.Статья: https://apptractor.ru/info/articles/pochemu-nikogda-ne-sleduet-ispolzovat-v-kotlin.html
Платформа: Android
❤2
Понимаем целостность ViewModel при изменении конфигурации в Android
Одна из самых распространенных проблем, с которой сталкиваются Android-разработчики - управление данными при изменении конфигурации, например при повороте экрана. Традиционно для сохранения и восстановления данных требовалась обработка onSaveInstanceState() или использование сохраненных фрагментов. Архитектурный компонент ViewModel упрощает этот процесс, выживая при изменении конфигурации и сохраняя данные, связанные с пользовательским интерфейсом. Но как ViewModel достигает этого сохранения внутри себя? Давайте погрузимся в механику и внутреннюю реализацию системы ViewModel.
Статья: https://proandroiddev.com/understanding-viewmodel-persistence-across-configuration-changes-in-android-4dc26fa8ae59
Платформа: Android
Одна из самых распространенных проблем, с которой сталкиваются Android-разработчики - управление данными при изменении конфигурации, например при повороте экрана. Традиционно для сохранения и восстановления данных требовалась обработка onSaveInstanceState() или использование сохраненных фрагментов. Архитектурный компонент ViewModel упрощает этот процесс, выживая при изменении конфигурации и сохраняя данные, связанные с пользовательским интерфейсом. Но как ViewModel достигает этого сохранения внутри себя? Давайте погрузимся в механику и внутреннюю реализацию системы ViewModel.
Статья: https://proandroiddev.com/understanding-viewmodel-persistence-across-configuration-changes-in-android-4dc26fa8ae59
Платформа: Android
❤1
Фоновая загрузка на сервер в iOS 🚀
Я заметил, что в сети есть тонны статей с советами и туманными теориями, но почти нет реальных примеров того, как реализовать фоновую загрузку в iOS-приложениях. Поэтому в этой статье я расскажу об основах выполнения кода в фоновом режиме и покажу вам реальный проект, в котором я реализовал фоновую загрузку файлов.
Статья: https://medium.com/@diananareiko8/background-upload-in-ios-f885ed439bd3
Платформа: iOS
Я заметил, что в сети есть тонны статей с советами и туманными теориями, но почти нет реальных примеров того, как реализовать фоновую загрузку в iOS-приложениях. Поэтому в этой статье я расскажу об основах выполнения кода в фоновом режиме и покажу вам реальный проект, в котором я реализовал фоновую загрузку файлов.
Статья: https://medium.com/@diananareiko8/background-upload-in-ios-f885ed439bd3
Платформа: iOS
👍2🔥1
SRNetworkManager - это мощный и гибкий сетевой уровень для приложений Swift. Он обеспечивает общий, ориентированный на протоколы подход к обработке API-запросов, поддерживая как Combine, так и парадигму async/await. Этот пакет разработан как простой в использовании, хорошо настраиваемый и полностью совместимый со Swift 6 и протоколом Sendable.
SRNetworkManager на GitHub: https://github.com/siamakrostami/SRNetworkManager
Платформа: iOS
⭐️: 16
SRNetworkManager на GitHub: https://github.com/siamakrostami/SRNetworkManager
Платформа: iOS
⭐️: 16
Интеграция Расширений в большие iOS-приложения
Сегодня, когда вы открываете Apple Maps и выбираете пункт назначения, вы можете увидеть список доступных предложений Lyft, что позволит вам легко перейти в приложение Lyft, чтобы заказать следующую поездку. Однако для создания такого плавного и удобного опыта в экосистеме iOS инженерам приходится решать целый ряд технических задач, от управления зависимостями в высокомодульном приложении до оптимизации производительности при сохранении высокого качества пользовательского опыта.
Статья Lyft: https://eng.lyft.com/integrating-extensions-into-large-scale-ios-apps-8f15dc5f3be9
Платформа: iOS
Сегодня, когда вы открываете Apple Maps и выбираете пункт назначения, вы можете увидеть список доступных предложений Lyft, что позволит вам легко перейти в приложение Lyft, чтобы заказать следующую поездку. Однако для создания такого плавного и удобного опыта в экосистеме iOS инженерам приходится решать целый ряд технических задач, от управления зависимостями в высокомодульном приложении до оптимизации производительности при сохранении высокого качества пользовательского опыта.
Статья Lyft: https://eng.lyft.com/integrating-extensions-into-large-scale-ios-apps-8f15dc5f3be9
Платформа: iOS
👍1
Как обычно :), для статьи, получившей вчера больше всего просмотров, русский перевод.
Фоновая загрузка файлов на сервер в iOS
Когда приложение переходит в приостановленное состояние, все задачи останавливаются. Но не волнуйтесь! iOS предоставляет несколько способов продолжить выполнение задач в фоновом режиме.
Статья: https://apptractor.ru/info/articles/fonovaya-zagruzka-faylov-na-server-v-ios.html
Платформа: iOS
Фоновая загрузка файлов на сервер в iOS
Когда приложение переходит в приостановленное состояние, все задачи останавливаются. Но не волнуйтесь! iOS предоставляет несколько способов продолжить выполнение задач в фоновом режиме.
Статья: https://apptractor.ru/info/articles/fonovaya-zagruzka-faylov-na-server-v-ios.html
Платформа: iOS
👍1
Dagger 2: как сделать свой DI за 10 минут
Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем. А это может создавать определённые трудности, особенно при отладке сложных проблем или при необходимости настройки более сложных сценариев внедрения зависимостей.
Статья: https://habr.com/ru/companies/ozontech/articles/866452/
Платформа: Android
Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем. А это может создавать определённые трудности, особенно при отладке сложных проблем или при необходимости настройки более сложных сценариев внедрения зависимостей.
Статья: https://habr.com/ru/companies/ozontech/articles/866452/
Платформа: Android
👍1
Inure - это менеджер пакетов для Android. Он может сканировать внутренние компоненты любого приложения и изменять их на ходу. Кроме того, в нем есть эмулятор терминала, статистика использования, установщик Split/APK и другие инструменты, хотя многие из них еще ждут своей реализации. Кроме того, все функции Inure работают как в режиме Root, так и в режиме Shizuku.
Разработка Inure началась как независимый учебный проект, который впоследствии стал одним из самых амбициозных и удобных приложений для Android, разработанных одним человеком. Приложение на 100% основано на кастомных UI API, разработанных для использования только в этом приложении с собственным движком тем, обработчиком крешей, рендерером изображений и красивым анимационным фреймворком.
Inure на GitHub: https://github.com/Hamza417/Inure
Платформа: Android
⭐️: 1.2K
Разработка Inure началась как независимый учебный проект, который впоследствии стал одним из самых амбициозных и удобных приложений для Android, разработанных одним человеком. Приложение на 100% основано на кастомных UI API, разработанных для использования только в этом приложении с собственным движком тем, обработчиком крешей, рендерером изображений и красивым анимационным фреймворком.
Inure на GitHub: https://github.com/Hamza417/Inure
Платформа: Android
⭐️: 1.2K
👍1
Совместить DDD и MVVM: Разработка приложения-трекера расходов по правилу 50-30-20 на .NET MAUI
Сегодня я бы хотел рассказать вам про свое приложение Profitocracy, которое помогает мне следить за личными расходами, а также автоматически планировать бюджет на месяц.
Статья: https://habr.com/ru/articles/867768/
Платформа: кроссплатформа
Сегодня я бы хотел рассказать вам про свое приложение Profitocracy, которое помогает мне следить за личными расходами, а также автоматически планировать бюджет на месяц.
Статья: https://habr.com/ru/articles/867768/
Платформа: кроссплатформа
👍1
Понимаем аннотации Hilt за 5 минут
Hilt - это библиотека инъекции зависимостей для Android, которая позволяет сократить количество ручных инъекций зависимостей в вашем проекте. Она построена на основе хорошо зарекомендовавшей себя библиотеки Dagger2.
Аннотации Hilt - это специальные слова или фразы, которые используются для того, чтобы помочь библиотеке Hilt правильно работать в Android-проекте. В этом руководстве мы расскажем о некоторых основных аннотациях, с которыми вы столкнетесь в любом проекте с инъекцией Hilt, а также приведем примеры кода.
Статья: https://proandroiddev.com/5-minute-guide-on-understanding-hilt-annotations-50fe33b1919b
Платформа: Android
Hilt - это библиотека инъекции зависимостей для Android, которая позволяет сократить количество ручных инъекций зависимостей в вашем проекте. Она построена на основе хорошо зарекомендовавшей себя библиотеки Dagger2.
Аннотации Hilt - это специальные слова или фразы, которые используются для того, чтобы помочь библиотеке Hilt правильно работать в Android-проекте. В этом руководстве мы расскажем о некоторых основных аннотациях, с которыми вы столкнетесь в любом проекте с инъекцией Hilt, а также приведем примеры кода.
Статья: https://proandroiddev.com/5-minute-guide-on-understanding-hilt-annotations-50fe33b1919b
Платформа: Android
👍1