ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Intro to Facade.js
Drawing shapes, images and text
in HTML5 canvas made easy.
@neogeek
Scott Doxey
I¡¯m a user experience
consultant at
Disclaimer:
I built Facade.js
In October of 2012
! GitHub hosted a
Game Jam.
The theme was
" forking,
# branching,
and $ cloning.
I didn¡¯t build a game.
Instead I built a library
for drawing in canvas.
After three versions,
I¡¯m ready to share.
Let¡¯s talk about canvas.
It¡¯s easy enough to use.
But it could be easier.
Drawing a rectangle.
Drawing a rectangle
with a stroke.
Drawing a circle.
Drawing a circle
with a stroke.
Drawing a polygon.
Drawing a polygon
with a stroke.
Positioning an object.
Rotating an object.
Rotating an object
from the center.
Scaling an object.
Scaling an object
from the center.
Now compare native
canvas and Facade.js
Native canvas
Facade.js
Some advantages
of this format.
? Easy to read.
? Format is key/value pairs (similar to CSS).
? Importable from JSON.
So what is Facade.js?
Facade.js is a wrapper
around the canvas 2d
rendering context.
What does that mean?
More drawing,
less coding.
How to get started
with Facade.js
http://play.facadejs.com
http://docs.facadejs.com
http://plugins.facadejs.com
Plugins in Development
? Gamepad.js - Simple customizable event
binding for the HTML Gamepad API.
? Box2D-plugin - A wrapper for the Box2D
JavaScript library.
? SATjs-plugin - A wrapper for the SAT-js library, a
simple JavaScript library for performing 2D
collision detection.
https://github.com/facadejs/Facade.js
https://github.com/facadejs
? Interactive Demos: http://play.facadejs.com
? Documentation: http://docs.facadejs.com
? Plugins: http://plugins.facadejs.com
? ! Repo: http://github.com/facadejs/Facade.js
? ! Organization: http://github.com/facadejs
Questions?
DEMO
Thank you!
Scott Doxey
!
twitter.com/@neogeek
github.com/neogeek
Ad

Recommended

Domain-Driven Design: Part 4 from Delivering the Connected Experience
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Cantina
?
Choices for Responsive Redesign: Ground-up or Responsive Retrofit
Choices for Responsive Redesign: Ground-up or Responsive Retrofit
Cantina
?
Choices for Responsive Redesign: Ground-up or Responsive Retrofit
Choices for Responsive Redesign: Ground-up or Responsive Retrofit
Cantina
?
Mobile Monday Presentation: Responsive Web Design
Mobile Monday Presentation: Responsive Web Design
Cantina
?
Bootstrap 3 Talk - What is Bootstrap 3 | ÁÄÁÄ Bootstrap 3 - ³õ×RʲüNÊÇ Bootstrap 3
Bootstrap 3 Talk - What is Bootstrap 3 | ÁÄÁÄ Bootstrap 3 - ³õ×RʲüNÊÇ Bootstrap 3
Code Basic
?
Module 3 - Intro to Bootstrap
Module 3 - Intro to Bootstrap
Katherine McCurdy-Lapierre, R.G.D.
?
Designing the Connected Experience: Part 3 from Delivering the Connected Expe...
Designing the Connected Experience: Part 3 from Delivering the Connected Expe...
Cantina
?
Object Oriented Views / Aki Salmi
Object Oriented Views / Aki Salmi
Aki Salmi
?
Css border examples
Css border examples
? Radek Fabisiak
?
pengenalan blender 3D Menggunakan animasi
pengenalan blender 3D Menggunakan animasi
HumasSTITEK
?
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
divyapisces
?
Canvas Deep Dive
Canvas Deep Dive
Dave Balmer
?
Remix
Remix
Rhys Hill
?
GDG On Campus SECE - Web Development Session.pptx
GDG On Campus SECE - Web Development Session.pptx
aswathcm29
?
Inside Flutter: Widgets, Elements, and RenderObjects
Inside Flutter: Widgets, Elements, and RenderObjects
Hansol Lee
?
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
Vitaly Friedman
?
Design and Code. Work should be fun.
Design and Code. Work should be fun.
§¡§ß§Õ§â§Ö§Û §£§Ñ§ß§Õ§Ñ§Ü§å§â§à§Ó
?
Fewd week4 slides
Fewd week4 slides
William Myers
?
Rockstar Graphics with HTML5 @Media UK
Rockstar Graphics with HTML5 @Media UK
Dave Balmer
?
Better. Faster. UXier. ¡ª AToMIC Design
Better. Faster. UXier. ¡ª AToMIC Design
jennifer gergen
?
Dojo training
Dojo training
vadivelan_k
?
Building a game engine with jQuery
Building a game engine with jQuery
Paul Bakaus
?
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
Gregory Starr
?
Sketch: Rapid Prototyping & Theme Design
Sketch: Rapid Prototyping & Theme Design
Ryan King
?
Visdjango presentation django_boston_oct_2014
Visdjango presentation django_boston_oct_2014
jlbaldwin
?
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
adeniyiexcel
?
Everything You Need to Know in Order to Start Using jQuery
Everything You Need to Know in Order to Start Using jQuery
Dave Ross
?
Tools for Visualizing Geospatial Data in a Web Browser
Tools for Visualizing Geospatial Data in a Web Browser
Safe Software
?
Sketching for UX Designers
Sketching for UX Designers
Cantina
?
Demystifying the Design Process
Demystifying the Design Process
Cantina
?

