SlideShare a Scribd company logo
© 2013 SpringOne 2GX. All rights reserved. Do not distribute without permission.
Sencha and Spring
Lou Crocker, Sencha & John Ferguson, Pivotal
S P R I N G I O C O R E :
Spring Framework 4.0
Who are these guys?
John Ferguson
•  Sr. Field Engineer at Pivotal
•  Formally Enterprise Data and Application Architect
•  Financial Services background
•  <3 Music Theater
•  Enjoys cats and internet memes
Lou Crocker
•  Senior Sales Engineer
•  Background in Enterprise Development and Professional
Services
What are we doing here?
•  Sencha, Ext-JS, Touch, GXT….huh?
•  Isn’t this a Spring conference?
•  Building a demo live on stage
•  Building with Sencha Architect
•  Wait…did we just create an “app”?
•  That’s child’s play. Show me a real application
Developers
Current problem
End Users
Consumers are demanding a
universal app experience
Developers are facing challenges
building universal apps
•  Same app functionality everywhere
•  Experiences tailored for desktop, mobile
and tablet
•  Apps need to run everywhere
•  Apps need to be managed on disparate
platforms
Too many application platforms!
The Sencha Mission
Rapid and easy development
of rich web apps for the
broadest range of access
devices from IE6 to the latest
table.
Frameworks
Sencha Touch
Sencha Ext JS
Sencha GXT
Sencha Ext JS
•  MVC architecture
•  Robust data APIs
•  Modern themes
•  Rich UI widgets
•  Plugin-free charting
•  Big data grids
•  Cross platform browser
compatibility
Sencha Touch
•  High performance mobile
application framework
•  Cross platform apps
•  Themes for each platform
•  Smooth scrolling and
animations
•  Multi-touch gestures
•  Adaptive layouts
•  Visual app builder for desktop
and mobileGenerate live
interfacesBuild UI and code
fully featured apps directly in
ArchitectConnect to backends
easilyBest practices generated
code
Sencha Architect
Aren’t we at a Spring conference?
The “I Wear Too Many Hats at My Company” Syndrome
•  Developers have many jobs to do
•  There isn’t always a “UI” developer
•  Spring developers are expected to build
Mobile Apps
•  Sencha and Spring seamless integration –
logical connectivity
Can we just agree?
•  REST is how mobile apps
communicate with backends
•  Lightweight
•  Easy to use
•  Facilitates data binding in
Sencha Touch
Quick Hyper Primer
How do we build REST in Spring MVC
servlet-context.xml
<mvc:annotation-driven />
Controller
@Controller
public class MyController {
@RequestMapping(value=“/resource/{id}”, method=RequestMethod.GET)
public @RequestBody MyResource getResource(@PathVariable(“id”) int id){
return dataSource.get(id);
}
}
How REST-y do we we need to be?
* This slide is shamelessly stolen from Josh Long @starbuxman
http://martinfowler.com/articles/richardsonMaturityModel.html
The Richardson Maturity Model is a
way to grade your API according to the
REST constraints with 4 levels of
increasing compliance
What do we need?
•  Need resources so we can map back to
UI domain
•  Need Verbs so we can use GET/POST/
PUT/DELETE consistently
•  Hypermedia Controls / HATEOAS not
important today but Sencha can take
advantage of in future
Wait… Hatie Oh Ah Es?
HATEOAS: Hypermedia As The Engine Of Application State
•  Uniform interface
•  Rels in Links provide standard
access to related resources
http://www.youtube.com/watch?v=SC0FPuDKei0
Better explanation:
Quick Hyper Primer
How do we build REST in Spring MVC
servlet-context.xml
<mvc:annotation-driven />
Controller
@Controller
public class MyController {
@RequestMapping(value=“/resource/{id}”, method=RequestMethod.GET)
public @RequestBody MyResource getResource(@PathVariable(“id”) int id){
return dataSource.get(id);
}
}
Level 1: Resources
Level 2: HTTP Verbs
Some things to think about…
•  Models Matter
–  Mobile clients need to know how the objects are returned
•  REST consistency matters
–  Can’t change the URL’s willy-nilly
•  Thinner objects are better than monothlic
–  Many times you are sending data over mobile network
•  JSONP is your friend for development
D E M O
Spring Twitter Search
•  Spring REST back end
•  Query will return last 10 tweets to match
•  Wrap it in JSONP to enable cross-site json
•  Sencha Touch front-end
•  What is this Spring 2012? A twitter app? You bet!
Building a Spring Twitter backend
Or do they….
Add a little Spring Social
..and we have data!
Building a Twitter search app
•  Let’s begin with Architect
•  The project structure
•  Add the container
•  Add the view
•  Create the Model
•  Create the store
•  Bind the view
Access static electricity resource in Spring
Combine the pieces … and deploy!
•  Test the data in the design environment
•  Create the display template
•  Create the preview path
•  Preview the app
•  Set the build path
•  Build the app
•  Modify template/theme/parameters and repeat
Let’s start trending!
http://ssawesome123.cfapps.io/app.html
Tweet with hashtag:
#ssawesome
Spring Trader
•  Reference Architecture for Pivotal and Spring
•  Inspired by IBM “Day Trader”
•  Uses Spring MVC to expose REST endpoints
–  Level 2: HTTP verbs
•  Sencha Touch front end
http://springtrader.gopivotal.com/spring-nanotrader-sencha/
https://github.com/vFabric/springtrader/tree/sencha-mobile
Github:
Live Application:
Sencha and Spring (Spring 2GX 2013)
Spring Trader Architecture
Spring Trader Architecture
Keeping up with us
John Ferguson
Email: jferguson@gopivotal.com
twitter: fergusonjohnw
Lou Crocker
Email: lou@sencha.com
web: www.sencha.com
Sencha and Spring (Spring 2GX 2013)

