Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Fusebox был фреймворком веб-приложений для CFML и PHP . Первоначально выпущенная в 1997 году, последняя версия 5.5.2 была выпущена в мае 2012 года. В январе 2012 года права на Fusebox были переданы от TeraTech группе из пяти разработчиков [1], которые удалили права и поместили фреймворк в руки сообщества. [2]

Fusebox должен был быть простым в освоении и обеспечивать преимущества, помогая разработчикам структурировать свой код с помощью набора простых соглашений. Fusebox также позволял продвинутым разработчикам создавать большие приложения, используя шаблоны проектирования и методы объектно-ориентированного программирования, если они того пожелают.

Обзор [ править ]

Fusebox предоставил разработчикам веб-приложений стандартизированный, структурированный способ разработки своих приложений с использованием относительно простого и легкого в изучении набора основных файлов и рекомендуемых соглашений. В дополнение к самой структуре Fusebox стал тесно связан с разработанной его сторонниками методологией разработки веб-приложений, известной как « FLiP » (от Fusebox Lifecycle Process). (Многие люди называют Fusebox «методологией», но на самом деле это была среда разработки. Однако FLiP - это методология). Фреймворк был перенесен и используется в ASP , JSP , Lasso , Perl / CGI и PHP. также, хотя версии Fusebox на CFML и PHP были единственными версиями, которые набрали обороты.

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

Концепции [ править ]

Блок предохранителей, схемы и предохранители [ править ]

Первоначальные концепции Fusebox были основаны на бытовой идиоме электрического блока предохранителей, который управляет несколькими цепями, каждая из которых имеет собственный предохранитель. В веб-приложении Fusebox все запросы направляются через одну точку (обычно index.cfmдля CFML) и обрабатываются основными файлами Fusebox. Приложение разделено на несколько цепей (обычно в подкаталогах), которые предназначены для выполнения связанных функций. Каждая цепь в приложении разделена на небольшие файлы, называемые предохранителями, которые должны выполнять простые задачи. Таким образом, Fusebox считается реализацией переднего контроллера , распространенного шаблона проектирования .

URL-адреса в веб-приложении Fusebox обычно имеют форму, index.cfm?fuseaction=cname.fnameгде « cname» - это имя схемы, а « fname» - это определенный XML «метод» внутри этой схемы, известный как fuseaction. Имя переменной строки запроса «fuseaction» может варьироваться в зависимости от параметров конфигурации, поэтому не всем приложениям, использующим Fusebox, необходимо использовать переменную действия «fuseaction».

Соглашения об именах [ править ]

Fusebox поощряет, но не обеспечивает, отделение логики представления от бизнес-логики. Он использует ряд соглашений об именах файлов для поощрения этого разделения: файлы презентации начинаются с dsp (отображение) или lay (макет), файлы доступа к базе данных начинаются с qry (запрос), а общие бизнес-файлы начинаются с act (действие). Типичные имена файлов имеют формат [префикс] _ [имя файла], например dsp_loginform.cfm. Некоторые разработчики Fusebox используют дополнительные соглашения об именах, но они наиболее распространены.

Выйти из Fuseactions [ править ]

Еще одна концепция, которую поощряет Fusebox, - параметризация любых точек выхода на веб-странице, кодирование их как переменных, установленных в файле управления схемой. Эти точки выхода известны как XFAs - eXit FuseActions. Идея состоит в том, что путем параметризации точек выхода на веб-странице поток управления может быть обновлен более легко, что позволяет повторно использовать веб-страницы или их фрагменты.

FuseDocs [ править ]

С фреймворком, но не строго его частью, связана концепция FuseDocs, которая представляет собой полуформализованную форму документации, написанной на XML, которая определяет входные и выходные данные каждого файла плавких предохранителей. Доступны сторонние инструменты, которые могут использовать FuseDocs для таких вещей, как генерация кода тестовой оснастки.

История [ править ]

Fusebox претерпел несколько серьезных изменений за эти годы. В Fusebox 3 все управляющие файлы были написаны на соответствующем языке программирования (например, fbx_Switch.cfm для CFML). Fusebox 4 и более поздние версии используют XML для управляющих файлов (fusebox.xml и circuit.xml), но другие компоненты инфраструктуры написаны с использованием базового языка программирования (например, fusebox5.cfm, опять же для CFML). Теоретически это помогает улучшить инструментальную поддержку фреймворка. Это также позволило выполнить предварительный анализ и создание единого шаблона для обработки каждого действия fuseaction, что значительно повысило производительность. Fusebox 5.5 позволяет опускать файлы XML при соблюдении определенных соглашений.

Fusebox (версия 1) [ править ]

Fusebox 1 вырос из разговора в списке рассылки CF-Talk в апреле 1998 года. Стиву Нельсону и Гейбу Роффману приписывают создание оригинального Fusebox, хотя первая программа Fusebox была написана Джошем Сиром. Методология постоянно развивалась, и помимо официального документа и горстки примеров, официальной документации не существовало. В те первые дни очень немногие разработчики были знакомы с Fusebox.

Fusebox 2 [ править ]

Крейг Жирар и Стив Нельсон (вместе с Хэлом Хелмсом и Натом Паповичем) написали книгу Fusebox: Methodology and Techniques, которая была опубликована в 2000 году компанией Fusion Authority. Говорят, что программисты, которые следовали методикам, описанным в книге, занимались "Fusebox 2".

XFB [ править ]

Хэл Хелмс основывался на Fusebox 2 и назвал свои идеи eXtended FuseBox или XFB.

Fusebox 3 [ править ]

Fusebox 3 (написанный в основном Хэлом Хелмсом, Джоном Куарто-фон Тивадаром и Натом Паповичем) был попыткой ведущих членов сообщества Fusebox включить XFB и другие идеи в повторно используемую библиотеку, известную как «основные файлы». Простой API позволял коду приложения взаимодействовать с файлами ядра. После выпуска осенью 2001 года Fusebox стал скорее структурой , чем методологией . В следующем выпуске 3.01 были устранены незначительные проблемы. Блок предохранителей 3 был чем-то вроде кардинального изменения блока предохранителей 2. Только оригинальные принципы остались относительно неизменными; Приложение Fusebox 2 и Fusebox 3 устроено по-разному.

Fusebox 4 [ править ]

Fusebox 4 был полностью переписан Fusebox 3. Лицензия на файлы ядра (с открытым исходным кодом) принадлежит частной компании, принадлежащей Хэлу Хелмсу и Джону Куарто-фон Тивадару: The Fusebox Corporation [ постоянная мертвая ссылка ] (которая появляется быть несуществующей корпорацией).

Fusebox 4.1 представил некоторые новые элементы грамматики XML помимо тех, которые были доступны в 4.0, которые позволяют объявлять, создавать экземпляры и управлять объектами (COM, Java и компоненты ColdFusion), а также веб-службами. Эти функции предоставили разработчикам Fusebox средства привязки объектно-ориентированных моделей (т. Е. Бизнес-логики) непосредственно к их контроллерам. Однако многие разработчики Fusebox использовали объектно-ориентированные или сильно структурированные модели в более ранних версиях Fusebox или в текущих версиях без использования этих элементов грамматики.

Fusebox 5 [ править ]

В 2006 году корпорация Fusebox попросила Шона Корфилда возглавить разработку следующей версии Fusebox. Fusebox 5 был еще одной полностью переработанной версией с новыми функциями и улучшенной производительностью. Fusebox 5 почти полностью поддерживает обратную совместимость с Fusebox 4.1. В ноябре 2006 г. корпорация Fusebox передала права собственности на файлы ядра и веб-сайт fusebox компании TeraTech под руководством президента TeraTech и докладчика Майкла Смита. TeraTech объявила, что Fusebox останется открытым исходным кодом и снова стремится увеличить участие сообщества в проекте. Fusebox 5.1 и все последующие выпуски находятся под лицензией Apache Source License 2.0 . В феврале 2007 года участники Team Fusebox встретились на конференции Frameworks в Бетесде, штат Мэриленд, и разработали план действий по вовлечению сообщества, используя волонтеров в девяти различных областях Fusebox.

Fusebox 5.5 [ править ]

В этом выпуске основное внимание уделялось добавлению набора соглашений, позволяющих создавать приложения Fusebox без файлов конфигурации XML . Использование этих новых функций вместо XML называется «неявным предохранителем».

  • Альфа-тестирование началось в июне 2007 г.
  • Публичная бета-версия стала доступна на Adobe MAX в октябре 2007 г.
  • Официальный выпуск Fusebox 5.5 стал доступен в начале декабря 2007 г.

Fusebox 5.5.1 и FuseNG [ править ]

Выпуск Fusebox 5.5.1 в марте 2008 года был последним выпуском Шона Корфилда. В августе 2008 года Адам Хаскелл взял на себя разработку, но разочаровался в организации Fusebox [3] и попытался создать новую структуру под названием FuseNG (NG для Next Generation, отсылка к Star Trek ). FuseNG быстро потерял пар и закончился без релиза. [4]

Fusebox 5.6 [ править ]

В январе 2012 года группа из пяти разработчиков сообщества во главе с Джоном Блейтером объявила в списке рассылки Fusebox, что они получили права и авторские права на Fusebox от TeraTech. [2] На код фреймворка было снято авторское право, и он доступен на GitHub для поощрения участия сообщества. Были объявлены цели Fusebox 5.6 , но они не были реализованы. [5]

См. Также [ править ]

  • Сравнение веб-фреймворков

Ссылки [ править ]

  1. ^ Авторы - Fusebox
  2. ^ a b Yahoo! Группы
  3. ^ Открытое письмо хранителям Fusebox
  4. ^ Последнее обновление FuseNG
  5. ^ Блок предохранителей 5.6 - Блок предохранителей

Внешние ссылки [ править ]

  • Официальный веб-сайт, Fusebox.org
  • Официальный список рассылки Fusebox в Yahoo Groups
  • Введение в фреймворки ColdFusion, в Adobe DevNet
  • Обзор Fusebox 4 (sys-con.com, сентябрь 2003 г.)
  • Fusebox 3 Feature (sys-con.com, ноябрь 2001 г.)
  • Список рассылки Fusebox в House of Fusion