Фреймворк
Фреймворк (en. framework - рабочее пространство) — достаточно популярная и изощрённая уебанская хуйня из области объектно ориентированной парадигмы для ленивых пидерастов не желающих писать весь код вручную или использовать бибилиотеки. Фреймворк это каркас для вашего программного продукта. Если вы решили использовать в работе фреймворк, то вы полностью должны «играть по его правилам» ибо иначе никак. Взамен он даёт достаточно лёгкий (по сравнению с полностью ручным вариантом) инструментарий в реализации задуманного, если конечно данный, выбранный вами, фреймворк в принципе позволяет это сделать.
Как правило сабж отличается крайней степенью капризности и не понятности в случае не имения документации, коя, естественно, только на официальном сайте и на английском языке, причём далеко не разговорном и перевести подобную ахинею не так то уж и просто. В случае автоматического перевода вообще смрат о котором и думать не хочется. В общем полный пиздец одним словом. И это касается даже самых популярных фреймворков не говоря уже о более специфических и редких. Помешанные на объектно ориентированно парадигме (так модной в лихих 90-ых) языки наподобие Java, C# более чем полностью состоят из собственных родных фреймворков когда дело касается графического пользовательского интерфейса (GUI).
В общем полный кал ибо в базовых библиотеках, как правило, весь необходимый функционал имеется. Если же чего то нет, то существуют сторонние библиотеки всё в тех же официальных репозиториях. Ебать му му при использовании фреймворков просто глупо ибо нехуй филонить. Вообще злоупотребление этой вещью весьма плохая практика, когда требуется добавить функционал, который впринципе не предусмотрен используемым фреймворком, а программа уже полностью написана на нём. Тут и начинаются велосипеды и прочая хуета дабы угодить заказчику в угоду стабильности и быстродействию.
Как всё происходит?[править]
Вы берёте нужный вам framework и начинаете читать его правила архитектуры построение приложения, которые он вам явно навязывает. Всё взаимодействие с ним происходит за счёт изменения параметров в стандартных алгоритмах самого фреймворка и так же при реализации абстрактных классов (интерфейсов) (так же подобная тема называется «точками монтирования» функционала фреймворка) и расширений своих классов от базовых (банальное расширения фреймворка). Свободы мало зато код пишется в разы быстрее. НО, блять, всегда знайте, что техническое задание может серьёзно измениться и тогда, скорее всего, вам пиздец! Ибо как такую неведомую хуйню реализовать на текущем каркасе хуй знает, а переписывать всё с нуля своими руками уже нет времени ибо вы просто нагло его проебали, когда надо было писать код руками, а вы воспользовались готовым решением (фреймворком). Хорошо если фреймворк позволяет много свободы и тут на помощь могут придти библиотеки и прямые руки, но если нет.
В промышленности[править]
Очень любимое понятие у «продвинутых» работодалей. Таковые частенько любят оценивать кандидатов по количеству фреймворков, которые были отмечены галочками как известные в опросе или резюме. На деле, у матёрых спецов, ничего кроме чувства отвращения это слово не вызывает. Самые популярные фреймворки, например от Microsoft тот же MVC, это как бэ отождествляют собой.
Любят такую херню разве, что быдлокодеры, которые хотят быстрых денег за пару нажатий клавиш на клавиатуре. При этом сами искренне недоумевают о возникших в программе багах и ошибках. В итоге читают логи вместе с заказчиком и тянут время якобы доделывая свой говно софт, на деле же охуевают от детального чтения документации и просят помощи на специализированных форумах.
Что есть фреймворк?[править]
По сути это уже готовый программный продукт со своей логикой и алгоритмами работы. Это подтверждает так же тот факт, что большинство фрейморков могут сразу работать по умолчанию из коробки. То есть такие программы компилируются и запускаются. Тем не менее фреймворк это своеобразный конструктор со своей внутренней спецификой сборки и взаимодействия частей. Как правило приложение очень гибкое и предоставляет большой функционал готовых «шаблонов» для подключения, реализации, изменения, дополнения.