Gramophone - вменяемый музыкальный плеер, построенный на media3 и библиотеке Material Design, который строго следует стандартам Android. Из фич - современный дизайн на основе Material 3, динамический UI, поиск, синхронизированные тексты песен, управление плейлистами.
Gramophone на GitHub: https://github.com/AkaneTan/Gramophone
Платформа: Android
⭐️: 543
Gramophone на GitHub: https://github.com/AkaneTan/Gramophone
Платформа: Android
⭐️: 543
Android TOML. Просто о каталогах зависимостей в Android Studio
Меня зовут Евгений и я Android-разработчик. Сегодня хотел бы поделиться своими знаниями и наблюдениями относительно нового способа добавления зависимостей в проекты, созданные на базе Android Studio.
Статья: https://habr.com/ru/articles/801287/
Платформа: Android
Меня зовут Евгений и я Android-разработчик. Сегодня хотел бы поделиться своими знаниями и наблюдениями относительно нового способа добавления зависимостей в проекты, созданные на базе Android Studio.
Статья: https://habr.com/ru/articles/801287/
Платформа: Android
🤔1
Интерактивные виджет-подборки в Иви (iOS)
В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.
В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.
Статья: https://habr.com/ru/companies/ivi/articles/796331/
Платформа: iOS
В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.
В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.
Статья: https://habr.com/ru/companies/ivi/articles/796331/
Платформа: iOS
🔥1
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1
В этом цикле статей мы рассмотрим лучшие практики использования ViewModel в Android, подчеркнем основные «можно» и «нельзя» для повышения качества кода. Мы рассмотрим роль ViewModel в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и раскрытие mutable состояний, предоставив разработчикам исчерпывающее руководство.
Это первая статья из серии и посвящена она инициализации состояния в блоке
Перевод: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-1.html
Платформа: Android
В этом цикле статей мы рассмотрим лучшие практики использования ViewModel в Android, подчеркнем основные «можно» и «нельзя» для повышения качества кода. Мы рассмотрим роль ViewModel в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и раскрытие mutable состояний, предоставив разработчикам исчерпывающее руководство.
Это первая статья из серии и посвящена она инициализации состояния в блоке
init{}
. Всего планируется 15 (!) статей. Перевод: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-1.html
Платформа: Android
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
JTAppleCalendar - календарь для iOS на Swift. Полностью настраиваемый, с настройками ячеек и общего вида, горизонтальным и вертикальным режимом, изменяемыми заголовками, выбором диапазонов и всем прочим.
JTAppleCalendar на GItHub: https://github.com/patchthecode/JTAppleCalendar
Платформа: iOS
⭐️: 7.5K
JTAppleCalendar на GItHub: https://github.com/patchthecode/JTAppleCalendar
Платформа: iOS
⭐️: 7.5K
Вы за это заплатите! Цена Чистой Архитектуры
Меня зовут Артемий, я работаю старшим Android-разработчиком в core-команде RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы на проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.
Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры.
Статья: https://habr.com/ru/companies/vk/articles/801393/
Платформа: архитектура
Еще:
• Видео
• В защиту простых архитектур
• Отсутствие архитектуры лучше, чем плохая архитектура
Меня зовут Артемий, я работаю старшим Android-разработчиком в core-команде RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы на проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.
Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры.
Статья: https://habr.com/ru/companies/vk/articles/801393/
Платформа: архитектура
Еще:
• Видео
• В защиту простых архитектур
• Отсутствие архитектуры лучше, чем плохая архитектура
✍2
Shattered Pixel Dungeon - это традиционный рогалик с открытым исходным кодом, рандомизированными уровнями и врагами, а также сотнями предметов для сбора и использования. Shattered Pixel Dungeon в настоящее время можно скомпилировать для Android, iOS и настольных платформ.
Shattered Pixel Dungeon на GitHub: https://github.com/00-Evan/shattered-pixel-dungeon
Платформа: Android
⭐️: 3.9K
Shattered Pixel Dungeon на GitHub: https://github.com/00-Evan/shattered-pixel-dungeon
Платформа: Android
⭐️: 3.9K
AutoDev - помощник для программирования на базе искусственного интеллекта с многоязыковой поддержкой, автоматической генерацией кода и помощником по устранению ошибок. Поддерживает Java, Kotlin, JavaScript/TypeScript, Rust, Python, Golang, C/C++, Rust, SQL и прочие языки, создание юнит-тестов и конфигов CI/CD, генерацию документации и т.д.
AutoDev на GitHub: https://github.com/unit-mesh/auto-dev
Платформа: разработка
⭐️: 1.4K
AutoDev на GitHub: https://github.com/unit-mesh/auto-dev
Платформа: разработка
⭐️: 1.4K
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•🧠 )
•
•
•
Что вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
•
(iOS Ru)
Разработка под Apple Vision Pro•
(iOS Ru)
Как встроить в TextField индикатор загрузки и кастомную View•
(iOS En)
JSON Parsing With Pagination•
(iOS En)
Build 3D content for visionOS Apps•
(iOS En)
Long Press Button With Progress Bar•
(iOS En)
Create a 3D shiny card in SwiftUI•
(iOS En)
Sign In With Apple - Firebase•
(iOS En)
SwiftUI Horizontal Wheel Picker•
(And Ru)
Разработка новостного приложения. Часть 4•
(And Ru)
Мапим данные из domain в ui модуль в многомодульном проекте•
(And En)
Now in Android: 101 - Android 15 Developer Preview 2, TheAndroidShow, the Google I/O date, & more•
(And En)
How to Implement Biometric Auth in Your Android App•
(And En)
This Is My FAVORITE Error Handling Class•
(And En)
Java vs. Kotlin: The Ultimate Showdown of Virtual Threads & Coroutines•
(Crs Ru)
Рецепт приготовления кроссплатформенного мобильного видеоредактора•
(Dev Ru)
Собеседование по System Design: проектируем клон Авито (все собеседования •
(Dev Ru)
Демистифицируем машинное обучение – из разработчика в ML-инженеры•
(Dev Ru)
Не работал в FAANG — не программист: полгода работы в Apple•
(Dev Ru)
Программисты не нужныЧто вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
Please open Telegram to view this post
VIEW IN TELEGRAM
AppTractor
Разработка под Apple Vision Pro
Геннадий Евстратов, руководитель мобильной разработки Яндекс Про, рассказывает про разработку под Apple Vision Pro.
AboutLibraries автоматически собирает все зависимости и лицензии Gradle-проекта и предоставляет легко интегрируемые UI-компоненты для сред Android и Compose. Делает это во время компиляции и предлагает простые API для их визуализации в приложении. Никаких накладных расходов во время выполнения. Сильное кэширование. Поддерживаются любые gradle-зависимости. Поддерживает Kotlin Multiplatform.
AboutLibraries на GitHub: https://github.com/mikepenz/AboutLibraries
Платформа: Android
⭐️: 3.5K
AboutLibraries на GitHub: https://github.com/mikepenz/AboutLibraries
Платформа: Android
⭐️: 3.5K
Быстрый старт, или Как ускорить запуск iOS-приложений
В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:
• что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с UI;
• как собрать актуальные метрики скорости запуска и отзывчивости приложения;
• какие тактики применить, чтобы ускорить старт и отзывчивость запуска.
Статья будет полезна для iOS-разработчиков любого уровня, желающих улучшить производительность своих приложений.
Статья: https://habr.com/ru/companies/simbirsoft/articles/801251/
Платформа: iOS
В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:
• что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с UI;
• как собрать актуальные метрики скорости запуска и отзывчивости приложения;
• какие тактики применить, чтобы ускорить старт и отзывчивость запуска.
Статья будет полезна для iOS-разработчиков любого уровня, желающих улучшить производительность своих приложений.
Статья: https://habr.com/ru/companies/simbirsoft/articles/801251/
Платформа: iOS
Разработка под Android в 2024 году
Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.
Статья: https://habr.com/ru/companies/otus/articles/800979/
Платформа: Android
Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.
Статья: https://habr.com/ru/companies/otus/articles/800979/
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем DVD-заставку на SwiftUI
Я подумал, что было бы забавно воссоздать эту заставку с помощью SwiftUI. Признаться, для этого нет никакой реальной причины, кроме того, что мне предстоит долгий перелет и нужно убить немного времени.
Статья: https://apptractor.ru/info/articles/delaem-dvd-zastavku-na-swiftui.html
Платформа: iOS
Я подумал, что было бы забавно воссоздать эту заставку с помощью SwiftUI. Признаться, для этого нет никакой реальной причины, кроме того, что мне предстоит долгий перелет и нужно убить немного времени.
Статья: https://apptractor.ru/info/articles/delaem-dvd-zastavku-na-swiftui.html
Платформа: iOS
❤4
Ignite - это конструктор статических сайтов для разработчиков Swift, предлагающий выразительный и мощный API для создания красивых сайтов, которые отлично работают на всех устройствах.
Ignite не пытается преобразовать код SwiftUI в HTML или просто сопоставить HTML-теги с кодом Swift. Вместо этого он стремится использовать синтаксис, похожий на SwiftUI, чтобы помочь вам создавать прекрасные веб-сайты, даже если вы не знаете HTML или CSS.
Ignite на GitHub: https://github.com/twostraws/Ignite
Платформа: iOS
⭐️: 562
Ignite не пытается преобразовать код SwiftUI в HTML или просто сопоставить HTML-теги с кодом Swift. Вместо этого он стремится использовать синтаксис, похожий на SwiftUI, чтобы помочь вам создавать прекрасные веб-сайты, даже если вы не знаете HTML или CSS.
Ignite на GitHub: https://github.com/twostraws/Ignite
Платформа: iOS
⭐️: 562
👍2
Инструментальные цепочки Gradle редко бывают хорошей идеей
Вас никто не осудит за то, что вы считаете, что цепочки инструментов Java - это лучший способ управления компиляцией. Однако они редко бывают хорошей идеей. Давайте разберемся, почему.
Статья: https://apptractor.ru/info/articles/instrumentalnye-tsepochki-gradle-redko-byvayut-horoshey-ideey.html
Платформа: Android
Вас никто не осудит за то, что вы считаете, что цепочки инструментов Java - это лучший способ управления компиляцией. Однако они редко бывают хорошей идеей. Давайте разберемся, почему.
Статья: https://apptractor.ru/info/articles/instrumentalnye-tsepochki-gradle-redko-byvayut-horoshey-ideey.html
Платформа: Android
Adwaita for Swift - это фреймворк для создания пользовательских интерфейсов для GNOME с API, похожим на SwiftUI. Основная цель Adwaita - предоставить iOS-разработчикам простой в использовании интерфейс для создания GNOME-приложений. Бэкэнд должен оставаться как можно более простым, не ограничивая при этом возможности Libadwaita и GTK.
Adwaita на GitHub: https://github.com/AparokshaUI/adwaita-swift
Платформа: iOS/кроссплатформа
⭐️: 295
Adwaita на GitHub: https://github.com/AparokshaUI/adwaita-swift
Платформа: iOS/кроссплатформа
⭐️: 295
Better Open With заменяет диалог "Открыть файл с помощью" в Android. Приложение визуально отображает все действия по умолчанию для открытия ссылок, изображений, PDF и многих других типов файлов, перечисляя все возможные приложения, которые вы обычно видите. В отличие от стандартного диалога, всплывающее окно показывается в течение нескольких секунд (по умолчанию 5, но это можно настроить). В окне предлагается выбрать приложение, после выбора оно автоматически будет открывать данный тип файлов. В отличии от других подобных приложений, в этом вы просто ждете запуска приложения по умолчанию (без необходимости нажимать) или выбираете другое.
Better Open With на GitHub: https://github.com/Giorgi/BetterOpenWith
Платформа: Android
⭐️: 23
Better Open With на GitHub: https://github.com/Giorgi/BetterOpenWith
Платформа: Android
⭐️: 23
К чему с годами приводит работа с Dependency Injection и Service Locator
Глубину осознания той или иной библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и лишённым всякой аудитории, но оно будет навеки принадлежать её автору и подтверждать реальное понимание работы технологии.
Так произошло и со мной. Решил написать полноценный функционал для работы с зависимостями и, так как я Android-разработчик, адаптировать для работы в моей привычной среде и для моих таких же привычных задач.
А делюсь я написанным творением с наивной мыслью, что это сделает кого-то лучше в техническом плане.
Статья: https://habr.com/ru/companies/alfa/articles/802587/
Платформа: Android
Глубину осознания той или иной библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и лишённым всякой аудитории, но оно будет навеки принадлежать её автору и подтверждать реальное понимание работы технологии.
Так произошло и со мной. Решил написать полноценный функционал для работы с зависимостями и, так как я Android-разработчик, адаптировать для работы в моей привычной среде и для моих таких же привычных задач.
А делюсь я написанным творением с наивной мыслью, что это сделает кого-то лучше в техническом плане.
Статья: https://habr.com/ru/companies/alfa/articles/802587/
Платформа: Android
SQLite.swift - типобезопасный слой чистого Swift поверх SQLite3. Библиотека обеспечивает проверку синтаксиса выражений и намерений SQL-операторов во время компиляции, предоставляя массу полезных простых в использовании функций для работы с базой данных.
SQLite.swift на GitHub: https://github.com/stephencelis/SQLite.swift
Платформа: iOS
⭐️: 9.4K
SQLite.swift на GitHub: https://github.com/stephencelis/SQLite.swift
Платформа: iOS
⭐️: 9.4K
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?
Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам.
Статья: https://habr.com/ru/companies/timeweb/articles/802591/
Платформа: Android
Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам.
Статья: https://habr.com/ru/companies/timeweb/articles/802591/
Платформа: Android
❤1