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

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

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