More Related Content

PPTX
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
PPTX
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
PPTX
Single Page Applications: Your Browser is the OS!
PPTX
Optimizing Access with SQL Server
PDF
Patrick Debois - From Serverless to Servicefull
PPTX
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
PDF
jQuery Keynote - Fall 2010
PDF
Engage 2019: Modernising Your Domino and XPages Applications
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
Single Page Applications: Your Browser is the OS!
Optimizing Access with SQL Server
Patrick Debois - From Serverless to Servicefull
SenchaCon 2016: Being Productive with the New Sencha Fiddle - Mitchell Simoens
jQuery Keynote - Fall 2010
Engage 2019: Modernising Your Domino and XPages Applications

What's hot (20)

PDF
Naked and afraid Offline Mobile
PDF
Tools For jQuery Application Architecture (Extended Slides)
KEY
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
PDF
2014 Picking a Platform by Anand Kulkarni
PDF
jQuery Chicago 2014 - Next-generation JavaScript Testing
PPTX
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
PDF
Performance testing of mobile apps
PDF
jQuery UI & Mobile - The Great Merger
PDF
Charity Hound - Serverless, NoOps, The Tooth Fairy
PDF
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
PPTX
MWLUG - Universal Java
PPTX
Automated perf optimization - jQuery Conference
PPTX
SharePoint Development 101
PPTX
Mobile native-hacks
KEY
jQuery Conference Boston 2011 CouchApps
PDF
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
PPTX
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
PPTX
Feature folders
PPTX
React + Flux = Joy
PDF
Modern javascript
Naked and afraid Offline Mobile
Tools For jQuery Application Architecture (Extended Slides)
Natural Language UI Testing using Behavior Driven Development with Pavlov and...
2014 Picking a Platform by Anand Kulkarni
jQuery Chicago 2014 - Next-generation JavaScript Testing
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
Performance testing of mobile apps
jQuery UI & Mobile - The Great Merger
Charity Hound - Serverless, NoOps, The Tooth Fairy
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
MWLUG - Universal Java
Automated perf optimization - jQuery Conference
SharePoint Development 101
Mobile native-hacks
jQuery Conference Boston 2011 CouchApps
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...
Feature folders
React + Flux = Joy
Modern javascript
Ad

Viewers also liked (20)

PDF
islah e ahle hadees
PDF
PPTX
CIF ppt 21.12.12
DOCX
Uso del scr
PDF
Lookbook "The ballet of the Tsars"
PDF
Gps4b
PPTX
They Say, I Say: Chapter 2
PDF
L20 Scalability
DOCX
Well known magazine name analysis
PDF
VW Santana Vista - Brochure
PPTX
Types and Styles of music videos
DOCX
Concumer behavior
PDF
Tequila Appreciation
PDF
Hadoop Robot from eBay at China Hadoop Summit 2015
PDF
Better Biz Dev – Music Startup Academy Denver - October 8, 2015
PDF
A V I D Juicy Ultimate Brake Bleeding
PDF
DMI Light Towers - Operational Manual
DOCX
Saran makalah kb
PPTX
CBA PP Branded
PDF
Hospice letter
islah e ahle hadees
CIF ppt 21.12.12
Uso del scr
Lookbook "The ballet of the Tsars"
Gps4b
They Say, I Say: Chapter 2
L20 Scalability
Well known magazine name analysis
VW Santana Vista - Brochure
Types and Styles of music videos
Concumer behavior
Tequila Appreciation
Hadoop Robot from eBay at China Hadoop Summit 2015
Better Biz Dev – Music Startup Academy Denver - October 8, 2015
A V I D Juicy Ultimate Brake Bleeding
DMI Light Towers - Operational Manual
Saran makalah kb
CBA PP Branded
Hospice letter
Ad

