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
SimpMusic - открытый музыкальный клиент YouTube Music для Android со многими функциями. Из интересного есть кеширование для оффлайн-проигрывания, отсутствие рекламы, слова песен из Musixmatch, Spotify и транскрипции YouTube с переводом, предложение песен на основе ИИ, поддержка Android Auto.
SimpMusic на GitHub: https://github.com/maxrave-dev/SimpMusic
Платформа: Android
⭐️: 1.1K
SimpMusic на GitHub: https://github.com/maxrave-dev/SimpMusic
Платформа: Android
⭐️: 1.1K
Производительность - ключевая характеристика для многих приложений и фреймворков. Пакет Benchmark позволяет легко измерять и отслеживать множество различных показателей, влияющих на производительность, таких как загрузка процессора, ARC-трафик, использование памяти, использование ресурсов операционной системы, таких как потоки и системные вызовы, а также полностью пользовательские счетчики метрик.
Benchmark работает как на macOS, так и на Linux и поддерживает несколько ключевых рабочих сценариев:
• Автоматизированная проверка регрессии производительности пул-реквеста путем сравнения показателей с основной веткой
• Автоматизированная проверка пул-реквеста по сравнению с предварительно записанным абсолютным пороговым значением, подходящая, например, для регрессионных тестов
• Ручное сравнение нескольких базовых показателей производительности для итеративной или A/B работы отдельного разработчика
• Экспорт результатов бенчмарка в нескольких форматах для анализа или визуализации
• Запуск профилировщика Instruments на наборе бенчмарков непосредственно из Xcode
Benchmark подходит как для небольших специальных бенчмарков, ориентированных на рантайм, так и для более масштабных бенчмарков, которые заботятся о нескольких расширенных метриках.
Benchmark на GitHub: https://github.com/ordo-one/package-benchmark
Платформа: iOS
⭐️: 214
Benchmark работает как на macOS, так и на Linux и поддерживает несколько ключевых рабочих сценариев:
• Автоматизированная проверка регрессии производительности пул-реквеста путем сравнения показателей с основной веткой
• Автоматизированная проверка пул-реквеста по сравнению с предварительно записанным абсолютным пороговым значением, подходящая, например, для регрессионных тестов
• Ручное сравнение нескольких базовых показателей производительности для итеративной или A/B работы отдельного разработчика
• Экспорт результатов бенчмарка в нескольких форматах для анализа или визуализации
• Запуск профилировщика Instruments на наборе бенчмарков непосредственно из Xcode
Benchmark подходит как для небольших специальных бенчмарков, ориентированных на рантайм, так и для более масштабных бенчмарков, которые заботятся о нескольких расширенных метриках.
Benchmark на GitHub: https://github.com/ordo-one/package-benchmark
Платформа: iOS
⭐️: 214
Видео и подкасты за неделю:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посоветуйет в комментах интересные каналы по мобильной разработке? 🌐 @AppFiles
•
(iOS En)
Stacked Cards Effect using SwiftUI•
(iOS En)
Pinch to Zoom - SwiftUI•
(iOS En)
Rebuild Spotify in SwiftUI•
(iOS En)
Swift has more formatters than you know•
(iOS En)
XCTest Tutorial: How to add automated UI tests for Better iOS App Quality•
(iOS En)
Horizontal Wheel Picker•
(iOS En)
Create Realistic Particle Effects for visionOS•
(And Ru)
Что нужно учить в 2024•
(And En)
Time for Playtime - Android Developers Backstage•
(And En)
How to Implement a Pull-to-Refresh LazyColumn with Material3 in Android•
(And En)
If You're Making These 5 Use Case Mistakes, You Haven't Understood Clean Architecture•
(And En)
Material You Review•
(Crs Ru)
Flutter Dev Podcast #45: Собеседования на позицию Flutter-разработчика•
(Crs En)
Display images with Custom Paint using Supabase Storage•
(Crs En)
Flutter Responsive UI Design•
(Dev Ru)
Пишем рекомендательную систему музыки на Java•
(Dev Ru)
Задача из Моего Собеседования в Amazon•
(Dev Ru)
Ада Лавлейс и программирование•
(Dev Ru)
Осознанный подход к метрикам•
(Dev En)
AI Flutter Code Generator with Gemini APIПосоветуйет в комментах интересные каналы по мобильной разработке? 🌐 @AppFiles
YouTube
Stacked Cards Effect using #swiftui for #ios 17 in #xcode 15
Keyguard - это альтернативный клиент для платформы Bitwarden (открытый менеджер паролей), созданный для обеспечения наилучшего пользовательского опыта. Особенности Keyguard - Material You, мощный и быстрый поиск, поиск записи с дублированными паролями, неактивной двух-факторной аутентификацией, незащищенными веб-сайтами и дублированными, неполными или просроченными записями, прекрасная производительность, поддержка автозаполнения, поддержка множественных учетных записей с безопасным входом и двух-факторной аутентификацией, загрузка больших файлов в фоне, красивая светлая и черная темы, поддержка Chrome OS. В дополнение, у Keyguard есть притягивающие глаз анимации и плавность работы, которую вы ожидаете от лучших современных приложений.
Keyguard на GitHub: https://github.com/AChep/keyguard-app
Платформа: Android
⭐️: 529
Keyguard на GitHub: https://github.com/AChep/keyguard-app
Платформа: Android
⭐️: 529
Privacy Manifest: что нужно о нём знать для внедрения в проект
На работе я столкнулся с задачей внедрения Privacy Manifest в проект. Изучение вопроса началось с прочтения документации Apple, а продолжилось просмотром WWDC-сессии на тему конфиденциальности. После внедрения оказалось, что для корректной работы над задачей нужно изучить больше информации. Поэтому я решил поделиться опытом в формате инструкции. Покажу, как внедрять Privacy Manifest на примере вымышленного проекта, и дам практические советы по внедрению манифеста конфиденциальности.
Статья: https://habr.com/ru/companies/sberbank/articles/803445/
Платформа: iOS
На работе я столкнулся с задачей внедрения Privacy Manifest в проект. Изучение вопроса началось с прочтения документации Apple, а продолжилось просмотром WWDC-сессии на тему конфиденциальности. После внедрения оказалось, что для корректной работы над задачей нужно изучить больше информации. Поэтому я решил поделиться опытом в формате инструкции. Покажу, как внедрять Privacy Manifest на примере вымышленного проекта, и дам практические советы по внедрению манифеста конфиденциальности.
Статья: https://habr.com/ru/companies/sberbank/articles/803445/
Платформа: iOS
Context receivers — новые extension functions
Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в Ozon ID SDK.
Статья: https://habr.com/ru/companies/ozontech/articles/802641/
Платформа: Android
Поговорим сегодня про context receivers — фиче Kotlin, про которую я узнал давно, но смог найти применение лишь пару месяцев назад. Расскажу о том, что такое context receivers, где их можно использовать, и, конечно же, про «успешный успех» — минус 60% самописного DI в Ozon ID SDK.
Статья: https://habr.com/ru/companies/ozontech/articles/802641/
Платформа: Android
🔥2