Можно ли использовать guice в android? - PullRequest
2 голосов
/ 09 мая 2020

Я допустил ошибку при планировании приложения Android, и мы решили использовать Spring при разработке основных функций для этого проекта. Когда мы, наконец, запустили приложение на Android, мы поняли, что Spring использует CGLib под капотом, который не поддерживается в Android.

Сейчас мы думаем о переходе на Guice, и нам интересно, использует ли он любые запрещенные методы, такие как CGLib, которые могут с треском провалиться на Android. Есть ли причина использовать RoboGuice, кроме удобных классов Android? - или эта библиотека специально модифицирована, чтобы работать с Android?

Мы полностью осведомлены о дополнительном объеме памяти, занимаемом Guice.

Ура.

1 Ответ

3 голосов
/ 14 мая 2020

Android имеет свою собственную мощную библиотеку внедрения зависимостей под названием Dagger2 (что-то вроде потомка Guice для Android). Он поддерживается Google, существует множество онлайн-руководств и поддерживающее сообщество.

Также я бы порекомендовал вам использовать Kotlin для fre sh android проектов, поскольку это передовой край, а проект java на данный момент считается устаревшим. Также он имеет несколько облегченных фреймворков DI, таких как Koin или Kodein , созданных специально для Android.

Что касается Guice - это корпоративный фреймворк - его использование будет огромный избыток и, как правило, не рекомендуется, поскольку со временем стоимость поддержки может быть совершенно безумной из-за высокой кривой обучения для дальнейших разработчиков, которые будут работать над проектом, проблем с производительностью (Android подвержен ошибкам в отношении памяти) и отсутствия учебника и методы устранения неполадок, так как он практически не используется нигде в открытых источниках.

Что касается RoboGuice - это хорошая оболочка для android, и вы должны использовать ее ... если вы находитесь в 2012 году, когда был пожар. С 2016 года устарело и больше не поддерживается. Последние значимые коммиты были сделаны в 2014 году.

Насколько я понимаю, вы разработчик Java, который хочет начать с android. Иногда имеет смысл использовать знакомые инструменты из javaee при разработке android, но разумнее использовать Android специфические c вещи.

Надеюсь, это поможет.

...