Similar to Sencha and Spring (Spring 2GX 2013) (20)

PDF
An Introduction to Sencha Touch
PDF
Building Next-Gen Web Applications with the Spring 3 Web Stack
PPTX
Spring Web Presentation 123143242341234234
KEY
Multi client Development with Spring
KEY
Multi Client Development with Spring
PDF
Building Cross Platform Mobile Web Apps
PDF
Have You Seen Spring Lately?
KEY
PDF
Spring 4 Web App
PDF
The spring 32 update final
PDF
JAX 2013: Modern Architectures with Spring and JavaScript
PDF
Sencha Touch for Rubyists
PDF
Resource Handling in Spring MVC 4.1
PDF
DogFoodCon 2014: Building Powerful Enterprise Applications Using Sencha's Tec...
PPTX
Spring Test Framework
PDF
exploring-spring-boot-clients.pdf Spring Boot
PDF
ODP
Spring Mvc,Java, Spring
PDF
Sencha Web Applications Come of Age
KEY
A Walking Tour of (almost) all of Springdom
An Introduction to Sencha Touch
Building Next-Gen Web Applications with the Spring 3 Web Stack
Spring Web Presentation 123143242341234234
Multi client Development with Spring
Multi Client Development with Spring
Building Cross Platform Mobile Web Apps
Have You Seen Spring Lately?
Spring 4 Web App
The spring 32 update final
JAX 2013: Modern Architectures with Spring and JavaScript
Sencha Touch for Rubyists
Resource Handling in Spring MVC 4.1
DogFoodCon 2014: Building Powerful Enterprise Applications Using Sencha's Tec...
Spring Test Framework
exploring-spring-boot-clients.pdf Spring Boot
Spring Mvc,Java, Spring
Sencha Web Applications Come of Age
A Walking Tour of (almost) all of Springdom

More from Sencha (20)

