SlideShare a Scribd company logo
1 of 20
DDD!Sydney 2012

 Knowledge Sharing
Technologies
• ASP.NET WebApi
• Automated UI Testing
• Kendo UI
ASP.NET WebApi
• What is it?
  – a shiny new framework
  – build HTTP services easily
  – reach a broad range of clients
     • browsers and mobile devices
  – ideal for RESTful applications on .NET
  – http://www.asp.net/web-api
• Used to be known as WCF WebApi
• Included in ASP.NET MVC 4
ASP.NET WebApi

             WSE 2
ASMX                          WCF
              &3

   MVC and
                      WCF
   Custom
                     WebApi
    Views
ASP.NET WebApi
• What for?
  – If you want to build APIs using MVC style of
    programming (instead of WCF style)
• Features
  – Content Negotiation (JSON or XML)
  – Self Hosting
  – Async Support
  – OData Support
ASP.NET WebApi

• Demo
Automated UI Testing
• UI Testing
  – End-to-end tests
  – Browser recorders
  – Selenium, WATIN, etc.
Automated UI Testing
Automated UI Testing
• Why they fail
  – Unmaintainable
  – Lots of things going on
  – Brittle
  – Procedural
  – Duplicated logic
  – Magic strings
Automated UI Testing

• Test code is code!
 – Apply S.R.P.
 – Apply D.R.Y.
 – Care about tests as much as your code
Automated UI Testing
• Solution: Object-oriented Tests
  – Page Objects
  – Page Components
  – Strong Typing
  – Framework: Seleno
     • http://teststack.github.com/TestStack.Seleno/
Automated UI Testing
Automated UI Testing
• Use BDDfy to create tests into “living
  documentation”
  – http://teststack.github.com/TestStack.BDDfy/
Automated UI Testing
Automated UI Testing
•   Don’t use Thread.Sleep
•   Choose right selectors
•   Only one test per action
•   Design by interface
•   Apply YAGNI
•   Run and maintain your tests
    – Run frequently, fix immediately!
• DO IT RIGHT or DO NOT DO IT
Kendo UI
• New JS framework from Telerik
• For web/mobile apps
• Everything you need for HTML5/CSS3 and JS
  sites and applications
• http://www.kendoui.com
Kendo UI

     Web             DataViz             Mobile

• Telerik Web    • Visualizations,   • Native look-
  Controls         widgets,            and-feel for
• Touch-           charts              iOS, Android,
  enabled        • Touch aware,        Blackberry
• Supports IE7     hardware          • Exposes
  up               accelerated         Native API
                                       interfaces
Kendo UI
• DataSource
• MVVM Framework
• Theme Builder
Kendo UI

• Demo
The End

• Questions?

More Related Content

What's hot

Ember and SharePoint
Ember and SharePointEmber and SharePoint
Ember and SharePoint
Greg Hurlman
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
Pop Apps
 

What's hot (20)

Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
 
Ember and SharePoint
Ember and SharePointEmber and SharePoint
Ember and SharePoint
 
Ansible
AnsibleAnsible
Ansible
 
WebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page AppsWebNetConf 2012 - Single Page Apps
WebNetConf 2012 - Single Page Apps
 
Web app development with Flask
Web app development with FlaskWeb app development with Flask
Web app development with Flask
 
How to build a JavaScript toolkit
How to build a JavaScript toolkitHow to build a JavaScript toolkit
How to build a JavaScript toolkit
 
Async Web and Python
Async Web and PythonAsync Web and Python
Async Web and Python
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
A tale of 3 databases
A tale of 3 databasesA tale of 3 databases
A tale of 3 databases
 
Making maven and grunt play nice
Making maven and grunt play niceMaking maven and grunt play nice
Making maven and grunt play nice
 
Web technologies practical guide
Web technologies practical guideWeb technologies practical guide
Web technologies practical guide
 
Nativescript
NativescriptNativescript
Nativescript
 
MAUI Blazor - One App that runs everywhere
MAUI Blazor - One App that runs everywhereMAUI Blazor - One App that runs everywhere
MAUI Blazor - One App that runs everywhere
 
