ColdBox Platform - ColdBox Platform
![]() | |
Původní autoři | Ortus Solutions, Corp |
---|---|
První vydání | 15. června 2006 |
Stabilní uvolnění | |
Úložiště | Úložiště ColdBox |
Napsáno | CFML, Jáva |
Typ | Rámec webových aplikací |
Licence | Licence Apache v2 |
webová stránka | ColdBox.org |
ColdBox je open-source, modulární na základě konvencí rámec webových aplikací určené pro stavbu podnikové aplikace s CFML používat Hierarchická MVC přístup. ColdBox používá Konvence nad konfigurací a usiluje o jednoduchost, rychlý vývoj. Využívá to Řadič zobrazení modelu, Závislost injekce, Testování jednotky, Aspektově orientované programování architektonické vzory. ColdBox umožňuje vývoj samostatných modulů, které lze sdílet mezi aplikacemi. ColdBox je aktivní a silně dokumentovaný rámec CFML.[2]
Dějiny
- ColdBox vyvinul Luis Majano a open source byl poprvé v roce 2006.
- ColdBox se stal profesionální open source projekt v roce 2008, kdy byly profesionální služby nabízeny mateřskou společností Ortus Solutions, Corp.
- V roce 2011 představil Řadič zobrazení hierarchického modelu jako základní vzor návrhu základu.
- V roce 2020 zavedla těsnou integraci do Jáva je CompletableFuture API na podporu Futures and Promises a asynchronní /paralelní programování
- Nejnovější vydání je verze 6.0.0 (21. srpna 2020)
Platformy
ColdBox je podporován na Lucee (Populární open source CFML engine) a ColdFusion společnosti Adobe aplikační servery.
Podporuje IDE pluginy pro, Kód sady Visual Studio, Vznešený text, Eclipse IDE a Adobe ColdFusion Builder.
Používání
Níže je uveden seznam některých významných uživatelů platformy Coldbox.[3]
- Adobe
- Esri
- FAA
- GE
- Kennedyho vesmírné středisko
- NASA JPL
- Railo
- Lucee
- L'Oréal
- Americké letectvo
- Americké námořnictvo
- Charterové školy Akademie úspěchu
- Americká mládežnická fotbalová organizace
- Muzeum umění v okrese Los Angeles
Přehled
Atributy ColdBox na vysoké úrovni:
- An HMVC webový rámec pro Studená fúze plošina.
- Modulární vývojová platforma poskytnout HMVC architektonické vzory
- Konvence nad konfiguracemi (bez XML)
- Integrace s Přezimovat ColdFusion ORM
- Nabízí konzistentní rámec, jehož cílem je snížit zmatek a být snadno naučitelný
- Vytrvalost abstrakční vrstvy (ukládání do mezipaměti)
- Integrovaná protokolovací knihovna
- Integrované vkládání závislostí a funkce AOP
- Jazyky specifické pro interní doménu k definování ukládání do mezipaměti, DI / AOP, protokolování a zesměšňování
- Schopnost provádět testování jednotek a integrace
- Ajax podpora, kterou lze snadno rozšířit a přizpůsobit
- Klidný a MÝDLO podpora webových služeb[4]
- Integrace a monitorování Adobe Flex / Air
- Poskytuje možnosti vícevývojového prostředí
- Plodná dokumentace
- Nativní integrace s rozhraním Java CompletableFuture API pro podporu futures a slibů.
Interní rámce
Platforma ColdBox zahrnuje tři nezávislé rámce:
- LogBox - Knihovna protokolování
- WireBox - Injekce závislostí a knihovna AOP
- CacheBox - Mezipaměť Engine a agregátor
- ColdBox MVC - Webový rámec založený na konvencích MVC
Řadiče
ColdBox je rámec založený na konvencích, který je naprogramován v CFML a liší se od ostatních CFML MVC frameworků, které používají pro své řadiče deklarativní logiku XML.
Níže je uveden příklad řadiče:
1 komponent{ 2 3 // Použijte Dependency Injection pro virtuální služby založené na režimu spánku 4 vlastnictví název=„userService“ vstříknout="entityservice: User"; 5 6 /** 7 * Vraťte okamžitý HTML 8 */ 9 funkce Řekni Ahoj(událost){10 vrátit se "Ahoj";11 }12 13 /**14 * Vraťte okamžitý JSON z mementa objektu ORM15 */16 funkce Řekni Ahoj(událost){17 vrátit se userService.dostat( rc.id ).getMemento();18 }19 20 /**21 * Vrátit obsah ve více formátech22 */23 funkce seznam(událost){24 prc.data = userService.seznam();25 // vykreslí všechny uživatele ve formátu json26 událost.renderData( data=prc.data, formáty=„json, xml, pdf, html“ );27 }28 }
Mapování URL
ColdBox podporuje mapování adres URL a směrování ve stylu Rails, ale přizpůsobený pro ColdFusion. Podporuje také vytvoření směrování RESTful:
1 // Zdroje 2 zdroj( "fotky" ); 3 4 // Vnořené zdroje 5 zdroje( 6 zdroj = „agenti“, 7 vzor = „/ sites /: id / agents“ 8 ); 9 10 // Přesměrování11 trasa( „/ oldRoute“ )12 .přesměrovat( „/ main / redirectTest“ );13 14 // Přímé směrování15 trasa( „/ render /: format“ ).na( „actionRendering.index“ );16 17 // S regulárním výrazem18 trasa( "post /: postID-regex: ([a-zA-Z] +?) /: userID-alpha / regex: (xml | json)" )19 .na( „ehGeneral.dumpRC“ );20 21 // směrování subdomény22 trasa( "/" )23 .withDomain( ": username.forgebox.dev" )24 .na( "subdomain.show" );25 26 // Odpovědi + Podmínky27 trasa( „/ ff“ )28 .s podmínkou( funkce(){29 vrátit se ( najít kufřík( "Firefox", cgi.HTTP_USER_AGENT ) ? skutečný : Nepravdivé );30 } )31 .na odpověď( „Hello FireFox“ );32 trasa( „/ luis /: lname“ )33 .na odpověď( „ Ahoj Luisi {lname}, jak se máš {ty}
", 200, „Co to kámo!“ );34 35 // Řádkové závěrečné odpovědi36 trasa( „/ luis2 /: lname“ )37 .na odpověď( funkce( událost, rc, prc ){38 vrátit se „ Dobrý den ze země uzavření: # argumenty.rc.lname #
“;39 } );40 41 // Zobrazení bez událostí42 trasa( "kontaktujte nás" )43 .tak jako( "kontaktujte nás")44 .zobrazit( "simpleView" );45 46 // Pojmenované trasy47 trasa( vzor=„/ routeRunner /: id /: name“, název=„routeRunner“ )48 .na( "main.returnTest" );49 50 // Skupinové směrování51 skupina( { vzor="/ runAWNsync", psovod=„utilities.AWNsync“ }, funkce( možnosti ){52 trasa( '/:uživatelské ID' )53 .sAkce( { dostat = "runAWNsync", možnosti = „returnOptions“ } )54 .konec();55 } );56 57 // Akce RESTFul58 trasa( "/zdravotní prohlídka" )59 .sAkce( { dostat = "runCheck", možnosti = „returnOptions“ } )60 .na( „utilities.HealthCheck“ );
RESTful URL
ColdBox umožňuje snadné vytváření RESTful URL pomocí mapování URL a detekce rozšíření. Nativní ColdBox dokáže detekovat jakékoli rozšíření, když je dodáno prostředku URI:
http://api.coldbox.org/rest/user/luis.jsonhttp://api.coldbox.org/rest/user/luis.xmlhttp://api.coldbox.org/rest/user/luis.pdfhttp: //api.coldbox.org/rest/user/luis.yml
Umožňuje detekci takových rozšíření, zabezpečení kolem nich a možnost přizpůsobení rozšíření.
Podpora Ajaxu
ColdBox podporuje všechny rámce JavaScriptu, které poskytují funkce Ajaxu. Poskytuje také funkci automatického zařazování k nativnímu vykreslení libovolného objektu v následujících formátech: XML, WDDX, JSON, JSONP, TEXT, PDF, CUSTOM.
Podpora SOAP-Adobe Flex / Air
ColdBox nabízí podporu pro vytváření, monitorování a vývoj webových služeb SOAP a vzdálených komponent Flex / Air. Umožňuje mít jedno vývojové paradigma pro více rozhraní GUI.
Odkazy na dokumentaci
externí odkazy
- Oficiální stránka
- Úložiště kódu GitHub
- Online API
- ForgeBox - komunitní sdílení kódu
- Pomozte skupině Google
Reference
- ^ „Verze platformy ColdBox“. forgebox.io. Citováno 2020-08-21.
- ^ ColdFusion MVC Framework
- ^ http://www.ortussolutions.com/products/coldbox#overview
- ^ Jak stavíte službu RESTful ve ColdFusion