More Related Content

Similar to Intro to facade (20)

Css border examples
Css border examples
? Radek Fabisiak
?
pengenalan blender 3D Menggunakan animasi
pengenalan blender 3D Menggunakan animasi
HumasSTITEK
?
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
divyapisces
?
Canvas Deep Dive
Canvas Deep Dive
Dave Balmer
?
Remix
Remix
Rhys Hill
?
GDG On Campus SECE - Web Development Session.pptx
GDG On Campus SECE - Web Development Session.pptx
aswathcm29
?
Inside Flutter: Widgets, Elements, and RenderObjects
Inside Flutter: Widgets, Elements, and RenderObjects
Hansol Lee
?
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
Vitaly Friedman
?
Design and Code. Work should be fun.
Design and Code. Work should be fun.
§¡§ß§Õ§â§Ö§Û §£§Ñ§ß§Õ§Ñ§Ü§å§â§à§Ó
?
Fewd week4 slides
Fewd week4 slides
William Myers
?
Rockstar Graphics with HTML5 @Media UK
Rockstar Graphics with HTML5 @Media UK
Dave Balmer
?
Better. Faster. UXier. ¡ª AToMIC Design
Better. Faster. UXier. ¡ª AToMIC Design
jennifer gergen
?
Dojo training
Dojo training
vadivelan_k
?
Building a game engine with jQuery
Building a game engine with jQuery
Paul Bakaus
?
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
Gregory Starr
?
Sketch: Rapid Prototyping & Theme Design
Sketch: Rapid Prototyping & Theme Design
Ryan King
?
Visdjango presentation django_boston_oct_2014
Visdjango presentation django_boston_oct_2014
jlbaldwin
?
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
adeniyiexcel
?
Everything You Need to Know in Order to Start Using jQuery
Everything You Need to Know in Order to Start Using jQuery
Dave Ross
?
Tools for Visualizing Geospatial Data in a Web Browser
Tools for Visualizing Geospatial Data in a Web Browser
Safe Software
?
pengenalan blender 3D Menggunakan animasi
pengenalan blender 3D Menggunakan animasi
HumasSTITEK
?
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
divyapisces
?
GDG On Campus SECE - Web Development Session.pptx
GDG On Campus SECE - Web Development Session.pptx
aswathcm29
?
Inside Flutter: Widgets, Elements, and RenderObjects
Inside Flutter: Widgets, Elements, and RenderObjects
Hansol Lee
?
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
Vitaly Friedman
?
Rockstar Graphics with HTML5 @Media UK
Rockstar Graphics with HTML5 @Media UK
Dave Balmer
?
Better. Faster. UXier. ¡ª AToMIC Design
Better. Faster. UXier. ¡ª AToMIC Design
jennifer gergen
?
Building a game engine with jQuery
Building a game engine with jQuery
Paul Bakaus
?
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
Gregory Starr
?
Sketch: Rapid Prototyping & Theme Design
Sketch: Rapid Prototyping & Theme Design
Ryan King
?
Visdjango presentation django_boston_oct_2014
Visdjango presentation django_boston_oct_2014
jlbaldwin
?
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
NODEJS EXPLAINED FOR TEENS, PRETEENS AND YOUND TECH ENTHUSIASTS
adeniyiexcel
?
Everything You Need to Know in Order to Start Using jQuery
Everything You Need to Know in Order to Start Using jQuery
Dave Ross
?
Tools for Visualizing Geospatial Data in a Web Browser
Tools for Visualizing Geospatial Data in a Web Browser
Safe Software
?

