Yams - парсер YAML для Swift (YAML - это удобный для человека язык сериализации данных). В Yams есть три группы API преобразований: одна для использования с типами Codable, другая - для типов стандартной библиотеки Swift, а третья - для нативного представления Yams.
Yams на GitHub: https://github.com/jpsim/Yams
Платформа: iOS
⭐️: 1.1K
Yams на GitHub: https://github.com/jpsim/Yams
Платформа: iOS
⭐️: 1.1K
R8: Шакалья работа (уменьшение apk через правки R8)
Если расширить алфавит который используется в r8 для минификации, то может уменьшиться размер обновлений apk и dex файлов.
Статья: https://habr.com/ru/articles/885006/
Платформа: Android
Если расширить алфавит который используется в r8 для минификации, то может уменьшиться размер обновлений apk и dex файлов.
Статья: https://habr.com/ru/articles/885006/
Платформа: Android
Хабр
R8: Шакалья работа (уменьшение apk через правки R8)
TL;DR Если расширить алфавит который используется в r8 для минификации, то может уменьшиться размер обновлений apk и dex файлов. Дисклеймер Всё что угодно в этом материале, может быть враньём. Не...
Приватный финансовый менеджер inCourse на React Native. Опыт разработки
Идея написать финансовый менеджер в качестве пет‑проекта пришла мне в июле 2022 г. В сфере управления личными финансами у меня уже имелся достаточный опыт (в т.ч. опыт торговли акциями, валютными парами, ПФИ и проч.), и было понимание важности единого учета финансов для их анализа и управления. Учет я вел в Excel, но хотелось создать что‑то более удобное в красивой упаковке. Опыта программирования на RN у меня к тому моменту не было, и я решил изучать его по ходу разработки на конкретных задачах проекта. Изучение документации RN не заняло много времени — в основе своей это тот же React с некоторыми упрощениями.
Статья: https://habr.com/ru/articles/883844/
Платформа: кроссплатформа
Идея написать финансовый менеджер в качестве пет‑проекта пришла мне в июле 2022 г. В сфере управления личными финансами у меня уже имелся достаточный опыт (в т.ч. опыт торговли акциями, валютными парами, ПФИ и проч.), и было понимание важности единого учета финансов для их анализа и управления. Учет я вел в Excel, но хотелось создать что‑то более удобное в красивой упаковке. Опыта программирования на RN у меня к тому моменту не было, и я решил изучать его по ходу разработки на конкретных задачах проекта. Изучение документации RN не заняло много времени — в основе своей это тот же React с некоторыми упрощениями.
Статья: https://habr.com/ru/articles/883844/
Платформа: кроссплатформа
Почему Ollie перешел от SwiftUI к UIKit
Несколько месяцев назад мы приняли решение отказаться от SwiftUI и Swift Concurrency в нашем приложении и перевести ядро приложения на UIKit и Dispatch. Недавно мы перевели все управление экранами и навигацией в нашем приложении на UIKit, и это позволило нам удалить сразу несколько обходных хаков и решить кучу проблем с производительностью и ошибок, которые у нас были.
Многие люди интересовались подробностями того, почему мы приняли такое решение, поэтому эта статья для вас.
Статья: https://apptractor.ru/info/articles/pochemu-ollie-pereshel-ot-swiftui-k-uikit.html
Платформа: iOS
Несколько месяцев назад мы приняли решение отказаться от SwiftUI и Swift Concurrency в нашем приложении и перевести ядро приложения на UIKit и Dispatch. Недавно мы перевели все управление экранами и навигацией в нашем приложении на UIKit, и это позволило нам удалить сразу несколько обходных хаков и решить кучу проблем с производительностью и ошибок, которые у нас были.
Многие люди интересовались подробностями того, почему мы приняли такое решение, поэтому эта статья для вас.
Статья: https://apptractor.ru/info/articles/pochemu-ollie-pereshel-ot-swiftui-k-uikit.html
Платформа: iOS
Разработка5 лет опыта ИЛИ 5 раз по 1 году?
Помню, как после собеседования кто-то сказал мне, что у кандидата, которого мы только что видели, не 5 лет опыта, а 5 раз по 1 году.
Это было очень хорошее замечание. Этот человек постоянно работал над небольшими, очень простыми проектами на одинаковых этапах. Из-за этого он никогда не развивал свои навыки, и большинство лет его опыта не имели значения по сравнению с другими кандидатами, которые сталкивались с более широким кругом проблем и задач.
Конечно, логично, что годы, проведенные в отрасли, не означают напрямую большего стажа, но, как ни странно, часто предполагается, что люди со временем становятся лучше. Фокус в том, что это не так, и существует предел того, чего можно достичь, если оставаться на одной и той же работе и не пытаться выйти из своей зоны комфорта.
Статья: https://apptractor.ru/info/articles/5-let-opyta-ili-5-raz-po-1-godu.html
Платформа: карьера
Помню, как после собеседования кто-то сказал мне, что у кандидата, которого мы только что видели, не 5 лет опыта, а 5 раз по 1 году.
Это было очень хорошее замечание. Этот человек постоянно работал над небольшими, очень простыми проектами на одинаковых этапах. Из-за этого он никогда не развивал свои навыки, и большинство лет его опыта не имели значения по сравнению с другими кандидатами, которые сталкивались с более широким кругом проблем и задач.
Конечно, логично, что годы, проведенные в отрасли, не означают напрямую большего стажа, но, как ни странно, часто предполагается, что люди со временем становятся лучше. Фокус в том, что это не так, и существует предел того, чего можно достичь, если оставаться на одной и той же работе и не пытаться выйти из своей зоны комфорта.
Статья: https://apptractor.ru/info/articles/5-let-opyta-ili-5-raz-po-1-godu.html
Платформа: карьера
This media is not supported in your browser
VIEW IN TELEGRAM
Lucky Wheel View Compose - барабан из “Поля чудес” (Lucky Wheel). Почти все элементы настраиваются, а логика работы готова, есть плавные анимации, иконки можно загружать с Coil, поддерживается Android Views и Jetpack Compose и много других приятных фич.
Lucky Wheel View Compose на GitHub: https://github.com/caneryilmaz52/LuckyWheelViewCompose
Платформа: Android
⭐️: 12
Lucky Wheel View Compose на GitHub: https://github.com/caneryilmaz52/LuckyWheelViewCompose
Платформа: Android
⭐️: 12
❤1😁1
Как создать загрузчик с вращающимися кругами в Jetpack Compose
Из этой статьи вы узнаете, как в Jetpack Compose создать пользовательскую анимацию загрузки с кругами, вращающимися вокруг центральной точки.
Статья: https://nuancesprog.ru/p/23504/
Платформа: Android
Из этой статьи вы узнаете, как в Jetpack Compose создать пользовательскую анимацию загрузки с кругами, вращающимися вокруг центральной точки.
Статья: https://nuancesprog.ru/p/23504/
Платформа: Android
❤1
Task.sleep() и Task.yield(): в чем разница
В Swift Concurrency мы можем использовать
Зная эти различия, вы сможете лучше понять, когда и как использовать те или иные функции, а также оптимизировать свой код соответствующим образом.
Статья: https://apptractor.ru/info/articles/task-sleep-i-task-yield-v-chem-raznitsa.html
Платформа: iOS
В Swift Concurrency мы можем использовать
Task.sleep() и Task.yield(), чтобы перевести конкретную задачу в режим ожидания или приостановки в течение определенного периода времени. Оба они выглядят и ведут себя одинаково, но есть несколько существенных различий, о которых следует знать Swift-разработчикам.Зная эти различия, вы сможете лучше понять, когда и как использовать те или иные функции, а также оптимизировать свой код соответствующим образом.
Статья: https://apptractor.ru/info/articles/task-sleep-i-task-yield-v-chem-raznitsa.html
Платформа: iOS
👍2
Как я прототипирую цвета в Jetpack Compose
В этой небольшой статье я расскажу о том, как я управляю цветами и работаю с ними, создавая прототипы новых пользовательских интерфейсов. Это будет ориентировано на разработчиков, которые делают что-то быстро, без бренд-буков или готовых дизайнов.
В такие творческие моменты лучше всего отдавать предпочтение быстрой итерации, так что давайте рассмотрим некоторые тактики для достижения этой цели.
Статья: https://apptractor.ru/info/articles/kak-ya-prototipiruyu-tsveta-v-jetpack-compose.html
Платформа: Android
В этой небольшой статье я расскажу о том, как я управляю цветами и работаю с ними, создавая прототипы новых пользовательских интерфейсов. Это будет ориентировано на разработчиков, которые делают что-то быстро, без бренд-буков или готовых дизайнов.
В такие творческие моменты лучше всего отдавать предпочтение быстрой итерации, так что давайте рассмотрим некоторые тактики для достижения этой цели.
Статья: https://apptractor.ru/info/articles/kak-ya-prototipiruyu-tsveta-v-jetpack-compose.html
Платформа: Android
❤1
Xcodebuild.nvim - плагин, предназначенный для переноса разработки приложений из Xcode в Neovim. Он организует все необходимые действия для разработки, включая сборку, отладку и тестирование.
Фичи - поддержка iOS, iPadOS, watchOS, tvOS, visionOS и macOS, Swift Packages, проектных конфигураций, ассетов, тестов (в том числе Swift Testing), превью для SwiftUI, UIKit и AppKit, сборка, запуск, отладка приложений на симуляторах или физических устройствах.
Xcodebuild.nvim на GitHub: https://github.com/wojciech-kulik/xcodebuild.nvim
Платформа: iOS
⭐️: 841
Фичи - поддержка iOS, iPadOS, watchOS, tvOS, visionOS и macOS, Swift Packages, проектных конфигураций, ассетов, тестов (в том числе Swift Testing), превью для SwiftUI, UIKit и AppKit, сборка, запуск, отладка приложений на симуляторах или физических устройствах.
Xcodebuild.nvim на GitHub: https://github.com/wojciech-kulik/xcodebuild.nvim
Платформа: iOS
⭐️: 841
🔥2
Чем полезен Server Driven UI
Сегодня поговорим о Server Driven UI вот по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрим наши подходы к ее реализации
Статья: https://habr.com/ru/companies/mkb/articles/885648/
Платформа: разработка
Сегодня поговорим о Server Driven UI вот по такому плану:
• что это вообще за технология
• из чего она состоит
• рассмотрим наши подходы к ее реализации
Статья: https://habr.com/ru/companies/mkb/articles/885648/
Платформа: разработка
👍1
Прекратите использовать тестовые теги в Jetpack Compose
Тестирование UI с помощью Jetpack Compose в основном основано на поиске узлов в дереве семантики, которое состоит из composable элементов.
Я заметил, что некоторые люди используют тестовые теги (test tags) в качестве модификаторов для своих составных элементов, чтобы сделать их легкодоступными.
Статья: https://apptractor.ru/info/articles/prekratite-ispolzovat-testovye-tegi-v-jetpack-compose.html
Платформа: Android
Тестирование UI с помощью Jetpack Compose в основном основано на поиске узлов в дереве семантики, которое состоит из composable элементов.
Я заметил, что некоторые люди используют тестовые теги (test tags) в качестве модификаторов для своих составных элементов, чтобы сделать их легкодоступными.
Статья: https://apptractor.ru/info/articles/prekratite-ispolzovat-testovye-tegi-v-jetpack-compose.html
Платформа: Android
Добавляем SharePlay в iOS-приложение
Недавно я работал над функцией NowPlaying, которая использует API SharePlay в iOS, позволяя пользователям присоединяться к сеансам прослушивания и открывать новую музыку вместе со своими друзьями.
Мне пришлось немало потрудиться, чтобы заставить все работать, и я обнаружил, что документация Apple по настройке сессий SharePlay скудная и немного запутанная. По этой причине я решил написать исчерпывающее руководство по настройке сеанса SharePlay, в котором собраны все мои находки.
Статья: https://apptractor.ru/info/articles/dobavlyaem-shareplay-v-ios-prilozhenie.html
Платформа: iOS
Недавно я работал над функцией NowPlaying, которая использует API SharePlay в iOS, позволяя пользователям присоединяться к сеансам прослушивания и открывать новую музыку вместе со своими друзьями.
Мне пришлось немало потрудиться, чтобы заставить все работать, и я обнаружил, что документация Apple по настройке сессий SharePlay скудная и немного запутанная. По этой причине я решил написать исчерпывающее руководство по настройке сеанса SharePlay, в котором собраны все мои находки.
Статья: https://apptractor.ru/info/articles/dobavlyaem-shareplay-v-ios-prilozhenie.html
Платформа: iOS
👍1
Video Player App - пример приложения для Android, написанный на Kotlin и Jetpack Compose, поддерживающий различное расположение навигации в зависимости от размера экрана. Media 3 Exoplayer реализован на основе single activity архитектуры. Он полностью функционален и поддерживает функцию «картинка в картинке». Еще в приложении используется MVVM, корутины и Flow, Dagger Hilt, Material 3, динамический лейаут с Windows Size Class, Gradle Kotlin DSL, базовые профили.
Video Player App на GitHub: https://github.com/ryanw-mobile/video-player-app
Платформа: Android
⭐️: 14
Video Player App на GitHub: https://github.com/ryanw-mobile/video-player-app
Платформа: Android
⭐️: 14
This media is not supported in your browser
VIEW IN TELEGRAM
Протокол Animatable: укрощение анимаций в SwiftUI
В SwiftUI-разработке вы когда-нибудь сталкивались с ситуацией, когда, казалось бы, правильный код анимации не работает так, как ожидалось? Или анимации, которые отлично работают на одних версиях iOS, ведут себя ненормально на других? Эти досадные проблемы с анимацией часто можно решить с помощью мощного, но не слишком заметного инструмента - протокола
Статья: https://apptractor.ru/info/articles/animatable-2.html
Платформа: iOS
В SwiftUI-разработке вы когда-нибудь сталкивались с ситуацией, когда, казалось бы, правильный код анимации не работает так, как ожидалось? Или анимации, которые отлично работают на одних версиях iOS, ведут себя ненормально на других? Эти досадные проблемы с анимацией часто можно решить с помощью мощного, но не слишком заметного инструмента - протокола
Animatable.Статья: https://apptractor.ru/info/articles/animatable-2.html
Платформа: iOS
👍2🔥1
Что такое Single Activity архитектура в Android
В последние годы Single Activity архитектура набирает популярность в разработке Android-приложений. Такой подход предполагает использование единственной Activity, внутри которой осуществляется навигация между различными экранами. Давайте разберёмся, в чём преимущества этого подхода, как его реализовать и какие инструменты помогут упростить работу с ним.
Статья: https://apptractor.ru/info/articles/chto-takoe-single-activity-arhitektura-v-android.html
Платформа: Android
В последние годы Single Activity архитектура набирает популярность в разработке Android-приложений. Такой подход предполагает использование единственной Activity, внутри которой осуществляется навигация между различными экранами. Давайте разберёмся, в чём преимущества этого подхода, как его реализовать и какие инструменты помогут упростить работу с ним.
Статья: https://apptractor.ru/info/articles/chto-takoe-single-activity-arhitektura-v-android.html
Платформа: Android
Остерегайтесь READ_MEDIA_IMAGES
Если вы являетесь Android-разработчиком, то, возможно, знаете о недавнем изменении политики Google Play в отношении разрешения READ_MEDIA_IMAGES. К сожалению, мы не знали. В этом посте поделимся опытом того, как добавление этого разрешения в манифест заблокировало нам возможность выпустить приложение в альфа-канал, и почему вы должны быть осторожны, прежде чем добавлять это разрешение в свой проект.
Статья: https://apptractor.ru/info/articles/osteregaytes-read_media_images.html
Платформа: Android
Если вы являетесь Android-разработчиком, то, возможно, знаете о недавнем изменении политики Google Play в отношении разрешения READ_MEDIA_IMAGES. К сожалению, мы не знали. В этом посте поделимся опытом того, как добавление этого разрешения в манифест заблокировало нам возможность выпустить приложение в альфа-канал, и почему вы должны быть осторожны, прежде чем добавлять это разрешение в свой проект.
Статья: https://apptractor.ru/info/articles/osteregaytes-read_media_images.html
Платформа: Android
BikeShare - проект Kotlin Multiplatform с Jetpack Compose и SwiftUI на основе CityBikes API. Поддерживает iOS, Android, десктопы, веб. Нужна Android Studio Arctic Fox и Xcode 13.2.
BikeShare на GitHub: https://github.com/joreilly/BikeShare
Платформа: Android/кроссплатформа
⭐️: 728
BikeShare на GitHub: https://github.com/joreilly/BikeShare
Платформа: Android/кроссплатформа
⭐️: 728
•
(iOS Ru) Переходим на SwiftUI•
(iOS Ru) Задачи с собеседования: LeetCode — Перестановка в строке•
(iOS En) Apple Books Scroll Animation - Complex UI - SwiftUI•
(iOS En) Power of new Scroll APIs - Custom Scroll Indicators - SwiftUI•
(iOS En) Mastering Images in SwiftUI – Assets, Bundles, Remote URLs & Effects•
(iOS En) SwiftUI Ripple Transition Effects - Custom Transitions•
(iOS En) Trie Data Structure Explained in Swift: The Ultimate Guide to Efficient Search•
(iOS En) Capture & Share SwiftUI Views as Images with ImageRenderer & ShareLink•
(And Ru) Производительность sequence, stream и collection в JVM•
(And Ru) Непростые вопросы про Kotlin Coroutines•
(And En) Single State Fields VS. State Data Class In Your ViewModel - What's Best?•
(Dev Ru) Архитектурный надзор и анализ трейсов в Авито•
(Dev Ru) Логистические системы — Логистика, доставка, трекинг посылки•
(Dev En) Junie - The New AI Coding Agent from JetBrains - Can it build a Compose Desktop app?•
(Dev En) Kubernetes and EKS for Beginners – Crash Course•
(Anl Ru) Мышление аналитика: как цифры превращаются в деньгиЧто было год назад:
•
(iOS Ru) Пишем текстовую RPG•
(iOS Ru) How to Create 3D App Icons for visionOS•
(And Ru) Наш опыт внедрения Compose в большой проект•
(And Ru) Многомодульность: что это такое?•
(And Ru) Жизнь инди в Google Play•
(And Ru) Разработка новостного приложения. Часть 2•
(Dev Ru) Топ 5 книг для синьораPlease open Telegram to view this post
VIEW IN TELEGRAM
Komikku - бесплатная и открытая программа для чтения манги, основанная на TachiyomiSY и Mihon/Tachiyomi. Этот форк предназначен для предоставления новых и полезных функций, при этом регулярно заимствуя функции/обновления из Mihon или других форков, таких как SY, J2K и Neko.
Komikku на GitHub: https://github.com/komikku-app/komikku
Платформа: Android
⭐️: 1.2K
Komikku на GitHub: https://github.com/komikku-app/komikku
Платформа: Android
⭐️: 1.2K
Эффективный бэкграунд: организация стабильной фоновой работы в связке двух мобильных медтех приложений
В статье я поделюсь опытом нашей команды по организации стабильной фоновой работы в мобильном медтех-приложении, предназначенном для взаимодействия с медицинским оборудованием.
Статья: https://habr.com/ru/articles/886132/
Платформа: Android
В статье я поделюсь опытом нашей команды по организации стабильной фоновой работы в мобильном медтех-приложении, предназначенном для взаимодействия с медицинским оборудованием.
Статья: https://habr.com/ru/articles/886132/
Платформа: Android