41
COLDBOX PLATFORM Web Applications Development Using Coldbox Platform Eddie Johnston

Coldbox Platform

  • Upload
    belva

  • View
    50

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Coldbox  Platform

COLDBOX PLATFORMWeb Applications Development

Using Coldbox Platform

Eddie Johnston

Page 2: Coldbox  Platform

What is Coldbox?

Model View Controller event-driven Coldfusion Framework.

Tool Set & Software foundation Object Oriented Principles Established on Code

Controllers

Page 3: Coldbox  Platform

What is Coldbox? Cont.

Application features: bug reporting, logging, caching, debug tools, and much more.

Unit Test the entire application.

Page 4: Coldbox  Platform

Convention Over Configuration

Coldbox provides these defaults Allows for files, classes, or methods

to be put in the correct location Faster production

Page 5: Coldbox  Platform

Framework Designed for Web Apps

Provides for the development of: Dynamic websites Web applications Web services

Page 6: Coldbox  Platform

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

Page 7: Coldbox  Platform

ColdFusion Markup Language(CFML) Cont.

Rundown: Supplements normal HTML files database commands conditional operators formatting functions CFCs, “CFML objects”

Page 8: Coldbox  Platform

ColdFusion Markup Language(CFML) Cont.

Does not just generate HTML CSS XML JavaScript Much More

Page 9: Coldbox  Platform

ColdFusion Markup Language(CFML) Cont.

Not a markup language Not SGML

CFML engine: handles .cfm or .cfc files processes CFML tags and

functions

Page 10: Coldbox  Platform

ColdFusion Markup Language(CFML) Cont.

CFML syntax CFML tags similar to HTML tags <cfset value = "Hello"> or <cfset value = "Hello" />

<cfoutput> #value# Class!</cfoutput>

Page 11: Coldbox  Platform

ColdFusion Markup Language(CFML) Cont.

CFML Custom Tags Line to call myOwnCustTag.cfm <cf_myOwnCustTag>

Page 12: Coldbox  Platform

Framework Designed for Web Apps

Reusable code Libraries for accessing databases Handling sessions

Page 13: Coldbox  Platform

Framework Designed for Web Apps Cont.

Web Application Framework Architecture: Most follow: Model View Controller

(MVC) Examples: .NET PHP Python Java JavaScript much more

Page 14: Coldbox  Platform

Coldbox AJAX MVC Framework ORM Testing Framework Caching Utilities and Services And much more

Framework Designed for Web Apps Cont.

Page 15: Coldbox  Platform

Model View Controller (MVC)

Application

Client

ViewModel

Controller

DB

Page 16: Coldbox  Platform

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

Page 17: Coldbox  Platform

Model View Controller (MVC) Cont.

Architecture Not Framework:

Can be implemented without object oriented programming or a class hierarchy.

Page 18: Coldbox  Platform

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

Page 19: Coldbox  Platform

ColdBox Origin

Original Designed for multiple tier web application in 2005.

Became open source July 2006. Developed by Luis Majano of Ortus

SolutionsContinued development by Team

Coldbox Build: 3.1.0

Page 20: Coldbox  Platform

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

Page 21: Coldbox  Platform

Coldbox Features

Documentation250+ pages of documentation30 Step by Step GuidesColdbox DictionaryThe reason why we document:

makes life easier for the developer.

Page 22: Coldbox  Platform

Coldbox Features cont.

Code ControllersNo XML Dialect to describe your

applicationBased on CFC’s and conventionsMultiple applications with concise

and common configuration filesSmart Caching

Page 23: Coldbox  Platform

Coldbox Features cont.

Custom ConventionColdbox knows where to find codeColdbox knows what to executeCustomizable

Create own layouts, handlers, configuration files

Page 24: Coldbox  Platform

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

Page 25: Coldbox  Platform

Coldbox Features cont.

Software Aspects Logging Facilities Helper classes

Query helpers(sorting or filtering), java utilities, file utilities

Environment detectionCan detect between development, or production (multi-tier)

Bug reports to send wherever you want Create own plugins

Page 26: Coldbox  Platform

Request Collection

Layouts

Views

View

Controller

Model

Plugins

Event Handlers

Interceptors

Model Business Layer

Plugins

Page 27: Coldbox  Platform

Request Collection

Imitates a User Request

Set values into, Get values from

Request Scope

Framework access

Page 28: Coldbox  Platform

Event Handler

Ins and Outs: CFC

Coldfuison Events are Public or Remote Methods

Execution Points

Event = handler.method

Page 29: Coldbox  Platform

Plugins

CFC Extends functionality of Coldbox

Framework Visual Smart Caching How to call a plugin Messagebox plugin: <cfset getPlugin("messagebox").setMessage(“Error Content","Error grabbing data")>

Page 30: Coldbox  Platform

Interceptors

Framework executes interceptors at execution points

preEvent, afterConfigurationLoad, etc.

Custom Interceptor points Broadcasted through Application

Programming Interface

Page 31: Coldbox  Platform

Views and Layouts

Define a main default layout

Define in Configuration File: Views to be rendered instead of layouts

Layouts

Views

Views

Page 32: Coldbox  Platform
Page 33: Coldbox  Platform
Page 34: Coldbox  Platform

Files in the Handler Directory

Page 35: Coldbox  Platform

Code inside the Main handler

Page 36: Coldbox  Platform

Layout Directory

Page 37: Coldbox  Platform

Sidebar to a web application generated by Coldbox Framework

Page 38: Coldbox  Platform

Snippet from Add Customer of Sidebar

Page 39: Coldbox  Platform

Overview

Web applications are not just websites

Convention Framework More than MVC framework

Page 40: Coldbox  Platform

For more information

Visit Coldbox online athttp://www.coldbox.org/

Page 41: Coldbox  Platform

Questions

Thank you