Определенно выполнимо. Вещи, которые вам понадобятся:
- Какой-то способ регистрации маршрутов при запуске приложения.
- Механизм представления, который знает как о представлениях библиотеки, так и о представлениях, специфичных для вашего приложения.
Первое легко. Просто напишите в своей библиотеке функцию, которая регистрирует все контроллеры в библиотеке.
Второй вариант более сложный, но вы можете прочитать несколько хороших статей о написании собственного движка просмотра, здесь и здесь . Концепция областей также может быть полезна для отделения контроллеров библиотеки от контроллеров приложения.
Также этот вопрос относится к простейшему случаю поиска представлений в произвольной папке.