Другие языки программирования и технологии

объясните своими словами что такое framework, из данной темы jii и bootstrap некоторые сайты на них построены например

real open estate написано что использовалась jii
но я качаю а там скрипты обычные, я думал это платформа, где программа сама генерирует php коды и тд.... сорри если по нубски все это звучит! а там обычные файлы как cms обычные!
WW
White Wolf
39 752
Фреймворк решает типовые задачи оптимальным или наилучшим методом. На примере jquery: можно мучиться с кроссбраузерностью на чистом js, можно решение этих проблем "перепоручить" разработчикам фреймворка, можно переизобретать композитную асинхронную схему для фронтэнда, а можно начать использовать basisJS. По PHP - можно вымучивать самостоятельно классы для паттернов ORM/ActiveRecord (на полноценную реализацию потребуются не трудодни, человекогоды) , с другой стороны никто не запрещает воспользоваться хорошо оттестированными и документированными ReadBean, Doctrine и т. п. решениями с prepared statements, type validation, escaping и другими наиполезнейшими плюшками.

Хотя само по себе использование фреймворка не защищает на 100% ошибок.

Только code review / tdd / pentest для веб-приложения дают ~99% гарантии.

С другой стороны, под фреймворки есть полезные инструменты

а) командные кодогенераторы, например yii располагает кодогенератором gii и умеет делать scaffolding

б) визуальные RAD tools вроде CodeCanvas, Sencha Studio, фактически для веба это аналоги Lazarus/Visual Studio/QT Creator

в) появилась идея схемы UML и блок-схемы flowcharts переводить в код (drakon-editor и т. п. проекты)
АС
Андрей Семенюк
8 955
Лучший ответ
отвечю только на "объясните своими словами что такое framework": это библиотека (набор функций) , только хорошо классифицированная. В отличие от обычных библиотек фреймворк обычно гораздо проще использовать.
Роман Королюк
Роман Королюк
16 517
Это каркас программной системы (или подсистемы) . Может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта

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