Стоит Ли Писать Свой Framework/Cms, Если Уже Есть Готовые?

Стоит ли писать свой Framework/CMS, если уже есть готовые? Наверное, многие об этом задумывались.

Вопрос очевиден.

Но ответ, вероятно, будет многозначным.

Часть сообщества — продвинутые крутые программисты — спросят, зачем изобретать велосипед? Все.

Вам нужен веб-сайт-визитка, пожалуйста, создайте его, просто настройте его под себя.

Нужен интернет-магазин, пожалуйста.

Если вам нужна собственная социальная сеть, нет проблем! Зачем писать своё где-то коряво, где-то ошибочно, а где-то совсем ущербно.

На сегодняшний день существует огромное количество различных SMS/CMF. Наверное, многие согласятся, что на первом месте стоит Zend, а потом уже все остальные.

Zend с каждым годом становится более зрелым: оптимизируется код, улучшается безопасность, появляются новые модули, возможности расширения и т. д. и все это благодаря тем прекрасным специалистам, которые его поддерживают. Что может предложить самописный фреймворк? парочка «недомоделей», порой не совсем равных.

И исходя из этого любой адекватный человек соберется с духом, отложит свой фреймворк на дальнюю полку, возьмет Зенд и приступит к работе.

Мое мнение такое: когда человек/студент/новичок садится изучать тот же PHP, получив немного знаний из книг или Интернета, хочет сделать свой сайт. Приступая к его написанию, сталкиваешься с самым главным, что очень нужно - заставляет задуматься о том, как написать сайт: ядро, пусть и примитивное, работа с базой данных, файлами и т.д. Сюда входит мышление - оно дает возможность проявить себя как изобретатель, пусть и для себя, пусть и не очень хороший.

Чем больше попыток он предпримет, даже если они не увенчаются успехом, тем больше у него будет опыта и опыта в исправлении своих ошибок.

Важным аспектом является то, что вы не должны сидеть только за своим кодом.

Лучший учитель — наблюдать за тем, что делают другие.

Берите готовые фреймворки и разбирайте и анализируйте их код. Создавайте свои собственные приложения на этих «чужих» продуктах.

Посмотрите, как они функционируют, используя готовую логику и архитектуру.

Лично по своему опыту скажу, что когда я начал знакомиться с php и пришел к выводу, что мне нужно написать какое-то «ядро» для сайта, то после поиска по многим форумам получил ответы типа: «Почему Зенд плохой? или «Мальчик, не изобретай велосипед. Все было изобретено до нас».

Это очень расстраивало.

А новичку освоить Zend непросто, даже по тем урокам, которые сейчас доступны в Интернете, в которых все разжевано.

Когда не понимаешь, почему для выполнения простого действия написано столько кода, что я якобы могу сделать в своем фреймворке 2 функции, сложно согласиться с тем, что Zend или другой фреймворк лучше вашего.

Конечно, со временем понимаешь и начинаешь видеть дыры в своем детище, и все чаще смотришь в сторону этого мегамонстра, разрушителя «детской психики», красавца Зенда или любого другого.

Время и опыт – это то, что вам нужно, и не стоит бить руки людям, которые еще не достигли уровня работы с готовыми фреймворками.

Мой первый сайт был ужасным кодированием.

Все перемешано: код, html-теги, логика.

Потом я понял, что сложно отлавливать ошибки из кучи файлов, и создал библиотеку-прототип с функциями.

Для меня это был шаг вперед. Но концепция ООП, классов, паттернов, синглтона была для меня пугающей и чуждой.

Но пришло время и мне стало ясно, что файла с функциями уже недостаточно.

Сайт можно сравнить с написанием игрушки на языке ассемблера, что-то вроде низкоуровневого программирования.

Я понял, что мне нужно что-то новое, но ООП далось мне непросто, и на форумах все писали «ЗЕНД! ЗЕНД! ЗЕНД! Испытывая трудности с пониманием ООП, я взялся за ZEND. Но как-то не получилось, про другие фреймворки я даже не говорю.

Единственное, что я начал делать с Зендом, это смотреть на его «внутренности», на его реализацию.

Было много непонятного.

Любые отдельные интересные решения фиксировались в памяти.

Потом другие фреймворки пошли под нож, и желание узнать, как умные люди что-то делают, усилилось.

В мозгу хранились примеры реализации и кода, что в дальнейшем вылилось в написание собственного фреймворка.

Я на 100% знаю, что он в чем-то ущербен, но на нем я отработал все «боевые» приемы, которые изучил все это время.

После этого понимание того же Зенда или другого стало на порядок выше, а код элегантнее.

Пока искал на Хабре наткнулся на пост Архитектура CMS где ув.

мр_свежий написал комментарий к посту: «Эх, многие из нас когда-то рисовали такие диаграммы и писали системы… Это крутой опыт».

И таких постов много, и обидно, что многие такие посты преследуются.

Не каждому нужно становиться профессиональным программистом.

Для многих достаточно иметь собственную страницу в Интернете.

Если сделать логический вывод, то, мне кажется, должны быть самописные фреймворки! Хотя бы для того, чтобы вырасти как специалист и получить более разностороннюю практику.

Потому что какой бы совершенный и красивый код ни писали специалисты, у каждого будет свое видение тех или иных задач.

Так рождаются фреймворки.

Кто-то разместит свой сайт самостоятельно, а кто-то сделает для заказчика простой сайт-визитку, обновляемый раз в год. Своя «самоделка» — хороший полигон, но и о других забывать, хотя бы в качестве примеров, не стоит. Теги: #php #framework #Zend Framework #разработка cms #Chulan #самодельный фреймворк

Вместе с данным постом часто просматривают: