Skrzynka bezpieczników (programowanie)
Pierwsze wydanie | 1997 |
---|---|
Ostateczne wydanie | 5.5.2 / 8 maja 2012 r |
Napisane w | CFML , PHP |
Typ | Ramy aplikacji internetowych |
Licencja | Licencja Apache |
Strona internetowa |
Fusebox był platformą aplikacji internetowych dla CFML i PHP . Pierwotnie wydany w 1997 roku, ostateczna wersja, 5.5.2, ukazała się w maju 2012 roku. W styczniu 2012 roku prawa do Fusebox zostały przeniesione z TeraTech do zespołu pięciu programistów, którzy usunęli prawa i oddali framework w ręce wspólnota.
Fusebox miał być łatwy do nauczenia i zapewniać korzyści, pomagając programistom uporządkować ich kod za pomocą zestawu prostych konwencji. Fusebox umożliwił również zaawansowanym programistom tworzenie dużych aplikacji, wykorzystując wzorce projektowe i techniki programowania obiektowego, jeśli sobie tego życzą.
Przegląd
Fusebox zapewnił programistom aplikacji internetowych znormalizowany, ustrukturyzowany sposób tworzenia ich aplikacji przy użyciu stosunkowo prostego i łatwego do nauczenia zestawu podstawowych plików i zalecanych konwencji. Oprócz samego frameworka, Fusebox został ściśle powiązany z metodologią tworzenia aplikacji internetowych opracowaną przez jego zwolenników, znaną jako „FLiP” (od Fusebox Lifecycle Process). (Wiele osób nazywa Fusebox „metodologią”, ale w rzeczywistości był to framework programistyczny. FLiP to jednak metodologia). Framework został przeniesiony i używany w ASP , JSP , Lasso , Perl / CGI i PHP również, chociaż wersje CFML i PHP Fusebox były jedynymi wersjami, które nabrały rozpędu.
Fusebox zajmował się przede wszystkim łączeniem stanów widoku (stron) z działaniami kontrolera (przesyłanie formularzy itp.) oraz interfejsem warstwy logiki biznesowej. Ramy nie dotyczyły tworzenia i utrzymywania logiki biznesowej, takiej jak interakcja z bazą danych lub warstwy usług
koncepcje
Skrzynka bezpieczników, obwody i bezpieczniki
Oryginalne koncepcje Fusebox opierały się na domowym idiomie elektrycznej skrzynki bezpieczników, która steruje wieloma obwodami, z których każdy ma własny bezpiecznik. W aplikacji internetowej Fusebox wszystkie żądania są kierowane przez pojedynczy punkt (zwykle index.cfm
dla CFML) i przetwarzane przez podstawowe pliki Fusebox. Aplikacja jest podzielona na szereg obwodów (zwykle w podkatalogach), które mają zawierać powiązaną funkcjonalność. Każdy obwód w aplikacji jest dodatkowo podzielony na małe pliki zwane bezpiecznikami, które powinny wykonywać proste zadania. Jako taki, Fusebox jest uważany za implementację przedniego kontrolera , wspólnego wzór projektowy .
Adresy URL w aplikacji internetowej Fusebox mają zazwyczaj postać index.cfm?fuseaction=cname.fname
, gdzie „ cname
” to nazwa obwodu, a „ fname
” to zdefiniowana w języku XML „metoda” w ramach tego obwodu, znana jako fuseaction. Nazwa zmiennej ciągu zapytania „fuseaction” może się różnić w zależności od parametrów konfiguracyjnych, więc nie wszystkie aplikacje korzystające z Fusebox muszą używać zmiennej akcji „fuseaction”.
Konwencje nazewnictwa
Fusebox zachęca, ale nie wymusza, oddzielenia logiki prezentacji od logiki biznesowej. Wykorzystuje wiele konwencji nazewnictwa plików, aby zachęcić do tego rozdzielenia: pliki prezentacji zaczynają się od dsp (display) lub lay (układ), pliki dostępu do bazy danych zaczynają się od qry (zapytanie), a ogólne pliki biznesowe zaczynają się od act (akcja). Typowe nazwy plików mają format [przedrostek]_[nazwa pliku], na przykład dsp_loginform.cfm. Niektórzy programiści Fusebox stosują dodatkowe konwencje nazewnictwa, ale te są najczęstsze.
Wyjdź z Fuseactions
Inną koncepcją, do której zachęca Fusebox, jest parametryzacja dowolnych punktów wyjścia na stronie internetowej, kodowanie ich jako zmiennych ustawionych w pliku kontrolnym obwodu. Te punkty wyjścia są znane jako XFA - eXit FuseActions. Pomysł polega na tym, że parametryzując punkty wyjścia na stronie internetowej, można łatwiej aktualizować przepływ kontroli, co pozwala na częstsze ponowne wykorzystanie stron internetowych lub ich fragmentów.
FuseDocs
Z frameworkiem powiązana, ale nie ściśle jego część, jest koncepcja FuseDocs , która jest częściowo sformalizowaną formą dokumentacji napisanej w XML, która określa wejścia i wyjścia każdego pliku bezpieczników. Dostępne są narzędzia innych firm, które mogą wykorzystywać FuseDocs do wykonywania takich czynności, jak generowanie kodu wiązki testowej.
Historia
Fusebox miał kilka poważnych zmian na przestrzeni lat. W Fusebox 3 wszystkie pliki kontrolne zostały napisane w bazowym języku programowania (np. fbx_Switch.cfm dla CFML). Fusebox 4 i nowsze wersje używają XML dla plików sterujących (fusebox.xml i circuit.xml), ale inne komponenty frameworka są napisane przy użyciu podstawowego języka programowania (np. fusebox5.cfm, ponownie dla CFML). Teoretycznie pomaga to poprawić obsługę narzędzi dla frameworka. Pozwoliło to również na wstępne przeanalizowanie i wygenerowanie pojedynczego szablonu do przetwarzania każdej operacji łączenia, co znacznie zwiększyło wydajność. Fusebox 5.5 pozwala na pominięcie plików XML, jeśli przestrzegane są pewne konwencje.
Skrzynka bezpieczników (wersja 1)
Fusebox 1 wyrósł z rozmowy na liście mailingowej CF-Talk w kwietniu 1998 roku. Steve Nelson i Gabe Roffman są uznawani za twórców oryginalnego Fuseboksa, chociaż pierwszy program Fusebox został napisany przez Josha Cyra. Metodologia stale ewoluowała i poza białą księgą i kilkoma przykładami nie istniała żadna oficjalna dokumentacja. Bardzo niewielu programistów miało kontakt z Fuseboxem w tych wczesnych dniach.
Skrzynka bezpieczników 2
Craig Girard i Steve Nelson (wraz z Halem Helmsem i Natem Papovichem) napisali książkę Fusebox: Methodology and Techniques, która została opublikowana w 2000 roku przez Fusion Authority. Mówiono, że programiści, którzy postępowali zgodnie z praktykami opisanymi w książce, robili „Fusebox 2”.
XFB
Hal Helms zbudował na Fusebox 2 i nazwał swoje pomysły eXtended FuseBox lub XFB.
Skrzynka bezpieczników 3
Fusebox 3 (napisany głównie przez Hala Helmsa, Johna Quarto-von Tivadara i Nata Papovicha) był wysiłkiem wiodących członków społeczności Fusebox mającym na celu włączenie XFB i innych pomysłów do biblioteki wielokrotnego użytku, znanej jako „pliki podstawowe”. Prosty interfejs API umożliwiał kodzie aplikacji komunikację z podstawowymi plikami. Po wydaniu jesienią 2001 roku, Fusebox stał się ramą , a nie metodologią . Kolejne wydanie 3.01 rozwiązało drobne problemy. Fusebox 3 był czymś w rodzaju morskiej zmiany z Fusebox 2. Tylko pierwotne zasady pozostały względnie niezmienione; aplikacja Fusebox 2 i Fusebox 3 mają bardzo różną strukturę.
Skrzynka bezpieczników 4
Fusebox 4 był całkowicie przepisanym Fusebox 3. Licencja na podstawowe pliki (która jest open source) jest w posiadaniu prywatnej firmy należącej do Hala Helmsa i Johna Quarto-von Tivadar: The Fusebox Corporation [ stały martwy link ] (która pojawia się być nieistniejącą korporacją).
Fusebox 4.1 wprowadził kilka nowych elementów gramatyki XML poza tymi dostępnymi w wersji 4.0, które pozwalają deklarować, tworzyć instancje i manipulować obiektami (komponenty COM, Java i ColdFusion), a także usługami sieciowymi. Funkcje te zapewniły programistom Fusebox możliwość powiązania modeli zorientowanych obiektowo (tj. logiki biznesowej) bezpośrednio z ich kontrolerami. Jednak wielu programistów Fusebox używało modeli obiektowych lub wysoce ustrukturyzowanych we wcześniejszych wersjach Fusebox lub w aktualnych wersjach bez użycia tych elementów gramatycznych.
Skrzynka bezpieczników 5
W 2006 roku firma The Fusebox Corporation poprosiła Seana Corfielda o objęcie przewodnictwa w opracowaniu kolejnej wersji Fusebox. Fusebox 5 był kolejnym kompletnym przepisaniem z nowymi funkcjami i poprawioną wydajnością. Fusebox 5 prawie całkowicie zachował kompatybilność wsteczną z Fusebox 4.1. W listopadzie 2006 r. The Fusebox Corporation przeniosła własność podstawowych plików i strony internetowej fusebox na TeraTech pod kierownictwem prezesa TeraTech i mówcy Fusebox, Michaela Smitha. TeraTech ogłosił, że Fusebox pozostanie open source i stara się ponownie zwiększyć zaangażowanie społeczności w projekt. Fusebox 5.1 i wszystkie kolejne wersje są objęte licencją Licencja źródłowa Apache 2.0 . W lutym 2007 członkowie zespołu Fusebox spotkali się na konferencji Frameworks w Bethesda w stanie Maryland i stworzyli plan działania na rzecz zaangażowania społeczności przy pomocy wolontariuszy w dziewięciu różnych obszarach Fusebox.
Skrzynka bezpieczników 5.5
To wydanie skupiło się przede wszystkim na dodaniu zestawu konwencji, które pozwalają na tworzenie aplikacji Fusebox bez plików konfiguracyjnych XML . Użycie tych nowych funkcji zamiast XML nazywa się „implicit Fusebox”.
- Testy alfa rozpoczęły się w czerwcu 2007 roku
- Publiczna wersja beta stała się dostępna w Adobe MAX w październiku 2007 roku
- Oficjalne wydanie Fusebox 5.5 stało się dostępne na początku grudnia 2007 roku
Fusebox 5.5.1 i FuseNG
Wydanie Fusebox 5.5.1 w marcu 2008 roku było ostatnim wydaniem Seana Corfielda. W sierpniu 2008 roku Adam Haskell przejął rozwój, ale był sfrustrowany organizacją Fusebox i próbował rozgałęzić nowy framework o nazwie FuseNG (NG dla Next Generation, odniesienie do Star Trek ). FuseNG szybko stracił impet i zakończył się bez wydania.
Skrzynka bezpieczników 5.6
W styczniu 2012 roku zespół pięciu programistów społeczności kierowany przez Johna Blaytera ogłosił na liście mailingowej Fusebox, że uzyskał prawa i prawa autorskie do Fusebox od TeraTech. Z kodu frameworka usunięto prawa autorskie i jest on dostępny na GitHub, aby zachęcić społeczność do udziału. Cele Fusebox 5.6 zostały ogłoszone, ale nigdy nie zostały zrealizowane.
Zobacz też
Linki zewnętrzne
- Oficjalna strona internetowa, Fusebox.org
- Oficjalna lista mailingowa Fusebox na Yahoo Groups
- Wprowadzenie do frameworków ColdFusion w Adobe DevNet
- Przegląd Fusebox 4 (sys-con.com, wrzesień 2003)
- Funkcja Fusebox 3 (sys-con.com, listopad 2001)
- Lista mailingowa Fusebox w House of Fusion