Я вам предлагаю  такой предметно-ориентированный подход: ставите конкретно-учебную задачу, и решаете ее, по ходу у вас формируется понимание фреймворка и знание конкретных модулей (которые вы библиотеками называете).

Примеры задачек:

Сделать команду, которая выведет в журнал текущую позицию в открытом тексте. - Знакомство с текстами.
Команду, которая выведет в журнал текущую строку в открытом тексте. Знакомство с deseign pattern Models-Riders - одной из ключевых во всем фреймворке.
Сделать команду для меню, которая будет удалять текущую строку текста в открытом документе. ПРодолжение знакомства с текстами, добавляется изменение текстов
Сделать команду, которая выведет в новый текст названия всех открытых окон. Знакомство с механизмом создания новых views и их открытия, с оконной подсистемой.

Ну и так далее: можно сделать "учебный план" для знакомства с формами/контролами, знакомства с созданием собственных views.