PDF
Breathe New Life into Your Existing JavaScript Applications with Web Components
PDF
Ext JS 6.6 Highlights
PDF
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
PDF
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
PDF
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
PDF
Sencha Roadshow 2017: What's New in Sencha Test
PDF
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
PDF
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
PDF
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
PDF
Sencha Roadshow 2017: Mobile First or Desktop First
PDF
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
PDF
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
PDF
Learn Key Insights from The State of Web Application Testing Research Report
PPTX
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
PPTX
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
PPT
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
PPT
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
PPT
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
PPTX
Ext JS Architecture Best Practices - Mitchell Simeons
PPTX
Building Ext JS Using HATEOAS - Jeff Stano
Breathe New Life into Your Existing JavaScript Applications with Web Components
Ext JS 6.6 Highlights
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Learn Key Insights from The State of Web Application Testing Research Report
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
Ext JS Architecture Best Practices - Mitchell Simeons
Building Ext JS Using HATEOAS - Jeff Stano

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Sencha and Spring (Spring 2GX 2013)

  • 1. © 2013 SpringOne 2GX. All rights reserved. Do not distribute without permission. Sencha and Spring Lou Crocker, Sencha & John Ferguson, Pivotal
  • 2. S P R I N G I O C O R E : Spring Framework 4.0
  • 4. John Ferguson •  Sr. Field Engineer at Pivotal •  Formally Enterprise Data and Application Architect •  Financial Services background •  <3 Music Theater •  Enjoys cats and internet memes
  • 5. Lou Crocker •  Senior Sales Engineer •  Background in Enterprise Development and Professional Services
  • 6. What are we doing here? •  Sencha, Ext-JS, Touch, GXT….huh? •  Isn’t this a Spring conference? •  Building a demo live on stage •  Building with Sencha Architect •  Wait…did we just create an “app”? •  That’s child’s play. Show me a real application
  • 7. Developers Current problem End Users Consumers are demanding a universal app experience Developers are facing challenges building universal apps •  Same app functionality everywhere •  Experiences tailored for desktop, mobile and tablet •  Apps need to run everywhere •  Apps need to be managed on disparate platforms
  • 8. Too many application platforms!
  • 9. The Sencha Mission Rapid and easy development of rich web apps for the broadest range of access devices from IE6 to the latest table.
  • 11. Sencha Ext JS •  MVC architecture •  Robust data APIs •  Modern themes •  Rich UI widgets •  Plugin-free charting •  Big data grids •  Cross platform browser compatibility
  • 12. Sencha Touch •  High performance mobile application framework •  Cross platform apps •  Themes for each platform •  Smooth scrolling and animations •  Multi-touch gestures •  Adaptive layouts
  • 13. •  Visual app builder for desktop and mobileGenerate live interfacesBuild UI and code fully featured apps directly in ArchitectConnect to backends easilyBest practices generated code Sencha Architect
  • 14. Aren’t we at a Spring conference? The “I Wear Too Many Hats at My Company” Syndrome •  Developers have many jobs to do •  There isn’t always a “UI” developer •  Spring developers are expected to build Mobile Apps •  Sencha and Spring seamless integration – logical connectivity
  • 15. Can we just agree? •  REST is how mobile apps communicate with backends •  Lightweight •  Easy to use •  Facilitates data binding in Sencha Touch
  • 16. Quick Hyper Primer How do we build REST in Spring MVC servlet-context.xml <mvc:annotation-driven /> Controller @Controller public class MyController { @RequestMapping(value=“/resource/{id}”, method=RequestMethod.GET) public @RequestBody MyResource getResource(@PathVariable(“id”) int id){ return dataSource.get(id); } }
  • 17. How REST-y do we we need to be? * This slide is shamelessly stolen from Josh Long @starbuxman http://martinfowler.com/articles/richardsonMaturityModel.html The Richardson Maturity Model is a way to grade your API according to the REST constraints with 4 levels of increasing compliance
  • 18. What do we need? •  Need resources so we can map back to UI domain •  Need Verbs so we can use GET/POST/ PUT/DELETE consistently •  Hypermedia Controls / HATEOAS not important today but Sencha can take advantage of in future
  • 19. Wait… Hatie Oh Ah Es? HATEOAS: Hypermedia As The Engine Of Application State •  Uniform interface •  Rels in Links provide standard access to related resources http://www.youtube.com/watch?v=SC0FPuDKei0 Better explanation:
  • 20. Quick Hyper Primer How do we build REST in Spring MVC servlet-context.xml <mvc:annotation-driven /> Controller @Controller public class MyController { @RequestMapping(value=“/resource/{id}”, method=RequestMethod.GET) public @RequestBody MyResource getResource(@PathVariable(“id”) int id){ return dataSource.get(id); } } Level 1: Resources Level 2: HTTP Verbs
  • 21. Some things to think about… •  Models Matter –  Mobile clients need to know how the objects are returned •  REST consistency matters –  Can’t change the URL’s willy-nilly •  Thinner objects are better than monothlic –  Many times you are sending data over mobile network •  JSONP is your friend for development
  • 22. D E M O
  • 23. Spring Twitter Search •  Spring REST back end •  Query will return last 10 tweets to match •  Wrap it in JSONP to enable cross-site json •  Sencha Touch front-end •  What is this Spring 2012? A twitter app? You bet!
  • 24. Building a Spring Twitter backend
  • 26. Add a little Spring Social
  • 27. ..and we have data!
  • 28. Building a Twitter search app •  Let’s begin with Architect •  The project structure •  Add the container •  Add the view •  Create the Model •  Create the store •  Bind the view
  • 29. Access static electricity resource in Spring
  • 30. Combine the pieces … and deploy! •  Test the data in the design environment •  Create the display template •  Create the preview path •  Preview the app •  Set the build path •  Build the app •  Modify template/theme/parameters and repeat
  • 32. Spring Trader •  Reference Architecture for Pivotal and Spring •  Inspired by IBM “Day Trader” •  Uses Spring MVC to expose REST endpoints –  Level 2: HTTP verbs •  Sencha Touch front end http://springtrader.gopivotal.com/spring-nanotrader-sencha/ https://github.com/vFabric/springtrader/tree/sencha-mobile Github: Live Application:
  • 36. Keeping up with us John Ferguson Email: jferguson@gopivotal.com twitter: fergusonjohnw Lou Crocker Email: lou@sencha.com web: www.sencha.com