sdc 2013 spa made breezy tiberiu covaci ward bell, v.p. of technology, ideablade

25
SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

Upload: vincent-page

Post on 16-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

SPA Made Breezy

Tiberiu Covaci

Ward Bell, v.p. of technology, IdeaBlade

Page 2: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Who am I

• Tiberiu ’Tibi’ Covaci• Software engineer, 20 years experience• MCT since 2004, teaching .NET• Senior Trainer & Mentor in Romania• MVP for Windows Azure• Father & Geek• Twitter: @tibor19 / #scandev

Page 3: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Agenda

• What is SPA• Technologies• Demo

Page 4: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Single Page Application

Rich Client App in HTML/JavaScript

Page 5: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Why SPA?

Page 6: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

One ASP.NET

Page 7: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Hybrid is the norm

ASP.NET Web Form

ASP.NETMVC Page

ASP.NetMVC Page

SPA

No one pattern is the best Evolution, not revolution

Page 8: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Knockout

• JavaScript MVVM framework• Independent library• Works well with other frameworks

Page 9: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Knockout

• Declarative bindings• Automatic refresh• Dependency tracking• Support for templating

Page 10: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Knockout observables

• Observable properties• Observable arrays• Computed(dependent) observables

Page 11: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Knockout bindings

• Controlling text and appearance• Control flow• Form field bindings• Rendering templates• Custom bindings

Page 12: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

learn more at

knockoutjs.com

Page 13: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Demo

Page 14: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Durandal

• Clean MV* Architecture• JS & HTML Modularity• Simple App Lifecycle• Eventing, Modals, Message Boxes, etc.• Navigation & Screen State Management• Consistent Async Programming w/

Promises• App Bundling and Optimization

Page 15: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Durandal

• Use any Backend Technology• Built on top of jQuery, Knockout &

RequireJS• Integrates with other libraries such as

SammyJS & Bootstrap• Make jQuery & Bootstrap widgets

templatable and bindable (or build your own widgets).

Page 16: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

learn more at

durandaljs.com

Page 17: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Demo

Page 18: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Rich data

Caching

Validation

Client Queries

Batch Save

Change TrackingRoll Your

Own

Page 19: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Free

Open Source (GitHub)

MIT License

Page 20: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Technical Support

Professional Services

Page 21: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Page 22: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

learn more at

breezejs.com

Page 23: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Demo

Page 24: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Summary

• SPA is a good alternative• KO and data binding makes code cleaner• Durandal makes the MV* easy• SPA is Breezy with KO and Durandal

Page 25: SDC 2013 SPA Made Breezy Tiberiu Covaci Ward Bell, v.p. of technology, IdeaBlade

SDC 2013

Tank you

Thanks to IdeaBlade

Ward Bell

Marcel Good