Дубликаты:
Любой, кто не использует веб-инфраструктуру? Зачем?
Большинство веб-программистов (а не дизайнеров) используют редакторы wysiwyg или компилируют свой HTML-код?
Что лучше использовать HTML / CSS, отредактированные вручную, или с помощью проектных программ? и почему?
Теперь, прежде чем продолжить, я чувствую более удобное кодирование вручную без использования фреймворка типа PHP. Каковы преимущества использования каркаса против ручного кодирования и наоборот при проектировании крупномасштабного сайта?
Рамка в принципе предоставляет вам множество вещей (функций / классов), которые вам, вероятно, понадобятся. Вместо того, чтобы писать свою собственную функцию, скажем, загружать представление с контроллера, эта структура уже написана для вас.
Преимущества этого:
Недостатками фреймворков являются:
Кодируя вручную, вы делаете то, что хотите, как хотите, и использование фреймворка требует разумного изменения от «как это сделать», «как мне это сделать в рамках». Иногда структура сводит вас с ума, поскольку что-то, что кажется легким, может показаться навсегда, но есть много преимуществ:
Возьмите тест-драйв чего-то вроде Drupal. Посмотрите, что он может сделать, и посмотрите на доступные плагины.
Я работал над 3-мя заказными системами CMS и теперь работаю с Drupal, и, хотя у него есть свои причуды, это намного лучший опыт. Девять раз из десяти функциональность, в которой вы нуждаетесь, уже существует как модуль. Основные функции выполняются для вас и обновляются другими людьми, и сообщество упрощает обучение.
Я бы предложил структуру, особенно при работе с чем-то крупным масштабом. Количество времени, которое оно должно сэкономить вам, должно само по себе стоить, а также согласованность вывода, такие функции, как поиск, поддержка AJAX и локализация, будут проще и, скорее всего, менее ошибочными, чем делать это вручную.
Я предполагаю, что вы тоже будете использовать JavaScript, а инфраструктура IMO не вызывает проблем из-за проблем совместимости между браузерами.
Может быть, единственное удобное время, когда я буду использовать фреймворк, – это когда проект слишком велик, иначе его обычно безопаснее манипулировать вашим собственным материалом, потому что он дает вам преимущество над тем, что вы делаете. Рамки также могут помочь, если вы одновременно объединяете множество разных проектов, и вы сохраняете свое время, а не вручную кодируете что-то снова и снова. Итак, рамки хороши, но нужно просто решить, когда и почему их использовать, как того требует ситуация.
Многие люди, похоже, думают, что использование фреймворка требует, чтобы вы учились больше, чем если бы вы сворачивали свои собственные. Это справедливо только в том случае, если вы уже знаете, как создавать веб-приложения в архитектуре, и в этом случае вы, вероятно, знакомы с одной или несколькими инфраструктурами.
Архитектура обучающего программного обеспечения больше искусства, чем науки, и все книги по шаблонам в мире не научат вас тому, чему вы научитесь, работая с хорошей веб-картой и читая источник.
Когда я начал программировать, я написал весь свой код сам и на языках низкого уровня. Я многому научился, но мои программы могли быть закончены раньше и с лучшим качеством, если бы я использовал другие инструменты.
Когда я начал писать программы в Rails, я действительно много узнал об архитектуре и программировании в целом, о которых я, вероятно, мог бы узнать только, читая код других людей. Чтобы научиться правильно использовать фреймворк, я заставил меня прочитать много кода и понять, почему он был написан таким образом.
Я бы рекомендовал вам выбрать хорошую структуру и использовать ее (Rails приходит на ум). Даже если вы откажетесь от своего собственного, я бы рекомендовал вам научиться использовать фреймворк в любом случае. Изобретать вещи самостоятельно займет гораздо больше времени, чем использование существующих идей.