React Native - DILo Surabaya
React Native -  DILo SurabayaReact Native -  DILo Surabaya
React Native - DILo Surabaya
 
Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debt
 
Simple introduction about cordova
Simple introduction about cordova Simple introduction about cordova
Simple introduction about cordova
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapi
 

Similar to DeveloperDeveloperDeveloper! Sydney 2012

Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
Ryan Cuprak
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
David O'Dowd
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
Oron Ben Zvi
 

Similar to DeveloperDeveloperDeveloper! Sydney 2012 (20)

The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Xamarin.Forms Bootcamp
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
 
Titanium: Native Mobile Apps with Javascript
Titanium: Native Mobile Apps with Javascript Titanium: Native Mobile Apps with Javascript
Titanium: Native Mobile Apps with Javascript
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project 
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
20120802 timisoara
20120802 timisoara20120802 timisoara
20120802 timisoara
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Test Automation with Twist and Sahi
Test Automation with Twist and SahiTest Automation with Twist and Sahi
Test Automation with Twist and Sahi
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0Developing Cross-Platform Web Apps with ASP.NET Core1.0
Developing Cross-Platform Web Apps with ASP.NET Core1.0
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
.NET? MonoDroid Does
.NET? MonoDroid Does.NET? MonoDroid Does
.NET? MonoDroid Does
 
Building mobile apps using meteorJS
Building mobile apps using meteorJSBuilding mobile apps using meteorJS
Building mobile apps using meteorJS
 
Rise of the hybrids
Rise of the hybridsRise of the hybrids
Rise of the hybrids
 
Breaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.jsBreaking the eggshell: From .NET to Node.js
Breaking the eggshell: From .NET to Node.js
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Agile sites @ telmore
Agile sites @ telmore Agile sites @ telmore
Agile sites @ telmore
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

DeveloperDeveloperDeveloper! Sydney 2012

  • 2. Technologies • ASP.NET WebApi • Automated UI Testing • Kendo UI
  • 3. ASP.NET WebApi • What is it? – a shiny new framework – build HTTP services easily – reach a broad range of clients • browsers and mobile devices – ideal for RESTful applications on .NET – http://www.asp.net/web-api • Used to be known as WCF WebApi • Included in ASP.NET MVC 4
  • 4. ASP.NET WebApi WSE 2 ASMX WCF &3 MVC and WCF Custom WebApi Views
  • 5. ASP.NET WebApi • What for? – If you want to build APIs using MVC style of programming (instead of WCF style) • Features – Content Negotiation (JSON or XML) – Self Hosting – Async Support – OData Support
  • 7. Automated UI Testing • UI Testing – End-to-end tests – Browser recorders – Selenium, WATIN, etc.
  • 9. Automated UI Testing • Why they fail – Unmaintainable – Lots of things going on – Brittle – Procedural – Duplicated logic – Magic strings
  • 10. Automated UI Testing • Test code is code! – Apply S.R.P. – Apply D.R.Y. – Care about tests as much as your code
  • 11. Automated UI Testing • Solution: Object-oriented Tests – Page Objects – Page Components – Strong Typing – Framework: Seleno • http://teststack.github.com/TestStack.Seleno/
  • 13. Automated UI Testing • Use BDDfy to create tests into “living documentation” – http://teststack.github.com/TestStack.BDDfy/
  • 15. Automated UI Testing • Don’t use Thread.Sleep • Choose right selectors • Only one test per action • Design by interface • Apply YAGNI • Run and maintain your tests – Run frequently, fix immediately! • DO IT RIGHT or DO NOT DO IT
  • 16. Kendo UI • New JS framework from Telerik • For web/mobile apps • Everything you need for HTML5/CSS3 and JS sites and applications • http://www.kendoui.com
  • 17. Kendo UI Web DataViz Mobile • Telerik Web • Visualizations, • Native look- Controls widgets, and-feel for • Touch- charts iOS, Android, enabled • Touch aware, Blackberry • Supports IE7 hardware • Exposes up accelerated Native API interfaces
  • 18. Kendo UI • DataSource • MVVM Framework • Theme Builder