Основная идея фреймворка - позволить вам работать на более высоком уровне абстракции и писать только тот код, который вы должны написать для реализации ваших конкретных требований. Все остальные повторяющиеся вещи обрабатываются фреймворком для вас, и, вероятно, с гораздо меньшим количеством ошибок и брешей в безопасности, чем если бы вы делали это самостоятельно.
Возможно, будет казаться , что для изучения фреймворка требуется больше времени, чем для того, чтобы сделать это самостоятельно, используя базовые языковые функции и стандартные API-интерфейсы, но это просто неправда - не то, что фреймворк хорош, а приложение нетривиально, и особенно не после того, как вы изучите структуру (использование другой для каждого нового проекта, конечно, было бы идиотским) и времени, которое потребуется, чтобы найти и устранить все ошибки и исправить все ошибки проектирования, которые уже давно найдены, устранены и исправлены в фреймворке его сообществом разработчиков.
Практически у каждого разработчика есть инстинкты ковбойского кодирования, которые говорят ему: «Делать вещи самому гораздо веселее, чем использовать код, написанный другими, и я уверен, что я достаточно хорош, чтобы сделать это правильно с первого раза, так что это даже будь быстрее и лучше! Эти инстинкты почти всегда неверны.