More from Cantina (12)

Sketching for UX Designers
Sketching for UX Designers
Cantina
?
Demystifying the Design Process
Demystifying the Design Process
Cantina
?
Software is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for Change
Cantina
?
Planning For design
Planning For design
Cantina
?
Five Key Ingredients in Successful Mobile Projects
Five Key Ingredients in Successful Mobile Projects
Cantina
?
Delivering Responsive Design at Scale
Delivering Responsive Design at Scale
Cantina
?
Design i/o - Creating Visual Interfaces for Digital Systems
Design i/o - Creating Visual Interfaces for Digital Systems
Cantina
?
Introduction to Reactive
Introduction to Reactive
Cantina
?
Utilizing Lean Practices in the Enterprise: Part 1 of Delivering the Connecte...
Utilizing Lean Practices in the Enterprise: Part 1 of Delivering the Connecte...
Cantina
?
Demystifying Content Strategy: Part 2 of Delivering the Connected Experience
Demystifying Content Strategy: Part 2 of Delivering the Connected Experience
Cantina
?
The Need For Speed: Part 5 of Delivering the Connected Experience
The Need For Speed: Part 5 of Delivering the Connected Experience
Cantina
?
A Brief History of Input Devices with Cantina's Daniel Bostwick
A Brief History of Input Devices with Cantina's Daniel Bostwick
Cantina
?
Sketching for UX Designers
Sketching for UX Designers
Cantina
?
Demystifying the Design Process
Demystifying the Design Process
Cantina
?
Software is not a Building - Designing Technical Architecture for Change
Software is not a Building - Designing Technical Architecture for Change
Cantina
?
Planning For design
Planning For design
Cantina
?
Five Key Ingredients in Successful Mobile Projects
Five Key Ingredients in Successful Mobile Projects
Cantina
?
Delivering Responsive Design at Scale
Delivering Responsive Design at Scale
Cantina
?
Design i/o - Creating Visual Interfaces for Digital Systems
Design i/o - Creating Visual Interfaces for Digital Systems
Cantina
?
Introduction to Reactive
Introduction to Reactive
Cantina
?
Utilizing Lean Practices in the Enterprise: Part 1 of Delivering the Connecte...
Utilizing Lean Practices in the Enterprise: Part 1 of Delivering the Connecte...
Cantina
?
Demystifying Content Strategy: Part 2 of Delivering the Connected Experience
Demystifying Content Strategy: Part 2 of Delivering the Connected Experience
Cantina
?
The Need For Speed: Part 5 of Delivering the Connected Experience
The Need For Speed: Part 5 of Delivering the Connected Experience
Cantina
?
A Brief History of Input Devices with Cantina's Daniel Bostwick
A Brief History of Input Devices with Cantina's Daniel Bostwick
Cantina
?
Ad

Recently uploaded (20)

FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
?
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
?
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
?
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
?
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
?
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
?
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
?
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
?
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
?
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
?
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
?
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
?
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
?
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
?
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
?
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
?
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
?
¡°Key Requirements to Successfully Implement Generative AI in Edge Devices¡ªOpt...
¡°Key Requirements to Successfully Implement Generative AI in Edge Devices¡ªOpt...
Edge AI and Vision Alliance
?
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
?
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
?
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
?
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
?
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
?
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
?
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
?
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
?
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
?
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
?
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
?
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
?
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
?
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
?
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
?
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
?
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
?
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
?
¡°Key Requirements to Successfully Implement Generative AI in Edge Devices¡ªOpt...
¡°Key Requirements to Successfully Implement Generative AI in Edge Devices¡ªOpt...
Edge AI and Vision Alliance
?
Ad

Intro to facade