SlideShare a Scribd company logo
Single Page Applications for the ASP.NET Developer
using AngularJS, TypeScript, and WebAPI
Orlando Code Camp 2015
Allen Conway
Senior Consultant – Magenic
03.28.15
2
Intro
»Allen Conway
› Blog: http://www.AllenConway.net
› Twitter: @AllenConway,
http://www.twitter.com/AllenConway
› GitHub: https://github.com/AllenConway
› Email: AllenC@Magenic.com
3
»Single Page Applications
› What exactly is a SPA?
› Why SPAs are viable?
› SPAs vs. ASP.NET
»TheWeb Stack
› AngularJS + JS/TypeScript
› Responsive Web Design / Bootstrap
»The Server Stack
› Web API
› Entity Framework
› SQL Server
Target Objective
4
Let’s get things rolling
“To say that SPA development is the future is an
extreme understatement”
Long Le, MSDN Magazine (March 2014)
“Yep – I agree.”
Allen Conway (present day)
5
»Single Page Application
»HTML web page “shell” is sent once to the browser
»What’s with the ‘Single Page’ – Do I have to do everything in 1 page?
»“Modern JavaScript Applications”
What exactly is a SPA??
6
»Shift in application logic from the server to the client
›UI and application logic is now done in the browser
»How HTML is delivered
›ASP.NET web apps merge data with HTML before
delivering to the client
»Server’s main responsibility: Data
»Presentation Layer = JavaScript MV* Frameworks
How are SPAs different from ASP.NET MVC or Webforms?
7
Where did we come from?
Services / Data
Code-Behind
Static DOM
Static
DOM
Controller
Static
DOM
Controller
Static/Dynamic
DOM
8
Single Page Applications
Services / Data
Master Layout
Controller
Model
View
(Dynamic DOM)
Renderer
Services
9
»Lean, mean, fighting machines!
»SPAs are fluid and responsive
»Narrowing the line between desktop and web from UX perspective
»Mature browsers
› HTML5
› CSS3
› JS Processing
»SPA Frameworks follow familiar patterns
»Capable of Enterprise development
Why SPAs are… AWESOME
10
»Take notice: JavaScript is required
»Sea of JS frameworks for SPAs
›Frameworks are volatile
»Years of working almost exclusively in managed code on
the server (C#/VB.NET)
›Mindset of doing so much on the client
»Difference in the way of thinking about web design
Disadvantages and Challenges of SPAs
11
»HTML5/CSS3 Responsive Design
»AngularJS + JS/TypeScript
»ASP.NETWeb Pages (not MVC!)
»ASP.NETWeb API
»Entity Framework
»SQL Server
Bowling League Manager SPA Technology Stack
12
»Further elevate your code :: eyeball ratio
»Foot in the door for mobile devices
»Core technique: CSS Media Queries (CSS3)
»Bootstrap
›HTML, CSS, and JS framework
›UI-Bootstrap
»Invest in your base template
»Tools for testing Responsive Design
Responsive Design
13
League Bowling Manager – Responsive Design DEMO
14
» Let’s not sugar coat it – we need JS
» Object.prototype.__proto__
» Follow mainstream JS patterns
› Modules (Module & Revealing Module Patterns)
› Closures
› Promises
» Leverage JS SPA frameworks and Libraries
› AngularJS
› Durandal
› Aurelia
› Backbone
› Ember
JavaScript and SPAs
15
»Complete client side MVW framework for creating SPAs
»Compliments the server
»Originally started at Google, now OSS
»Declarative style of programming
›Manipulating the DOM
»Imperative style of programming
›Expressing logic
»Easy to use and learn
AngularJS
16
»Comprehensive framework includes:
›Data binding
›Directives
›Templates/Views
›Controllers
›Models
›Services
−Custom and Provided
›Dependency Injection
AngularJS Fundamentals
17
»Type-safe, statically-verified JavaScript
»IntelliSense!
»Familiar paradigms
»Leverage your C# classes
»TypeScript with AngularJS
› Module = app
› Class = controller, service, etc.
»TypeLITE
› GeneratesTypeScript definitions from .NET classes
TypeScript
18
»RESTful services
»We can still use C#/VB.NET on the server!
»Server holds the cards to providing data to the client
»Share same business process to multiple consumers
»MVC developer-friendly
»AJAX-friendly
ASP.NET WebAPI
19
League Bowling Manager – AngularJS, TypeScript, and
WebAPI Demo
20
»The big payoff – fast, fast, fast and don’t
forget… efficient!
»Use ‘Network’ tab in debugging tools
› Request count
› Size
› Time
»Techniques
› Caching
› Bundling / Minification
SPA Performance
21
»Chrome, IE, Firefox and Safari all have their own developer
tools
»Chrome has a fantastic set of developer tools
»Search for scripts using Ctrl + O
»Ability to debug JavaScript and seek out errors easily
»Ability to debugAsync calls
»Manipulate expressions real time to prevent browser
refresh
Learning to befriend the Developer Tools
22
» League Bowling Manager
› https://github.com/AllenConway/BowlingSPA
» SPA Basic Template
› https://github.com/AllenConway/SPABasicTemplate
» Plunker
› http://plnkr.co/
» AngularJS API Docs
› https://docs.angularjs.org/api
» AngularJSTraining
› http://egghead.io/
› http://thinkster.io/
› http://www.pluralsight.com/
» Bootstrap
› http://getbootstrap.com/
» UI Bootstrap (Angular directives)
› http://angular-ui.github.io/bootstrap/
Useful References
23
»This is just the Start!
»Have references handy
»Try things on a small scale
»Become familiar with all the pieces
»SPAs and ModernWeb Applications
›way of thinking/designing vs. technologies that
implement them
»SPAs can create large scalable web applications
Not a Wrap Up!
24
Questions
Thank you for attending Orlando Code Camp 2015!

More Related Content

PPTX
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Chris Love
 
PPTX
Building great spa’s with angular js, asp.net mvc and webapi
Maurice De Beijer [MVP]
 
PDF
End to-End SPA Development Using ASP.NET and AngularJS
Gil Fink
 
PPT
Single Page Application presentation
John Staveley
 
PPT
Jquery
Swapnil & Patil
 
PDF
SxSW 2015
Mike McNeil
 
PPTX
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
PPTX
The RAW stack
Maurice De Beijer [MVP]
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Chris Love
 
Building great spa’s with angular js, asp.net mvc and webapi
Maurice De Beijer [MVP]
 
End to-End SPA Development Using ASP.NET and AngularJS
Gil Fink
 
Single Page Application presentation
John Staveley
 
SxSW 2015
Mike McNeil
 
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 

What's hot (20)

PDF
Single page applications
Diego Cardozo
 
PPSX
Web technologies practical guide
samir azazy
 
PPTX
Single Page Application (SPA) using AngularJS
M R Rony
 
PPTX
Developing ASP.NET MVC Applications Quicker With Kendo UI
Lohith Goudagere Nagaraj
 
PPTX
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
Syed Shanu
 
PDF
Single Page Applications
Massimo Iacolare
 
PPTX
Single Page WebApp Architecture
Morgan Cheng
 
PPTX
The RAW stack
Maurice De Beijer [MVP]
 
PPTX
5 single page application principles developers need to know
Chris Love
 
PPTX
Choosing a JavaScript Framework
Tim Rayburn
 
PPT
Top java script frameworks ppt
Omkarsoft Bangalore
 
PDF
Refactoring to a Single Page Application
Codemotion
 
PPTX
Building SPA with Kendo UI
Lohith Goudagere Nagaraj
 
PPTX
Togu CMS
Alessandro Siragusa
 
PPTX
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
PPTX
Modern Applications With Asp.net Core 5 and Vue JS 3
Alexandre Malavasi
 
PDF
Single Page Application Best practices
Tarence DSouza
 
PDF
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Dan Gribbin
 
PDF
JS Framework Comparison - An infographic
InApp
 
PPTX
MVVM & Validation with Kendo UI
Lohith Goudagere Nagaraj
 
Single page applications
Diego Cardozo
 
Web technologies practical guide
samir azazy
 
Single Page Application (SPA) using AngularJS
M R Rony
 
Developing ASP.NET MVC Applications Quicker With Kendo UI
Lohith Goudagere Nagaraj
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
Syed Shanu
 
Single Page Applications
Massimo Iacolare
 
Single Page WebApp Architecture
Morgan Cheng
 
5 single page application principles developers need to know
Chris Love
 
Choosing a JavaScript Framework
Tim Rayburn
 
Top java script frameworks ppt
Omkarsoft Bangalore
 
Refactoring to a Single Page Application
Codemotion
 
Building SPA with Kendo UI
Lohith Goudagere Nagaraj
 
Latest Javascript MVC & Front End Frameworks 2017
AmarInfotech
 
Modern Applications With Asp.net Core 5 and Vue JS 3
Alexandre Malavasi
 
Single Page Application Best practices
Tarence DSouza
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Dan Gribbin
 
JS Framework Comparison - An infographic
InApp
 
MVVM & Validation with Kendo UI
Lohith Goudagere Nagaraj
 
Ad

Viewers also liked (11)

PPTX
ASP.NET 4.5 webforms
Abhishek Sur
 
PPTX
Single page applications mit asp.net mvc und der asp.net web api
Alexander Zeitler
 
PPTX
Mvc webforms
Muhammad Younis
 
PPT
Migration from ASP to ASP.NET
Information Technology
 
PPTX
Single Page Applications on JavaScript and ASP.NET MVC4
Yuriy Shapovalov
 
PPTX
ASP.NET MVC for Begineers
Shravan Kumar Kasagoni
 
PPTX
Introduction ASP
FaTin GhaZmi
 
PPS
Asp Architecture
Om Vikram Thapa
 
PPTX
ASP.NET Presentation
dimuthu22
 
PPT
Formation joomla 1ere_session
Ahmed Seye
 
ASP.NET 4.5 webforms
Abhishek Sur
 
Single page applications mit asp.net mvc und der asp.net web api
Alexander Zeitler
 
Mvc webforms
Muhammad Younis
 
Migration from ASP to ASP.NET
Information Technology
 
Single Page Applications on JavaScript and ASP.NET MVC4
Yuriy Shapovalov
 
ASP.NET MVC for Begineers
Shravan Kumar Kasagoni
 
Introduction ASP
FaTin GhaZmi
 
Asp Architecture
Om Vikram Thapa
 
ASP.NET Presentation
dimuthu22
 
Formation joomla 1ere_session
Ahmed Seye
 
Ad

Similar to CC 2015 Single Page Applications for the ASPNET Developer (20)

PPTX
Asp.netmvc handson
Prashant Kumar
 
PDF
Angular JS - Develop Responsive Single Page Application
Edureka!
 
PDF
Webinar on Angular JS titled 'Develop Responsive Single Page Application'
Edureka!
 
PDF
AngularJS : Superheroic JavaScript MVW Framework
Edureka!
 
PDF
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
PPTX
Web Development Today
bretticus
 
PPSX
Web development concepts using microsoft technologies
Hosam Kamel
 
PPTX
Building Modern Web Apps with MEAN Stack
Suresh Patidar
 
PPTX
Creating Tomorrow’s Web Applications Using Today’s Technologies
Code Mastery
 
PPT
Scalable And Usable Web Applications
Clint Edmonson
 
PDF
AngularJS : Superheroic Javascript MVW Framework
Edureka!
 
PDF
Node.js for .NET Developers
David Neal
 
PPT
ArcReady - Scalable And Usable Web Applications
Microsoft ArcReady
 
PPTX
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
PPTX
Best of Microsoft Dev Camp 2015
Bluegrass Digital
 
PPT
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
PPTX
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Jason Strimpel
 
PDF
Usman_CV
Usman Arshad
 
PPTX
Introduction to ASP.NET
Rajkumarsoy
 
PPTX
Asp.net mvc 5 ppt
JavedAnsari65
 
Asp.netmvc handson
Prashant Kumar
 
Angular JS - Develop Responsive Single Page Application
Edureka!
 
Webinar on Angular JS titled 'Develop Responsive Single Page Application'
Edureka!
 
AngularJS : Superheroic JavaScript MVW Framework
Edureka!
 
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Web Development Today
bretticus
 
Web development concepts using microsoft technologies
Hosam Kamel
 
Building Modern Web Apps with MEAN Stack
Suresh Patidar
 
Creating Tomorrow’s Web Applications Using Today’s Technologies
Code Mastery
 
Scalable And Usable Web Applications
Clint Edmonson
 
AngularJS : Superheroic Javascript MVW Framework
Edureka!
 
Node.js for .NET Developers
David Neal
 
ArcReady - Scalable And Usable Web Applications
Microsoft ArcReady
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
Bojan Veljanovski
 
Best of Microsoft Dev Camp 2015
Bluegrass Digital
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
Satisfying Business and Engineering Requirements: Client-server JavaScript, S...
Jason Strimpel
 
Usman_CV
Usman Arshad
 
Introduction to ASP.NET
Rajkumarsoy
 
Asp.net mvc 5 ppt
JavedAnsari65
 

Recently uploaded (20)

PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
oapresentation.pptx
mehatdhavalrajubhai
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
oapresentation.pptx
mehatdhavalrajubhai
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 

CC 2015 Single Page Applications for the ASPNET Developer

  • 1. Single Page Applications for the ASP.NET Developer using AngularJS, TypeScript, and WebAPI Orlando Code Camp 2015 Allen Conway Senior Consultant – Magenic 03.28.15
  • 2. 2 Intro »Allen Conway › Blog: http://www.AllenConway.net › Twitter: @AllenConway, http://www.twitter.com/AllenConway › GitHub: https://github.com/AllenConway › Email: [email protected]
  • 3. 3 »Single Page Applications › What exactly is a SPA? › Why SPAs are viable? › SPAs vs. ASP.NET »TheWeb Stack › AngularJS + JS/TypeScript › Responsive Web Design / Bootstrap »The Server Stack › Web API › Entity Framework › SQL Server Target Objective
  • 4. 4 Let’s get things rolling “To say that SPA development is the future is an extreme understatement” Long Le, MSDN Magazine (March 2014) “Yep – I agree.” Allen Conway (present day)
  • 5. 5 »Single Page Application »HTML web page “shell” is sent once to the browser »What’s with the ‘Single Page’ – Do I have to do everything in 1 page? »“Modern JavaScript Applications” What exactly is a SPA??
  • 6. 6 »Shift in application logic from the server to the client ›UI and application logic is now done in the browser »How HTML is delivered ›ASP.NET web apps merge data with HTML before delivering to the client »Server’s main responsibility: Data »Presentation Layer = JavaScript MV* Frameworks How are SPAs different from ASP.NET MVC or Webforms?
  • 7. 7 Where did we come from? Services / Data Code-Behind Static DOM Static DOM Controller Static DOM Controller Static/Dynamic DOM
  • 8. 8 Single Page Applications Services / Data Master Layout Controller Model View (Dynamic DOM) Renderer Services
  • 9. 9 »Lean, mean, fighting machines! »SPAs are fluid and responsive »Narrowing the line between desktop and web from UX perspective »Mature browsers › HTML5 › CSS3 › JS Processing »SPA Frameworks follow familiar patterns »Capable of Enterprise development Why SPAs are… AWESOME
  • 10. 10 »Take notice: JavaScript is required »Sea of JS frameworks for SPAs ›Frameworks are volatile »Years of working almost exclusively in managed code on the server (C#/VB.NET) ›Mindset of doing so much on the client »Difference in the way of thinking about web design Disadvantages and Challenges of SPAs
  • 11. 11 »HTML5/CSS3 Responsive Design »AngularJS + JS/TypeScript »ASP.NETWeb Pages (not MVC!) »ASP.NETWeb API »Entity Framework »SQL Server Bowling League Manager SPA Technology Stack
  • 12. 12 »Further elevate your code :: eyeball ratio »Foot in the door for mobile devices »Core technique: CSS Media Queries (CSS3) »Bootstrap ›HTML, CSS, and JS framework ›UI-Bootstrap »Invest in your base template »Tools for testing Responsive Design Responsive Design
  • 13. 13 League Bowling Manager – Responsive Design DEMO
  • 14. 14 » Let’s not sugar coat it – we need JS » Object.prototype.__proto__ » Follow mainstream JS patterns › Modules (Module & Revealing Module Patterns) › Closures › Promises » Leverage JS SPA frameworks and Libraries › AngularJS › Durandal › Aurelia › Backbone › Ember JavaScript and SPAs
  • 15. 15 »Complete client side MVW framework for creating SPAs »Compliments the server »Originally started at Google, now OSS »Declarative style of programming ›Manipulating the DOM »Imperative style of programming ›Expressing logic »Easy to use and learn AngularJS
  • 16. 16 »Comprehensive framework includes: ›Data binding ›Directives ›Templates/Views ›Controllers ›Models ›Services −Custom and Provided ›Dependency Injection AngularJS Fundamentals
  • 17. 17 »Type-safe, statically-verified JavaScript »IntelliSense! »Familiar paradigms »Leverage your C# classes »TypeScript with AngularJS › Module = app › Class = controller, service, etc. »TypeLITE › GeneratesTypeScript definitions from .NET classes TypeScript
  • 18. 18 »RESTful services »We can still use C#/VB.NET on the server! »Server holds the cards to providing data to the client »Share same business process to multiple consumers »MVC developer-friendly »AJAX-friendly ASP.NET WebAPI
  • 19. 19 League Bowling Manager – AngularJS, TypeScript, and WebAPI Demo
  • 20. 20 »The big payoff – fast, fast, fast and don’t forget… efficient! »Use ‘Network’ tab in debugging tools › Request count › Size › Time »Techniques › Caching › Bundling / Minification SPA Performance
  • 21. 21 »Chrome, IE, Firefox and Safari all have their own developer tools »Chrome has a fantastic set of developer tools »Search for scripts using Ctrl + O »Ability to debug JavaScript and seek out errors easily »Ability to debugAsync calls »Manipulate expressions real time to prevent browser refresh Learning to befriend the Developer Tools
  • 22. 22 » League Bowling Manager › https://github.com/AllenConway/BowlingSPA » SPA Basic Template › https://github.com/AllenConway/SPABasicTemplate » Plunker › http://plnkr.co/ » AngularJS API Docs › https://docs.angularjs.org/api » AngularJSTraining › http://egghead.io/ › http://thinkster.io/ › http://www.pluralsight.com/ » Bootstrap › http://getbootstrap.com/ » UI Bootstrap (Angular directives) › http://angular-ui.github.io/bootstrap/ Useful References
  • 23. 23 »This is just the Start! »Have references handy »Try things on a small scale »Become familiar with all the pieces »SPAs and ModernWeb Applications ›way of thinking/designing vs. technologies that implement them »SPAs can create large scalable web applications Not a Wrap Up!
  • 24. 24 Questions Thank you for attending Orlando Code Camp 2015!