430 likes | 700 Views
Coldbox Platform. Web Applications Development Using Coldbox Platform Eddie Johnston. What is Coldbox ?. Model View Controller event-driven Coldfusion Framework. Tool Set & Software foundation Object Oriented Principles Established on Code Controllers. What is Coldbox ? Cont.
E N D
Coldbox Platform Web Applications Development Using Coldbox Platform Eddie Johnston
What is Coldbox? • Model View Controller event-driven Coldfusion Framework. • Tool Set & Software foundation • Object Oriented Principles • Established on Code Controllers
What is Coldbox? Cont. • Application features: bug reporting, logging, caching, debug tools, and much more. • Unit Test the entire application.
Convention Over Configuration • Coldbox provides these defaults • Allows for files, classes, or methods to be put in the correct location • Faster production
Framework Designed for Web Apps • Provides for the development of: • Dynamic websites • Web applications • Web services
ColdFusion Markup Language(CFML) • Commonly called CFML • Scripting Language for Web Development • Runs on common engines • Open source implementations of CFML engines • Adobe ColdFusion • BlueDragon • Many More
ColdFusion Markup Language(CFML)Cont. Rundown: • Supplements normal HTML files • database commands • conditional operators • formatting functions • CFCs, “CFML objects”
ColdFusion Markup Language(CFML)Cont. Does not just generate HTML • CSS • XML • JavaScript • Much More
ColdFusion Markup Language(CFML)Cont. • Not a markup language • Not SGML • CFML engine: • handles .cfm or .cfc files • processes CFML tags and functions
ColdFusion Markup Language(CFML)Cont. CFML syntax • CFML tags similar to HTML tags • <cfset value = "Hello"> or • <cfset value = "Hello" /> <cfoutput> #value# Class!</cfoutput>
ColdFusion Markup Language(CFML)Cont. CFML Custom Tags • Line to call myOwnCustTag.cfm • <cf_myOwnCustTag>
Framework Designed for Web Apps • Reusable code • Libraries for accessing databases • Handling sessions
Framework Designed for Web Apps Cont. Web Application Framework Architecture: • Most follow: Model View Controller (MVC) • Examples: .NET • PHP • Python • Java • JavaScript • much more
Framework Designed for Web Apps Cont. • Coldbox • AJAX • MVC Framework • ORM • Testing Framework • Caching Utilities and Services • And much more
Model View Controller (MVC) Controller Client View Model DB Application
Model View Controller (MVC) • Key ideas: • Model: directs the data or behavior of an application domain • View: Renders data into a form typically to appeal to a UI • Controller: retrieves input and starts the response. Guides the model and view based on the input
Model View Controller (MVC) Cont. Architecture Not Framework: • Can be implemented without object oriented programming or a class hierarchy.
Model View Controller (MVC) Cont. Advantages: • View is separate from Model: no dependency directly • UI can render many different views of the same data at once. • Changes are easy to maintain • Layouts are simple to change that will not effect the data that is rendered
ColdBox Origin • Original Designed for multiple tier web application in 2005. • Became open source July 2006. • Developed by Luis Majano of Ortus Solutions • Continued development by Team Coldbox • Build: 3.1.0
Why Coldbox? • Unit test an entire application • Enterprise debugging, monitoring, caching, etc. • Code controllers (based on CFCs) • More than just MVC framework • Development tools and event-driven
Coldbox Features • Documentation • 250+ pages of documentation • 30 Step by Step Guides • Coldbox Dictionary • The reason why we document: makes life easier for the developer.
Coldbox Features cont. • Code Controllers • No XML Dialect to describe your application • Based on CFC’s and conventions • Multiple applications with concise and common configuration files • Smart Caching
Coldbox Features cont. • Custom Convention • Coldbox knows where to find code • Coldbox knows what to execute • Customizable • Create own layouts, handlers, configuration files
Coldbox Features cont. • Debugging tools • Gives a lot of information for what is happening • Times events & code • Built in timer plugin • Visual feedback • Debugging monitors
Coldbox Features cont. • Software Aspects • Logging Facilities • Helper classes • Query helpers(sorting or filtering), java utilities, file utilities • Environment detection • Can detect between development, or production (multi-tier) • Bug reports to send wherever you want • Create own plugins
Controller Plugins Request Collection Event Handlers View Interceptors Layouts Views Model Model Business Layer Plugins
Request Collection • Imitates a User Request • Set values into, Get values from • Request Scope • Framework access
Event Handler Ins and Outs: • CFC • Coldfuison Events are Public or Remote Methods • Execution Points • Event = handler.method
Plugins • CFC • Extends functionality of Coldbox Framework • Visual • Smart Caching • How to call a plugin • Messagebox plugin: <cfsetgetPlugin("messagebox").setMessage(“Error Content","Errorgrabbing data")>
Interceptors • Framework executes interceptors at execution points • preEvent, afterConfigurationLoad, etc. • Custom Interceptor points • Broadcasted through Application Programming Interface
Views and Layouts Define a main default layout Define in Configuration File: Views to be rendered instead of layouts Layouts Views Views
Overview • Web applications are not just websites • Convention Framework • More than MVC framework
For more information Visit Coldbox online at http://www.coldbox.org/
Questions Thank you