Возможно, это всё не нужно и лучше использовать готовые решения, а не велосипед?
А в чем вообще цель писать велосипед (Кроме единственной цели, научится) ?
(ну и еще вариант, если у вас настолько уникальный функционал, что такого и близко нигде не используется)
В остальных случаях готовое решение лучше, как минимум по таким причинам:
- их делает не один человек
- уделяется огромное время на расширяемость и универсальность
- больше тестируется приложение
- больше времени на микрооптимизацию
Если взять несколько популярных фреймворков, то какой вообще смысл изобретать велосипед? (кроме того, как уже писал выше - научится)