А что у вас в задаче такого, что нельзя реализовать с помощью recyclerView?
все можно написать руками, если на то пошло. Вопрос в оптимизации. Библиотеки реализуют множества вещей типа группировки по дате, выделение, ответ на сообщение, стики, работа с фото/аудио прочие проие мелкие/средние/крупные штуки, которые занимают достаточно много времени