Стоит ли писать свой Framework/CMS, если уже есть готовые? Наверное, многие об этом задумывались.
Вопрос очевиден.
Но ответ, вероятно, будет многозначным.
Часть сообщества — продвинутые крутые программисты — спросят, зачем изобретать велосипед? Все.
Вам нужен веб-сайт-визитка, пожалуйста, создайте его, просто настройте его под себя.
Нужен интернет-магазин, пожалуйста.
Если вам нужна собственная социальная сеть, нет проблем! Зачем писать своё где-то коряво, где-то ошибочно, а где-то совсем ущербно.
На сегодняшний день существует огромное количество различных SMS/CMF. Наверное, многие согласятся, что на первом месте стоит Zend, а потом уже все остальные.
Zend с каждым годом становится более зрелым: оптимизируется код, улучшается безопасность, появляются новые модули, возможности расширения и т. д. и все это благодаря тем прекрасным специалистам, которые его поддерживают. Что может предложить самописный фреймворк? парочка «недомоделей», порой не совсем равных.
И исходя из этого любой адекватный человек соберется с духом, отложит свой фреймворк на дальнюю полку, возьмет Зенд и приступит к работе.
Мое мнение такое: когда человек/студент/новичок садится изучать тот же PHP, получив немного знаний из книг или Интернета, хочет сделать свой сайт. Приступая к его написанию, сталкиваешься с самым главным, что очень нужно - заставляет задуматься о том, как написать сайт: ядро, пусть и примитивное, работа с базой данных, файлами и т.д. Сюда входит мышление - оно дает возможность проявить себя как изобретатель, пусть и для себя, пусть и не очень хороший.
Чем больше попыток он предпримет, даже если они не увенчаются успехом, тем больше у него будет опыта и опыта в исправлении своих ошибок.
Важным аспектом является то, что вы не должны сидеть только за своим кодом.
Лучший учитель — наблюдать за тем, что делают другие.
Берите готовые фреймворки и разбирайте и анализируйте их код. Создавайте свои собственные приложения на этих «чужих» продуктах.
Посмотрите, как они функционируют, используя готовую логику и архитектуру.
Лично по своему опыту скажу, что когда я начал знакомиться с php и пришел к выводу, что мне нужно написать какое-то «ядро» для сайта, то после поиска по многим форумам получил ответы типа: «Почему Зенд плохой? или «Мальчик, не изобретай велосипед. Все было изобретено до нас».
Это очень расстраивало.
А новичку освоить Zend непросто, даже по тем урокам, которые сейчас доступны в Интернете, в которых все разжевано.
Когда не понимаешь, почему для выполнения простого действия написано столько кода, что я якобы могу сделать в своем фреймворке 2 функции, сложно согласиться с тем, что Zend или другой фреймворк лучше вашего.
Конечно, со временем понимаешь и начинаешь видеть дыры в своем детище, и все чаще смотришь в сторону этого мегамонстра, разрушителя «детской психики», красавца Зенда или любого другого.
Время и опыт – это то, что вам нужно, и не стоит бить руки людям, которые еще не достигли уровня работы с готовыми фреймворками.
Мой первый сайт был ужасным кодированием.
Все перемешано: код, html-теги, логика.
Потом я понял, что сложно отлавливать ошибки из кучи файлов, и создал библиотеку-прототип с функциями.
Для меня это был шаг вперед. Но концепция ООП, классов, паттернов, синглтона была для меня пугающей и чуждой.
Но пришло время и мне стало ясно, что файла с функциями уже недостаточно.
Сайт можно сравнить с написанием игрушки на языке ассемблера, что-то вроде низкоуровневого программирования.
Я понял, что мне нужно что-то новое, но ООП далось мне непросто, и на форумах все писали «ЗЕНД! ЗЕНД! ЗЕНД! Испытывая трудности с пониманием ООП, я взялся за ZEND. Но как-то не получилось, про другие фреймворки я даже не говорю.
Единственное, что я начал делать с Зендом, это смотреть на его «внутренности», на его реализацию.
Было много непонятного.
Любые отдельные интересные решения фиксировались в памяти.
Потом другие фреймворки пошли под нож, и желание узнать, как умные люди что-то делают, усилилось.
В мозгу хранились примеры реализации и кода, что в дальнейшем вылилось в написание собственного фреймворка.
Я на 100% знаю, что он в чем-то ущербен, но на нем я отработал все «боевые» приемы, которые изучил все это время.
После этого понимание того же Зенда или другого стало на порядок выше, а код элегантнее.
Пока искал на Хабре наткнулся на пост Архитектура CMS где ув.
мр_свежий написал комментарий к посту: «Эх, многие из нас когда-то рисовали такие диаграммы и писали системы… Это крутой опыт».
И таких постов много, и обидно, что многие такие посты преследуются.
Не каждому нужно становиться профессиональным программистом.
Для многих достаточно иметь собственную страницу в Интернете.
Если сделать логический вывод, то, мне кажется, должны быть самописные фреймворки! Хотя бы для того, чтобы вырасти как специалист и получить более разностороннюю практику.
Потому что какой бы совершенный и красивый код ни писали специалисты, у каждого будет свое видение тех или иных задач.
Так рождаются фреймворки.
Кто-то разместит свой сайт самостоятельно, а кто-то сделает для заказчика простой сайт-визитку, обновляемый раз в год. Своя «самоделка» — хороший полигон, но и о других забывать, хотя бы в качестве примеров, не стоит. Теги: #php #framework #Zend Framework #разработка cms #Chulan #самодельный фреймворк
-
Лесевич Владимир Викторович
19 Oct, 24 -
Техподдержка Всего Мира: Да-Да, Эти Ребята
19 Oct, 24 -
Пузырьковая Сортировка В Коде Qualcomm
19 Oct, 24 -
Кто Убил Пролог?
19 Oct, 24 -
Скалакси Снова Предлагает Куда-То Пойти...
19 Oct, 24