К вопросу о фреймворках хотел бы внести своё слово.
Настоящий кайф от фреймворка получаешь, когда тебе не приходится на каждый чих писать очередной шаблонный код, вроде роутинга, подгрузки представлений и прочей типичной хрени, которая вносит в работу лишь скуку и нежелание работать. Ведь так приятно погрузиться в реализацию того функционала, который не покрыт какими-либо фреймами и библиотеками, а затем просто подключить его в контроллер, закинуть HTML+CSS от верстальщика и радоваться жизни, как всё классненько работает (или не работает ^^).
Этот кайф я познал на нынешнем рабочем месте, где почти весь функционал, в разработке которого я участвую, лежит за рамками «типичного» веба со всяческими бложиками, новостными лентами и красивыми формочками комментариев.
И ещё. По сути своей, все высокоуровневые языки представляют собой очень толстые фреймворки. И PHP не исключение — его фреймом является набор стандартных функций. Та же история с Java и C#. Всё, что пишется над ними — не более, чем расширение функционала и упрощение API этих фреймворков. Да, конечно, мы можем забабахать свой GUI на Java, работая напрямую с API OpenGL (которое ещё нужно изучить, попутно познав прелести, например, афинных преобразований и векторной геометрии, если ты не изучал их где-нибудь в школе/институте), потратить полгода—год на разработку и тестирование всевозможных графических элементов, которые нужны в приложении, расписать свой MVC с преферансом и распутными девицами, но... В чём выхлоп? Скорее всего, в итоге получится среднего качества библиотека, которая не уйдёт дальше пары проектов, если они к этому моменту не разорятся. А можно взять готовую либу, над которой изо дня в день трудится целый штат программистов и тестировщиков, всяческих её улучшающих и оптимизирующих.
Подводя итог, скажу просто ключевую мысль — каждый должен заниматься своей частью работы, хотя и понимая, как работает другой кусок, используемый в твоей зоне ответственности. Собственно, для этого и создаются фреймворки, библиотеки, модули, плагины и прочее, и прочее.
_____________
Блог |
VK |
GitHub |
Twitch