Multiplatform Compose - Kotlin-библиотека для использования Jetpack Compose в Android и iOS. Позволяет писать UI сразу для двух платформ на Kotlin. Пока, как и сам Compose, в стадии экспериментов.
Библиотека: https://github.com/cl3m/multiplatform-compose
А вот тут у нас есть вводные уроки по Jetpack Compose: https://apptractor.ru/info/articles/jetpack-compose-1.html
Библиотека: https://github.com/cl3m/multiplatform-compose
А вот тут у нас есть вводные уроки по Jetpack Compose: https://apptractor.ru/info/articles/jetpack-compose-1.html
XCMetrics - инструмент от инженеров Spotify, который помогает собирать метрики сборок в Xcode и улучшать их качество.
XCMetrics построен поверх XCLogParser, который представляет собой инструмент анализа логов Xcode и xcodebuild, хранящихся в формате xcactivitylog. Это позволяет XCMetrics собирать точные метрики, которые вы можете просматривать и отслеживать в течение всего жизненного цикла кодовой базы. XCMetrics обработал почти 1 миллион сборок и более 10 миллиардов шагов всех приложений Spotify для iOS с момента своего появления. Это позволило разработчикам принять важные и обоснованные решение в отношении структуры и архитектуры проекта.
Сайт: https://xcmetrics.io/
Исходники: https://github.com/spotify/XCMetrics
XCMetrics построен поверх XCLogParser, который представляет собой инструмент анализа логов Xcode и xcodebuild, хранящихся в формате xcactivitylog. Это позволяет XCMetrics собирать точные метрики, которые вы можете просматривать и отслеживать в течение всего жизненного цикла кодовой базы. XCMetrics обработал почти 1 миллион сборок и более 10 миллиардов шагов всех приложений Spotify для iOS с момента своего появления. Это позволило разработчикам принять важные и обоснованные решение в отношении структуры и архитектуры проекта.
Сайт: https://xcmetrics.io/
Исходники: https://github.com/spotify/XCMetrics
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаем изучать Jetpack Compose. ComposeSlackDesktop - демо-версия Slack, написанная на Jetpack Compose и Kotlin.
Исходники: https://github.com/vipulasri/ComposeSlackDesktop
Документация Compose for Desktop: https://www.jetbrains.com/lp/compose/
Начинаем работу с Jetpack Compose: https://apptractor.ru/info/articles/jetpack-compose-1.html
Исходники: https://github.com/vipulasri/ComposeSlackDesktop
Документация Compose for Desktop: https://www.jetbrains.com/lp/compose/
Начинаем работу с Jetpack Compose: https://apptractor.ru/info/articles/jetpack-compose-1.html
This media is not supported in your browser
VIEW IN TELEGRAM
ToastUI - простой способ показывать “тосты”, предупреждения, индикаторы загрузки или любой другой контент поверх экранов SwiftUI.
Библиотека: https://github.com/quanshousio/ToastUI
Библиотека: https://github.com/quanshousio/ToastUI
Fast Shopping - простой список покупок. Не содержит рекламы, нет голосового ввода, нет курсов валют или бюджетирования. Простое приложение для работы.
Исходники: https://github.com/Albert221/FastShopping
Исходники: https://github.com/Albert221/FastShopping
В пятницу не могу не поделиться красотой - трассировка лучей (ray tracing) на С++ в ASCII.
Видео: https://youtu.be/QkETiyYWh2o
Исходники: https://github.com/DinoZ1729/Ray
У этого же автора есть не менее красивое видео - симуляция столкновения галактик: https://www.youtube.com/watch?v=x62gOfZ9hCw
Видео: https://youtu.be/QkETiyYWh2o
Исходники: https://github.com/DinoZ1729/Ray
У этого же автора есть не менее красивое видео - симуляция столкновения галактик: https://www.youtube.com/watch?v=x62gOfZ9hCw
Bouncy - отскок для RecyclerView и NestedScrollView ̶(̶к̶а̶к̶ ̶в̶ ̶б̶о̶г̶о̶м̶е̶р̶з̶к̶о̶м̶ ̶i̶O̶S̶)̶, плюс drag&drop и свайпы.
Библиотека: https://github.com/Valkriaine/bouncy
Библиотека: https://github.com/Valkriaine/bouncy
Wyler - легковесная библиотека, написанная на Swift, которая организует процесс записи происходящего на экране на iOS. Можно записывать видео своего приложения и сохранять их в библиотеку.
Исходники: https://github.com/toupper/Wyler
Исходники: https://github.com/toupper/Wyler
This media is not supported in your browser
VIEW IN TELEGRAM
GaugeProgressView - индикатор прогресса в виде спидометра. Меняется практически все - цвета, толщина, начальное и конечное положение, шрифты и т.п.
Исходники: https://github.com/edgar-zigis/GaugeProgressView
Исходники: https://github.com/edgar-zigis/GaugeProgressView
Поиск ошибок в небезопасном и уязвимом приложении для Android
DIVA (Damn Insecure Vulnerable App, Чертовски Небезопасное Уязвимое Приложение) - это уязвимое приложение, предназначенное для ознакомления с самыми распространенными уязвимостями, которые можно найти в приложениях для Android. Эта статья проведет вас через обнаружение некоторых из этих уязвимостей - небезопасный вход, прописывание ключей безопасности в коде, небезопасное хранение данных, проблемы с проверкой введенных данных, с разграничением доступа.
Платформа: Android
Medium: 👏 130
DIVA (Damn Insecure Vulnerable App, Чертовски Небезопасное Уязвимое Приложение) - это уязвимое приложение, предназначенное для ознакомления с самыми распространенными уязвимостями, которые можно найти в приложениях для Android. Эта статья проведет вас через обнаружение некоторых из этих уязвимостей - небезопасный вход, прописывание ключей безопасности в коде, небезопасное хранение данных, проблемы с проверкой введенных данных, с разграничением доступа.
Платформа: Android
Medium: 👏 130
Как создать коллекцию карт в стиле Revolut
Эта статья призвана помочь вам понять, как кастомизировать UICollectionView, создав подкласс UICollectionViewFlowLayout.
Вы займетесь отступами, межстрочными интервалами и протоколами UIScrollView, чтобы добиться эффекта выскакивания для каждой ячейки при прокрутке пользователем. А также добавите анимацию масштабирования, когда пользователь проводит по ним, чтобы придать им ощущение упругости.
Платформа: iOS
Medium: 👏 68
Эта статья призвана помочь вам понять, как кастомизировать UICollectionView, создав подкласс UICollectionViewFlowLayout.
Вы займетесь отступами, межстрочными интервалами и протоколами UIScrollView, чтобы добиться эффекта выскакивания для каждой ячейки при прокрутке пользователем. А также добавите анимацию масштабирования, когда пользователь проводит по ним, чтобы придать им ощущение упругости.
Платформа: iOS
Medium: 👏 68
Medium
How to Create a Revolut-Esque Cards Collection View on iOS
Learn to make scroll-and-snap collection view cells and scale them on scroll
MortyUI - простое приложение про “Рика и Морти”, демонстрирующее работу GraphQL со SwiftUI. Вы можете просматривать персонажей, эпизоды и (скоро) локации.
Исходники: https://github.com/bitrise-io/apm-ios-test-mortyUI
Исходники: https://github.com/bitrise-io/apm-ios-test-mortyUI
This media is not supported in your browser
VIEW IN TELEGRAM
Интеграция SpriteKit в iOS-приложение
Простое соединение SpriteKit и UIKit и добавление потрясающих анимаций SpriteKit в приложение на основе сторибордов.
Платформа: iOS
Medium: 👏 114
Простое соединение SpriteKit и UIKit и добавление потрясающих анимаций SpriteKit в приложение на основе сторибордов.
Платформа: iOS
Medium: 👏 114
9 любимых расширений Android KTX
Расширения Kotlin позволяют нам расширять некоторые классы новыми функциями - в результате мы получаем более чистый и простой код. Это так здорово, что некоторые из распространенных расширений Android Kotlin включены в проект Android KTX, и они находятся всего в одной зависимости от нас. В этой статье рассматриваются различные интересные расширения Android KTX.
Платформа: Android
Расширения Kotlin позволяют нам расширять некоторые классы новыми функциями - в результате мы получаем более чистый и простой код. Это так здорово, что некоторые из распространенных расширений Android Kotlin включены в проект Android KTX, и они находятся всего в одной зависимости от нас. В этой статье рассматриваются различные интересные расширения Android KTX.
Платформа: Android
Как мы просто сократили объем входящего в дата-центр трафика на 70%
Статья от FunCorp о применении сжатии к исходящим от устройств аналитическим событиям, в результате чего объем трафика снизился на 70%.
Платформа: iOS/Android
Habr: ⬆️ 88
Статья от FunCorp о применении сжатии к исходящим от устройств аналитическим событиям, в результате чего объем трафика снизился на 70%.
Платформа: iOS/Android
Habr: ⬆️ 88
Condensation - распределенная база данных общего назначения со сквозной безопасностью. Пока есть версия для Android, версия для iOS планируется в конце года.
Condensation позволяет создавать современные приложения, обеспечивая при этом владение данными и безопасность. Это универсальный проект с открытым исходным кодом, который отвечает сложным задачам безопасности следующих десятилетий и защищает цифровые права.
Архитектура Condensation, вдохновленная блокчейном, электронной почтой и версионностью git, представляет собой уникальное решение для разработки масштабируемых и современных приложений.
Сайт: https://condensationdb.com/
Condensation позволяет создавать современные приложения, обеспечивая при этом владение данными и безопасность. Это универсальный проект с открытым исходным кодом, который отвечает сложным задачам безопасности следующих десятилетий и защищает цифровые права.
Архитектура Condensation, вдохновленная блокчейном, электронной почтой и версионностью git, представляет собой уникальное решение для разработки масштабируемых и современных приложений.
Сайт: https://condensationdb.com/
Auxio - это локальный музыкальный проигрыватель, простой, понятный и настраиваемый. У него быстрый и надежный UI/UX, и в нем нет бесполезных функций. Короче говоря, просто играет музыку. В отличие от других музыкальных плееров, Auxio основан на ExoPlayer, что обеспечивает гораздо лучший опыт прослушивания по сравнению с собственным MediaPlayer API. Код Auxio также легко расширяем, что позволяет добавлять функции, которые не включены в основное приложение.
Платформа: Android
GitHub: https://github.com/OxygenCobalt/Auxio
⭐️: 0
Платформа: Android
GitHub: https://github.com/OxygenCobalt/Auxio
⭐️: 0
Простой, умный алгоритм поиска для iOS на Swift
В этой статье описывается простой интеллектуальный алгоритм поиска, который автор использовал в нескольких приложениях для iOS. Алгоритм умнее простого сопоставления подстроки, но не такой сложный, как нечеткое сопоставление имен методов в Xcode. Если данные для поиска в вашем приложении представлены в виде списка из одного или нескольких слов, алгоритм может быть хорошим способом быстро находить релевантные совпадения для пользователей..
Платформа: iOS
Medium: 👏 235
В этой статье описывается простой интеллектуальный алгоритм поиска, который автор использовал в нескольких приложениях для iOS. Алгоритм умнее простого сопоставления подстроки, но не такой сложный, как нечеткое сопоставление имен методов в Xcode. Если данные для поиска в вашем приложении представлены в виде списка из одного или нескольких слов, алгоритм может быть хорошим способом быстро находить релевантные совпадения для пользователей..
Платформа: iOS
Medium: 👏 235
Чем различаются Dagger, Hilt и Koin
В этом видео (есть и статья) Паулина объясняет, чем различаются Dagger, Koin и Hilt, и каковы последствия этих различий. Рассматривается время сборки, производительность во время выполнения и обработка ошибок. Вы также узнаете, почему говорят, что Koin построен на основе Service Locator, а не в шаблоне внедрения зависимостей.
Платформа: Android
YouTube: 👍: 47
Medium: 👏 257
В этом видео (есть и статья) Паулина объясняет, чем различаются Dagger, Koin и Hilt, и каковы последствия этих различий. Рассматривается время сборки, производительность во время выполнения и обработка ошибок. Вы также узнаете, почему говорят, что Koin построен на основе Service Locator, а не в шаблоне внедрения зависимостей.
Платформа: Android
YouTube: 👍: 47
Medium: 👏 257
YouTube
How Dagger, Hilt and Koin differ under the hood?
In this video, I'll show you how Dagger, Koin and Hilt differ under the hood and what are the consequences of those differences. We will look at build time, runtime performance and error handling. You'll also learn why Koin is said to follow Service Locator…
PermissionsSwiftUI отображает и обрабатывает разрешения в SwiftUI. Пользовательский интерфейс легко настраивается и напоминает стиль Apple. Работает с 12 разрешениями, есть дефолтные определения и иконки, но можно все сделать и свое. Доступно через Swift Package Manager.
Платформа: iOS
GitHub: https://github.com/jevonmao/PermissionsSwiftUI
⭐️: 98
Платформа: iOS
GitHub: https://github.com/jevonmao/PermissionsSwiftUI
⭐️: 98
Уроки самой страшной дизайн-катастрофы в американской истории
Не про код, но про важность UI/UX:
Проблемы начались с пульта управления реактором, который после засорения системы охлаждения станции загорелся шквалом сигнальных ламп и загудел хором звуковых сигналов. Одновременно зажглись буквально сотни сигналов и огней. Операторы поспешили их выключить, пытаясь разобраться в проблеме. Их начал накрывать туман замешательства. Они не могли понять, что происходит?! Сама панель не давала четкого представления о работе АЭС, бессмысленно группируя кусочки информации. Например, панель, показывающая утечки реактора, была рядом с панелью, сообщающей о проблемах лифта. Позже следователи обнаружили, что красные огни на панели управления могли означать четырнадцать разных вещей, плохих и хороших.
Платформа: ядерный реактор
Не про код, но про важность UI/UX:
Проблемы начались с пульта управления реактором, который после засорения системы охлаждения станции загорелся шквалом сигнальных ламп и загудел хором звуковых сигналов. Одновременно зажглись буквально сотни сигналов и огней. Операторы поспешили их выключить, пытаясь разобраться в проблеме. Их начал накрывать туман замешательства. Они не могли понять, что происходит?! Сама панель не давала четкого представления о работе АЭС, бессмысленно группируя кусочки информации. Например, панель, показывающая утечки реактора, была рядом с панелью, сообщающей о проблемах лифта. Позже следователи обнаружили, что красные огни на панели управления могли означать четырнадцать разных вещей, плохих и хороших.
Платформа: ядерный реактор