Уместно ли пользоваться готовыми решениями не разобравшись в решениях «из коробки»?
Доброго времени суток. Прошу совета, друзья.
Изучаю разработку под Андроид, хочу как можно скорее получить работу в этом направлении, но недавно возникли сомнения по поводу правильности обучения. Когда начинал (два месяца назад), думал, что библиотеки это что-то сложное, и нужно сначала поработать над реализацией способами из коробки, так сказать.
Но вот знакомый поделился тестовым заданием, где требовалось применять библиотеки. Я решил попробовать свои силы и оказалось, что Retrofit не кусается, EventBus упрощает общение компонентов, а GreenDAO (использование которой и вызвали сомнения) избавляет от написания запросов.
Большой соблазн использовать эти библиотеки вместо написания стандартных решений. Правильно ли это, или уделить внимание больше документации гугла?
можно применять библиотеки, но как ни крути, со временем вы упретесь в требование знать сам фреймворк так и библиотеки к нему.
применение облегчает жизнь, и применять их часто полезно. но что делать когда ваш проект упрется в производительность или в ограничение памяти. часто эффективное применение библиотек требует знания самой платформы. иногда может потребоваться сделать что-то нетривиальное.
В топку стандартные решения. Юзайте библиотеки проверенные сотнями самых крутых разрабов (тот же Retrofit/RxAndroid/Otto). Вы сравните код с ними и без них - разница в его кол-ве колоссальная, разница в лаконичности кода колоссальная. Лично я сейчас занимаюсь тем что выпиливаю нативные решения и заменяю на библиотеки и поражаюсь насколько все проще становиться. Еще бы найти время для освоения DataBinding (сейчас юзаю ButterKnife).
К непроверенным библиотекам следует относиться с крайним сомнением. Как то раз заюзал такую и после релиза получал по 10 тыс отчетов об ошибках в день, не говоря уже о куче негативных отзывов... Оказывается там на каких-то типах процессоров сбой был. Короче, полный капец. Я разрабам написал - вы че, офигели, они ответили ну да, так и есть, не работает, мы в курсе. А в документации об этом нигде не сказано и слова.