SlideShare a Scribd company logo
Angular, TypeScript and Katana 
Twin Cities Code Camp 
October 4th 2014 
Justin Wendlandt 
jwendl@hotmail.com 
@jwendl 
http://www.jwendl.net/
Keywords and Terms 
Katana
ASP.NET vNext 
• Who to follow for more 
information 
 Scott Guthrie, Scott 
Hanselman, Damian Edwards 
and David Fowler. 
 Channel 9 Videos
What is OWIN? 
• Decouple server and application 
 No more System.Web – YAY! 
• Decouple client and server 
• Open standards 
• Stimulate open source Eco 
System 
• Windows Internet of Things? 
 Embedded Devices? 
Application 
Framework 
OWIN Middleware 
Server 
Host
What is Project Katana? 
• OWIN implementation for IIS 
• A few hooks into System.Web 
• A few hooks into 
System.Net.HttpListener
Demos - Katana
What About the Server? 
• Web API vs. MVC 
• Business Logic 
• Data Access Layer 
• No Code Changes at all 
 (Unless you use Cache) 
 (Unless you use Session) 
 (Unless you use System.Web)
Decoupling the Client 
• Do you SPA? 
• Do you run server-side? 
• Do you go Hybrid?
Using the Hybrid Approach 
• ASP.NET MVC 
• TypeScript 
• Reactive Extensions 
 For Ajax 
 For Updating DOM (using 
jQuery)
Using the SPA Approach 
• ASP.NET Web API 
• TypeScript 
• Angular 
• Reactive Extensions 
 For Ajax
What is Angular? 
• It’s HTML Enhanced for Web 
Apps 
• Single Page Application 
Framework
Angular – Routing 
• Root page never navigates 
• Clicked links “Navigate” 
 Then data bind
Angular – $scope 
• Scope delivers model to DOM 
and controller 
• $scope is NOT the model itself 
• Should contain multiple models
Angular – Dependency Injection 
• Resolves instance of object for 
you 
• Helps decouple services and 
providers
Angular – Two-Way Data Binding 
• No code to handle the binding, 
ng-model does it for you 
• Based on $scope 
• Can contain filters for read-bindings
Angular Demo – HotTowel
Reactive Extensions for JavaScript 
• Uses promises – Awesome! 
• Can handle events as well 
• Throttle Input if need be 
• Perfect for anything 
asynchronous
The Reactive Manifesto 
• Respond in timely manner 
• Consistent Quality of Service Responsive 
• Stay responsive in the face of failure 
• Allows for recovery Resilient 
• Stay responsive under varying workload 
• No central bottlenecks Elastic 
• Relies on Asynchronous Messages 
• Ensure Loose Coupling Message Driven
Why Should I Always use RxJS? 
• Event-Driven 
• Avoids Nasty Nested Callbacks 
• Resembles .NET Fluent API 
• Perfect Fit for $Ajax calls that an 
Angular App would need
Demo - SteamLookupApp
What is TypeScript? 
• It’s not JavaScript 
• It’s not C# 
• Interfaces are model prototypes 
• Modules are a separation layer
Interfaces vs. .d.ts Files 
• TypeScript Interfaces 
 Describes a model 
– var dog: Animal = { … } 
 Ensuring a model passed into 
a function 
– function Bark (animal: Dog) { … } 
• TypeLite 
 Takes .NET models and turns 
them into TypeScript 
Interfaces 
• TypeScript .d.ts files 
 Third Party Applications 
 _refs.ts 
• DefinitelyTyped project on GitHub
Web Essentials 
• Preview Window 
• Drag n’ Drop 
• Native _refs.ts support
Demo - AsgardBlogEngine
References 
• Videos 
 http://channel9.msdn.com/Event 
s/Speakers/Damian-Edwards 
 http://channel9.msdn.com/Event 
s/Speakers/david-fowler 
• TypeScript 
 http://www.typescriptlang.org/ 
• Angular JS 
 https://angularjs.org/ 
• HotTowel / HotTowel TypeScript 
 https://github.com/johnpapa/HotT 
owel-Angular 
 https://github.com/johnnyreilly/Ho 
tTowel-Angular-TypeScript 
• RxJS 
 http://reactive-extensions. 
github.io/RxJS/ 
 http://www.slideshare.net/mattpo 
