Top.Mail.Ru
Ответы

Вопрос вебразработчикам (программистам) . Что такое "фреймвоки"?

В общих чертах я в курсе - это некий инструменатрий для облегчения разработки своих CMS или других вебпроектов. Не понятен только (пока) сам "МЕХАНИЗМ". Ну, короче, меня интересует (пока чисто в теоретическом плане) как это все работает?

Попробую по-другому вопрос формулировать:
1. Для УЧЕБЫ HTML пойдет и обычный блокнот, но гораздо удобнее Notepad++ (ну или Dreamveawer для "продвинутых").
Для CSS и PHP примерно таже история - Блокнот (Notepad++, Dreamveawer).

"Механизм" такой - на компьютер устанавливается специальный софт, который подсвечивает код, выдает интерактивные подсказки во время ввода кода и прочими аналогичными действиями облегчает создание сайтов (проектов) .

2. Для САЙТА можно использовать какую-нибудь CMS (WordPress, Joomla, Drupal) и т. д. и т. п. "Механизм" тоже понятен - по сути это набор обычных PHP-скриптов ...если хорошо разбираешься в PHP, можешь залесть внутрь нужных тебе "скриптов" и "напильником" подтачиваешь так, как тебе нужно. Если не особо разбираешься в PHP - используй в том виде, в котором дали. Ограничивай себя только модификацией контента.

3. Для РАЗРАБОТКИ уникальных проектов - фреймвоки. А вот тут "механизм" не понятен. Что именно качается, куда устанавливается, как это все выглядит внешне? Т. е. ЧТО и ГДЕ меняется (появляется, добавляется) после скачивания (установки) того или иного фреймвока и как это все работает? Где, что и как автоматизируется? И т. д. и т. п. Посмотрел пару видеороликов про фреймвоки, попал на какие-то шибко "продвинутые" из которых, естетсвенно, НИЧЕГО не понял. Пока (после просмотра) сложилось такое впечатление - на компьютер в нужные указанные проекты доустанавливается некий набор файлов, после чего в коды можно вводить некий набор команд, которых до установки фреймвока не было - ну что-то вроде компилятора языка программирования. Я правильно суть уловил или ушел совсем не в ту степь?

По дате
По Рейтингу
Аватар пользователя
Новичок
13лет

На самом деле все очень просто.
Фреймовк, это набор классов и методов, упрощающих выполнение рутинных операций, а также (в некоторых случаях - фреймворк фреймфорку рознь) определяющих скелет приложения. Кроме того они делают код понятнее.
Ну например есть фреймворк для JavaScript под названием jQuery. Распространяется он в виде одного или нескольких файлов, которые нужно подключить на свою веб-страницу. Вызов одного метода jQuery запускает в работу целый блок кода на JavaScript. Например чтобы красиво свернуть блок в jQuery достаточно вызвать метод hide('slow'), а на самом деле за этим методом скрыта целая куча JavaScript кода. jQuery не задает никакого каркаса для приложения, он просто облегчает работу. Т. е. фраймфорк позволяет подняться на более высокий уровень программирования, не копаться в деталях реализации а оперировать готовыми блоками.
Другой пример - Microsoft MVC - это такой настоящий каркасный фреймфорк, который кроме всяких помогалок (хелперов) определяет каркас всего приложения. Тут вы создаете проект типа Microsoft MVC, в нем настроена определенным образом обработка приходящих запросов, реакция на действия пользователя и прочее и прочее, и вы начинаете разрабатывать свое приложение в рамках этого фреймворка (ну даже не в рамках, потому что как таковых рамок он не задает, а скорее имея каркас и опираясь на него: используя рекомендуемый подход для размещения, именования файлов, их содержания, пользуясь классами и методами фреймворка) . Любую CMS-систему, например, можно рассматривать как своеобразный фреймворк - она дает каркас, базовый функционал и вспомогательные инструменты, при этом не ограничивает действия.

Аватар пользователя
Просветленный
13лет

>Что такое "фреймвоки"?

Фактически, фреймворк - это набор библиотек. Как правило это библеотека самого фрейморка и сторонние реализующие его функциональность.

>как это все работает?

Фреймворк - это каркас, да. Каркас который предлагает разработчику писать веб-приложение следуя определённым соглашениям и паттернам проектирования, и предоставляет ему инструменты для этого. Большинство веб-фрейморков реализуют MVC(модель-представление-контроллер) паттерн проектирования (их так и называют "mvc веб-фреймворки"), либо похожий на него.

Аватар пользователя
Профи
13лет

Ну тут нужно уточнить что такое современный веб-проект, это вот такая "каша" : хтмл, каскадные таблицы стилей, яваскрипт, серверная часть (пхп скажем) , нету такого мощного инструмента, который бы охватил и облегчил все аспекты, вернее, попытки существуют, но они теряются (имхо) на фоне настоящих монстров, которые предназначены для каждого аспекта в отдельности. Далее также мои личные предпочтения: Каскадныне таблицы стилей, форматирование - Бутстрап (движок твиттера) , яваскрипт - джейКуери, пхп - скажем КодеИгниттер. Все это фреймворки, они отлично работают по-отдельности, и, безусловно, их можно объединять "на уровне подсознания" для разработки сложных проектов.

Аватар пользователя
Мастер
13лет

англ. framework, Каркас
Это каркас программной системы (или подсистемы) . Может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. Обычно объединение происходит за счёт использования единого API.
В общем то правильно. Фреймворк дает нам уже готовые решения. И вы их уже используя как каркас строите свой проект.