sash0k

sash0k 

интересно, возможно ли заработать на Opensource?

5subscribers

10posts

goals1
$17.17 of $13 211 raised
ну - значит возможно

Activity Launcher fork

В апреле закончил переписывать форк достаточно известного android-приложения.
Впервые наткнулся на него, когда нужно было перенести приложения на sd-карту на старом xiaomi. В прошивке такая возможность есть, но интерфейс недоступен. Activity Launcher как раз показывает все установленные в прошивке приложения, без ярлыков, системные и т.д. Также можно заглянуть "внутрь" приложения, посмотреть из каких activity (упрощённо - экранов) оно состоит, и может быть даже запустить приложение не со стартовой страницы.
В дальнейшем приложение отлично помогло для изучения прошивки телевизора. В общем, штука простая и полезная.
Но автор приложения в 2022 году решил поиграть в политику и сделал вот что:
Смысл такого акционизма решительно непонятен: вреда никакого - opensource не закрыть, вернуть всё назад можно элементарно. Чем и занимался народ в соответствующей теме на 4pda, например
Я пошёл чуть дальше:
 ✅️ проаудировал весь код (доверие к такому автору утеряно). Код в целом ужасный, но для опенсорса это норма.
 ✅️ добавил некоторый функционал, которого нет в оригинале.
 ✅️ разумеется, вернул русский язык.
Получившийся проект был выложен в Рустор в начале 2023 год под названием Activity Launcher fork. Исходники форка со временем также были перемещены с gitbub на gitflic (российский сервис)
На текущий момент у форка десятки тысяч пользователей, хотя усилий по его продвижению я не предпринимал, делал проект в первую очередь для себя.
В 2024 году появилась необходимость освежить "азы" современной android-разработки и Activity Launcher был выбран подопытным.
Идея состояла в том, чтобы:
 ✅️  разделить интерфейс и данные. Условным "бэкендом" тут является просмотр всех приложений при запуске через PackageManager. В "польской" версии 1.х приложения загружались внутри адаптера, за 10 лет андроид-разработки впервые увидел такой подход 😁  
 ✅️ переиспользовать слой данных и добавить планшетный интерфейс.
Работы начал осенью, в апреле появилось время чтоб закончить. Получился такой стек:
  ✅️ Java 11 в качестве языка программирования (котлин безусловно хорош на больших проектах, но здесь избыточен, только увеличивает время компиляции и размер apk)
  ✅️ Dagger 2 в качестве DI
  ✅️ Классическая MVVM архитектура на androidx: LiveData + ViewModel
  ✅️ Для асинхронной загрузки пакетов использовал обычный JVM Thread, что-то более мощное тут избыточно
После вытаскивания данных во вью-модели написать альтернативный интерфейс для плашентов не составило труда. Побочные плюсы архитектуры: приложение стало устойчиво к переконфигурациям, например к повороту экрана.
Оригинал тем временем был переписан на котлин (также некачественно, как и java-версия) и 20 апреля 2025 автор даже вернул обратно русский язык, но наши дороги уже разошлись.
Кому интересно изучить или присоединиться к разработке, ссылки:
Оригинальный проект: https://github.com/butzist/ActivityLauncher/
Мой рустор-форк: https://gitflic.ru/project/sash0k/activitylauncher/
Subscription levels4

Донат на кофе / coffee for developer

$1.33 per month
Поддержать разработчика / Just support

Подсветить проблему / issue

$13.3 per month
Возник вопрос по моим приложениям, или нашли проблему? Решение в приоритетном порядке. / Have a question or issue? First-level priority.

Запрос новой фичи / feature request

$133 per month
Необходим новый функционал в моих приложениях? Подписывайся - решим. / Need any new feature in my apps? Subscribe!

Запрос приложения / application request

$1 982 per month
Есть идея простого opensource приложения (1-2 экрана)? Это сюда. /
Needs for any simple opensource application? Subscribe here.
Go up