dwysocki/cascadiajs-dont-cross-the- 
streams
Questions??? 
• http://www.jwendl.net/ 
• Twitter: @jwendl 
• jwendl@hotmail.com 
• http://speakr.cc/ 
• http://github.com/jwendl/

More Related Content

What's hot (19)

PPT
OWIN (Open Web Interface for .NET)
Folio3 Software
 
PPTX
Owin from spec to application
damian-h
 
PDF
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
PPTX
ASP .Net Core SPA Templates
Eamonn Boyle
 
ODP
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
PDF
Developing Resilient Cloud Native Apps with Spring Cloud
Dustin Ruehle
 
PPTX
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
PPTX
Powershell For Developers
Ido Flatow
 
PPTX
Let's play with adf 3.0
Eugenio Romano
 
PDF
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Toni Jara
 
PDF
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
PDF
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Matt Raible
 
PPTX
Getting Started with Spring Boot
David Kiss
 
PDF
Azure series 2 creating a cloud service - web role
Saravanan Subburayal
 
PPTX
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
PPTX
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Maurice De Beijer [MVP]
 
PDF
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
Colleen Lee
 
PDF
Spring Cloud Stream with Kafka
David Kiss
 
PPTX
Testing Microservices
Anil Allewar
 
OWIN (Open Web Interface for .NET)
Folio3 Software
 
Owin from spec to application
damian-h
 
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
ASP .Net Core SPA Templates
Eamonn Boyle
 
Developing Microservices using Spring - Beginner's Guide
Mohanraj Thirumoorthy
 
Developing Resilient Cloud Native Apps with Spring Cloud
Dustin Ruehle
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
Powershell For Developers
Ido Flatow
 
Let's play with adf 3.0
Eugenio Romano
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Toni Jara
 
Microservices - java ee vs spring boot and spring cloud
Ben Wilcock
 
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Matt Raible
 
Getting Started with Spring Boot
David Kiss
 
Azure series 2 creating a cloud service - web role
Saravanan Subburayal
 
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Maurice De Beijer [MVP]
 
Iguazú: A Long-Running Job Scheduler using Docker and Mesos
Colleen Lee
 
Spring Cloud Stream with Kafka
David Kiss
 
Testing Microservices
Anil Allewar
 

Similar to Angular Owin Katana TypeScript (20)

PPTX
Azure Functions Real World Examples
Yochay Kiriaty
 
PDF
End to-End SPA Development Using ASP.NET and AngularJS
Gil Fink
 
PDF
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
PPTX
Beginners Node.js
Khaled Mosharraf
 
PDF
How to Build Front-End Web Apps that Scale - FutureJS
Phil Leggetter
 
PPTX
WebNetConf 2012 - Single Page Apps
Pop Apps
 
PPTX
TypeScript and Angular2 (Love at first sight)
Igor Talevski
 
PDF
Node.js for .NET Developers
David Neal
 
PPTX
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
Enea Gabriel
 
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
PPTX
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
PPTX
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
PDF
How to Build Single Page HTML5 Apps that Scale
Phil Leggetter
 
PDF
APIs distribuidos con alta escalabilidad
Software Guru
 
PDF
SGCE 2015 REST APIs
Domingo Suarez Torres
 
PPTX
Key alias dev standard final
Raditya Alwafi Surachman
 
PDF
Surrogate dependencies (in node js) v1.0
Dinis Cruz
 
PPTX
JavaScript in Universal Windows Platform apps
Timmy Kokke
 
PPT
Intro to SPA using JavaScript & ASP.NET
Alan Hecht
 
Azure Functions Real World Examples
Yochay Kiriaty
 
End to-End SPA Development Using ASP.NET and AngularJS
Gil Fink
 
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
Beginners Node.js
Khaled Mosharraf
 
How to Build Front-End Web Apps that Scale - FutureJS
Phil Leggetter
 
WebNetConf 2012 - Single Page Apps
Pop Apps
 
TypeScript and Angular2 (Love at first sight)
Igor Talevski
 
Node.js for .NET Developers
David Neal
 
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
Enea Gabriel
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
How to Build Single Page HTML5 Apps that Scale
Phil Leggetter
 
APIs distribuidos con alta escalabilidad
Software Guru
 
SGCE 2015 REST APIs
Domingo Suarez Torres
 
Key alias dev standard final
Raditya Alwafi Surachman
 
Surrogate dependencies (in node js) v1.0
Dinis Cruz
 
JavaScript in Universal Windows Platform apps
Timmy Kokke
 
Intro to SPA using JavaScript & ASP.NET
Alan Hecht
 
Ad

Recently uploaded (20)

PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Ad

Angular Owin Katana TypeScript

  • 1. Angular, TypeScript and Katana Twin Cities Code Camp October 4th 2014 Justin Wendlandt [email protected] @jwendl http://www.jwendl.net/
  • 3. ASP.NET vNext • Who to follow for more information  Scott Guthrie, Scott Hanselman, Damian Edwards and David Fowler.  Channel 9 Videos
  • 4. What is OWIN? • Decouple server and application  No more System.Web – YAY! • Decouple client and server • Open standards • Stimulate open source Eco System • Windows Internet of Things?  Embedded Devices? Application Framework OWIN Middleware Server Host
  • 5. What is Project Katana? • OWIN implementation for IIS • A few hooks into System.Web • A few hooks into System.Net.HttpListener
  • 7. What About the Server? • Web API vs. MVC • Business Logic • Data Access Layer • No Code Changes at all  (Unless you use Cache)  (Unless you use Session)  (Unless you use System.Web)
  • 8. Decoupling the Client • Do you SPA? • Do you run server-side? • Do you go Hybrid?
  • 9. Using the Hybrid Approach • ASP.NET MVC • TypeScript • Reactive Extensions  For Ajax  For Updating DOM (using jQuery)
  • 10. Using the SPA Approach • ASP.NET Web API • TypeScript • Angular • Reactive Extensions  For Ajax
  • 11. What is Angular? • It’s HTML Enhanced for Web Apps • Single Page Application Framework
  • 12. Angular – Routing • Root page never navigates • Clicked links “Navigate”  Then data bind
  • 13. Angular – $scope • Scope delivers model to DOM and controller • $scope is NOT the model itself • Should contain multiple models
  • 14. Angular – Dependency Injection • Resolves instance of object for you • Helps decouple services and providers
  • 15. Angular – Two-Way Data Binding • No code to handle the binding, ng-model does it for you • Based on $scope • Can contain filters for read-bindings
  • 16. Angular Demo – HotTowel
  • 17. Reactive Extensions for JavaScript • Uses promises – Awesome! • Can handle events as well • Throttle Input if need be • Perfect for anything asynchronous
  • 18. The Reactive Manifesto • Respond in timely manner • Consistent Quality of Service Responsive • Stay responsive in the face of failure • Allows for recovery Resilient • Stay responsive under varying workload • No central bottlenecks Elastic • Relies on Asynchronous Messages • Ensure Loose Coupling Message Driven
  • 19. Why Should I Always use RxJS? • Event-Driven • Avoids Nasty Nested Callbacks • Resembles .NET Fluent API • Perfect Fit for $Ajax calls that an Angular App would need
  • 21. What is TypeScript? • It’s not JavaScript • It’s not C# • Interfaces are model prototypes • Modules are a separation layer
  • 22. Interfaces vs. .d.ts Files • TypeScript Interfaces  Describes a model – var dog: Animal = { … }  Ensuring a model passed into a function – function Bark (animal: Dog) { … } • TypeLite  Takes .NET models and turns them into TypeScript Interfaces • TypeScript .d.ts files  Third Party Applications  _refs.ts • DefinitelyTyped project on GitHub
  • 23. Web Essentials • Preview Window • Drag n’ Drop • Native _refs.ts support
  • 25. References • Videos  http://channel9.msdn.com/Event s/Speakers/Damian-Edwards  http://channel9.msdn.com/Event s/Speakers/david-fowler • TypeScript  http://www.typescriptlang.org/ • Angular JS  https://angularjs.org/ • HotTowel / HotTowel TypeScript  https://github.com/johnpapa/HotT owel-Angular  https://github.com/johnnyreilly/Ho tTowel-Angular-TypeScript • RxJS  http://reactive-extensions. github.io/RxJS/  http://www.slideshare.net/mattpo dwysocki/cascadiajs-dont-cross-the- streams
  • 26. Questions??? • http://www.jwendl.net/ • Twitter: @jwendl • [email protected] • http://speakr.cc/ • http://github.com/jwendl/