SlideShare a Scribd company logo
1 of 38
RUSS FUSTINO
HEAD OF DEVELOPER EVANGELISM
@russcamtv
russf@componentone.com
www.componentone.com/russcam
JavaScript for the ASP.NET Developer
Chris Bannon - @Wijmo PM @b4nn0n
chris.bannon@componentone.com
ABOUT ME
Head of Developer Evangelism at ComponentOne
Former Microsoft Developer Evangelist
Windows 8 Key Influencer
Social Media and Video Production Expert
INETA Lifetime Achievement Award Winner
WHY USE JAVASCRIPT AND HTML5?
• 61% leave a site if it is not mobile-ready
• 79% search for another site
• 48% said if a site didn‟t work on a mobile device, they didn‟t feel the
company valued their business
• Bottom line… there is a real world business need for mobile ready sites
• * Source Google Blog
HOW DO I USE MY SKILL SET AS AN ASP.NET DEVELOPER,
TO A PROGRAM IN JAVASCRIPT?
• What is the pain solved using JavaScript anyway?
• How do I use AJAX in JavaScript?
• Are there „built in‟ libraries available?
• How do I use third party controls?
• What about data binding?
• What about frameworks?
MOBILITY IS IMPORTANT!
RESPONSIVE WEBSITE DEMO
SALES DASHBOARD
HOW DO I GET FROM THIS…
ASP.Net
Ajax
Controls
VS
Controls
Third
Party
Controls
MVC
…TO THIS?
HTML5
Ajax
jQuery
jQuery UI
Wijmo Knockout
RUSS FUSTINO‟S MAP
ASP.Net
Ajax
Controls
VS
Controls
Third
Party
Controls
MVC
MVVM
HTML5
Ajax
jQuery
jQueryUI
Wijmo Knockout
WHAT EXACTLY IS AJAX?
Ajax == Asynchronous JavaScript and XML
Ajax is really a set of technologies working
together:
 XHTML and CSS for markup
 DOM for display and interaction
 XML and XSLT for data interchange & manipulation
 JSON for marshalling objects
 XMLHttpRequest for asynchronous communication
 JavaScript for tying it all together
 Allows us to load data from the server without a browser
page refresh
DEMO
Ajax
JQUERY
• Javascript is HARD
• jQuery is a Javascript library that makes Javascript
easier
• Simplifies DOM spelunking
• Handles browser differences
• Provides a key shortcut “$”
• Download from jquery.com
• The jQuery library has a full suite of functions and
methods for AJAX capabilities.
• Hosted on CDN
JQUERY SYNTAX
• $(selector).action()
• $ references jQuery; (selector) queries the DOM element or
elements; and .action() performs an action on the
element.
• Examples of jQuery syntax:
◾$(this).hide() hides the current element.
◾$("p").hide() hides all paragraphs.
◾$("p.wow").hide() hides all paragraphs of the class "wow".
◾$("#wow").hide() hides an element with the id of "wow".
HTTP://API.JQUERY.COM/
HTTP://WIJMO.COM/WIKI/INDEX.PHP/GETTING_STARTED_WITH_WIJMO
DEMOS
jQuery and Ajax
JQUERY UI
•UI controls built on top of jQuery
•All open source
•Download from jqueryui.com
•Hosted on CDN
HOW JQUERY UI WORKS
HTML Widget
jQueryUI
HTML JS CSS
JQUERYUIWidgets
Accordion
Autocomplete
Button
Datepicker
Dialog
Menu
Progressbar
Slider
Spinner
Tabs
Tooltip
Interactions
Draggable
Droppable
Resizeable
Selectable
Sortable
Effects
Add class
Color animation
Effect
Hide
Remove class
Show
Switch class
Toggle
Toggle class
Utilities
Position
Widget class factory
WIDGET API
Widget
Options
(Configure widget)
Methods
(Command widget)
Event
(Handle widget
events)
HTTP://API.JQUERYUI.COM
DEMO 3
jQueryUI
• HTML5
• jQuery / jQuery UI
• jQuery Mobile
• CSS3
• SVG
• Knockout
• Angular JS
• Breeze JS
WIJMO IS OUR CORE CLIENT-SIDE FRAMEWORK BUILT
ON WEB STANDARDS
HTML5 TECHNOLOGY
• ASP.NET WebForms
• ASP.NET MVC
• JavaScript/jQuery/HTML5
• Any Platform (PHP, Rails, etc)
• Studio for ASP.NET
• LightSwitch
WIJMO IS ONE TECHNOLOGY FOR ALL DEVELOPMENT
OLOGY
• Cross-browser support
• IE6+, Firefox, Chrome, Safari
• Tablets
• Mobile Phones
• Windows 8
WIJMO WORKS EVERYWHERE
WORKS EVERYWHERE
WIJMO
• Enhanced controls built on top of jQueryUI
• Created by ComponentOne
• Two Commercial versions
• Wijmo Professional
• Wijmo Enterprise
• Download from wijmo.com
• Hosted on CDN
• All widgets adapt automatically
to jQueryUI or jQuery Mobile
MORE OPTIONS, EVENTS AND METHODS
DEMO
Wijmo
DEMO
Wijmo
Windows Phone 8 HTML5
Adaptive Widget framework
KNOCKOUT.JS
• MVVM Support
• Declarative Bindings
• Observables
• Live Data
• Supported in every widget
• It‟s Optional
WHAT IS MVVM?
• Model
• The Model encapsulates the domain model, business logic and may
include data access. For Example a Customer object contains properties
for Name and Address.
• View
• The view is the application‟s User Interface (UI). It defines the appearance
of visual elements and controls such as text boxes and buttons.
• View Model
• The view model is responsible for holding application state, handling
presentation logic and exposing application data and operations
(commands) to the view such as LoadCustomers and SaveCustomers. It
acts as the intermediary between the view and model.
3 STEPS FOR USING KNOCKOUT WITH WIJMO
• 1. Add references to the latest jQuery dependencies, Wijmo
widgets, Knockout .js file, and KO extension library for Wijmo.
• 2. Create the ViewModel and View: add JavaScript to
define the data and behavior of the UI, and add markup to
create the View—the visual, interactive UI.
• 3. Bind the Wijmo widget(s) to the ViewModel and activate
KO.
DEMO
Knockout
KNOCKOUT OR ANGULAR?
• Knockout is just about data binding
• Knockout is solid, very widespread, and reliable.
• Fully supported by Wijmo
• Angular is a presentation framework….
• Routing
• Animations
• View orchestration
• Dependency management
• Data binding
• Fully supported by Wijmo
COMPONENTONE SPECIAL OFFERS
• See:
• http://www.componentone.com/SuperPages/SpecialOffers
• Responsive Design is important
• jQuery makes JavaScript programming easier
• jQuery UI makes using widgets and effects easier
• Wijmo exposes more options, methods and events on top of jQuery
• Great Wijmo support is available!
• All Wijmo widgets work with jQuery Mobile
• HTML5 clients are proliferating
• Knockout and Angular are great for developers coming from .NET
• Download Wijmo! www.Wijmo.com/downloads
SUMMARY
RESOURCES AND CONTACT INFO
• Email: russf@componentone.com
• Twitter: @russcamtv
• Blog: http://our.componentone.com/author/rfustino/
• Facebook: http://www.facebook.com/russellcamtv
• Daily News: http://russcam.componentone.com
• Wijmo MVVM Support
http://wijmo.com/widgets/mvvm-support/
• Download Wijmo
http://wijmo.com/downloads/
• Knockout
http://knockoutjs.com/
• Chris Bannon (Wijmo) Blogs: http://wijmo.com/posts/
http://our.componentone.com/author/c1_chrisb/

More Related Content

What's hot

Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overviewSanket Devlekar
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicErmias Bayu
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Mark Leusink
 
Ionic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsIonic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsAndreas Sahle
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkRashmika Nawaratne
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkSanjay Kumar
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic frameworkShyjal Raazi
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Frameworkrrjohnson85
 
Cross platform development
Cross platform developmentCross platform development
Cross platform developmentdftaiwo
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsEddie Lau
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus Inc.
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicKadhem Soltani
 
Intro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsIntro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsHector Iribarne
 
Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkJulien Renaux
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinBrian Anderson
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Mike Melusky
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsSasha dos Santos
 

What's hot (20)

Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
 
Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)Creating mobile apps - an introduction to Ionic (Engage 2016)
Creating mobile apps - an introduction to Ionic (Engage 2016)
 
Xamarin
XamarinXamarin
Xamarin
 
Ionic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsIonic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile apps
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
Ionic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application FrameworkIonic - Hybrid Mobile Application Framework
Ionic - Hybrid Mobile Application Framework
 
Introduction to Ionic framework
Introduction to Ionic frameworkIntroduction to Ionic framework
Introduction to Ionic framework
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Building Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and IonicBuilding Mobile Apps with Cordova , AngularJS and Ionic
Building Mobile Apps with Cordova , AngularJS and Ionic
 
Intro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular jsIntro to mobile apps with the ionic framework & angular js
Intro to mobile apps with the ionic framework & angular js
 
Creating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic FrameworkCreating an hybrid app in minutes with Ionic Framework
Creating an hybrid app in minutes with Ionic Framework
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015Building Native “apps” with Visual Studio 2015
Building Native “apps” with Visual Studio 2015
 
Intro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile ApplicationsIntro to Ionic for Building Hybrid Mobile Applications
Intro to Ionic for Building Hybrid Mobile Applications
 

Similar to JavaScript for ASP.NET programmers (webcast) upload

jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)Jia Mi
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to conceptsAbhishek Sur
 
Knockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutKnockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutAndoni Arroyo
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - IntroductionSagar Acharya
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQueryAnil Kumar
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conferencedmethvin
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesMark Roden
 
Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Ganesh Kondal
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSYuriy Silvestrov
 
Web app with j query & javascript (5:4)
Web app with j query & javascript (5:4)Web app with j query & javascript (5:4)
Web app with j query & javascript (5:4)Thinkful
 
Getting the-native-feel
Getting the-native-feelGetting the-native-feel
Getting the-native-feelfisherwebdev
 
Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Stephen Chin
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - IntroductionSenthil Kumar
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
 

Similar to JavaScript for ASP.NET programmers (webcast) upload (20)

jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
Knockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockoutKnockout implementing mvvm in java script with knockout
Knockout implementing mvvm in java script with knockout
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
 
Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
The JavaFX Ecosystem
The JavaFX EcosystemThe JavaFX Ecosystem
The JavaFX Ecosystem
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJS
 
Protractor survival guide
Protractor survival guideProtractor survival guide
Protractor survival guide
 
Web app with j query & javascript (5:4)
Web app with j query & javascript (5:4)Web app with j query & javascript (5:4)
Web app with j query & javascript (5:4)
 
AngularJS Basics
AngularJS BasicsAngularJS Basics
AngularJS Basics
 
Getting the-native-feel
Getting the-native-feelGetting the-native-feel
Getting the-native-feel
 
Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
 

More from Russ Fustino

Algorand August Release
Algorand August ReleaseAlgorand August Release
Algorand August ReleaseRuss Fustino
 
Intro to Blockchain 2020
Intro to Blockchain 2020Intro to Blockchain 2020
Intro to Blockchain 2020Russ Fustino
 
Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Russ Fustino
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowRuss Fustino
 
Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Russ Fustino
 
Algorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersAlgorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersRuss Fustino
 
The Algorand Blockchain
The Algorand BlockchainThe Algorand Blockchain
The Algorand BlockchainRuss Fustino
 
The Algorand Blockchain Decentralized and for Developers
The Algorand Blockchain  Decentralized and for DevelopersThe Algorand Blockchain  Decentralized and for Developers
The Algorand Blockchain Decentralized and for DevelopersRuss Fustino
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms Russ Fustino
 
Building Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsBuilding Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsRuss Fustino
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoRuss Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!Russ Fustino
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Russ Fustino
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastRuss Fustino
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingRuss Fustino
 

More from Russ Fustino (16)

Algorand August Release
Algorand August ReleaseAlgorand August Release
Algorand August Release
 
Intro to Blockchain 2020
Intro to Blockchain 2020Intro to Blockchain 2020
Intro to Blockchain 2020
 
Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to know
 
Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0Intro to Blockchain for Developers using Algorand 2.0
Intro to Blockchain for Developers using Algorand 2.0
 
Algorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developersAlgorand blockchain basics, decentralized and for developers
Algorand blockchain basics, decentralized and for developers
 
The Algorand Blockchain
The Algorand BlockchainThe Algorand Blockchain
The Algorand Blockchain
 
The Algorand Blockchain Decentralized and for Developers
The Algorand Blockchain  Decentralized and for DevelopersThe Algorand Blockchain  Decentralized and for Developers
The Algorand Blockchain Decentralized and for Developers
 
Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
 
Building Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer ToolsBuilding Blockchain Solutions with Algorand Developer Tools
Building Blockchain Solutions with Algorand Developer Tools
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcast
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error Reporting
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

JavaScript for ASP.NET programmers (webcast) upload

  • 1. RUSS FUSTINO HEAD OF DEVELOPER EVANGELISM @russcamtv russf@componentone.com www.componentone.com/russcam JavaScript for the ASP.NET Developer Chris Bannon - @Wijmo PM @b4nn0n chris.bannon@componentone.com
  • 2. ABOUT ME Head of Developer Evangelism at ComponentOne Former Microsoft Developer Evangelist Windows 8 Key Influencer Social Media and Video Production Expert INETA Lifetime Achievement Award Winner
  • 3. WHY USE JAVASCRIPT AND HTML5? • 61% leave a site if it is not mobile-ready • 79% search for another site • 48% said if a site didn‟t work on a mobile device, they didn‟t feel the company valued their business • Bottom line… there is a real world business need for mobile ready sites • * Source Google Blog
  • 4. HOW DO I USE MY SKILL SET AS AN ASP.NET DEVELOPER, TO A PROGRAM IN JAVASCRIPT? • What is the pain solved using JavaScript anyway? • How do I use AJAX in JavaScript? • Are there „built in‟ libraries available? • How do I use third party controls? • What about data binding? • What about frameworks?
  • 7. HOW DO I GET FROM THIS… ASP.Net Ajax Controls VS Controls Third Party Controls MVC
  • 10. WHAT EXACTLY IS AJAX? Ajax == Asynchronous JavaScript and XML Ajax is really a set of technologies working together:  XHTML and CSS for markup  DOM for display and interaction  XML and XSLT for data interchange & manipulation  JSON for marshalling objects  XMLHttpRequest for asynchronous communication  JavaScript for tying it all together  Allows us to load data from the server without a browser page refresh
  • 12. JQUERY • Javascript is HARD • jQuery is a Javascript library that makes Javascript easier • Simplifies DOM spelunking • Handles browser differences • Provides a key shortcut “$” • Download from jquery.com • The jQuery library has a full suite of functions and methods for AJAX capabilities. • Hosted on CDN
  • 13. JQUERY SYNTAX • $(selector).action() • $ references jQuery; (selector) queries the DOM element or elements; and .action() performs an action on the element. • Examples of jQuery syntax: ◾$(this).hide() hides the current element. ◾$("p").hide() hides all paragraphs. ◾$("p.wow").hide() hides all paragraphs of the class "wow". ◾$("#wow").hide() hides an element with the id of "wow".
  • 17. JQUERY UI •UI controls built on top of jQuery •All open source •Download from jqueryui.com •Hosted on CDN
  • 18. HOW JQUERY UI WORKS HTML Widget jQueryUI HTML JS CSS
  • 23. • HTML5 • jQuery / jQuery UI • jQuery Mobile • CSS3 • SVG • Knockout • Angular JS • Breeze JS WIJMO IS OUR CORE CLIENT-SIDE FRAMEWORK BUILT ON WEB STANDARDS HTML5 TECHNOLOGY
  • 24. • ASP.NET WebForms • ASP.NET MVC • JavaScript/jQuery/HTML5 • Any Platform (PHP, Rails, etc) • Studio for ASP.NET • LightSwitch WIJMO IS ONE TECHNOLOGY FOR ALL DEVELOPMENT OLOGY
  • 25. • Cross-browser support • IE6+, Firefox, Chrome, Safari • Tablets • Mobile Phones • Windows 8 WIJMO WORKS EVERYWHERE WORKS EVERYWHERE
  • 26. WIJMO • Enhanced controls built on top of jQueryUI • Created by ComponentOne • Two Commercial versions • Wijmo Professional • Wijmo Enterprise • Download from wijmo.com • Hosted on CDN • All widgets adapt automatically to jQueryUI or jQuery Mobile
  • 27. MORE OPTIONS, EVENTS AND METHODS
  • 29.
  • 30. DEMO Wijmo Windows Phone 8 HTML5 Adaptive Widget framework
  • 31. KNOCKOUT.JS • MVVM Support • Declarative Bindings • Observables • Live Data • Supported in every widget • It‟s Optional
  • 32. WHAT IS MVVM? • Model • The Model encapsulates the domain model, business logic and may include data access. For Example a Customer object contains properties for Name and Address. • View • The view is the application‟s User Interface (UI). It defines the appearance of visual elements and controls such as text boxes and buttons. • View Model • The view model is responsible for holding application state, handling presentation logic and exposing application data and operations (commands) to the view such as LoadCustomers and SaveCustomers. It acts as the intermediary between the view and model.
  • 33. 3 STEPS FOR USING KNOCKOUT WITH WIJMO • 1. Add references to the latest jQuery dependencies, Wijmo widgets, Knockout .js file, and KO extension library for Wijmo. • 2. Create the ViewModel and View: add JavaScript to define the data and behavior of the UI, and add markup to create the View—the visual, interactive UI. • 3. Bind the Wijmo widget(s) to the ViewModel and activate KO.
  • 35. KNOCKOUT OR ANGULAR? • Knockout is just about data binding • Knockout is solid, very widespread, and reliable. • Fully supported by Wijmo • Angular is a presentation framework…. • Routing • Animations • View orchestration • Dependency management • Data binding • Fully supported by Wijmo
  • 36. COMPONENTONE SPECIAL OFFERS • See: • http://www.componentone.com/SuperPages/SpecialOffers
  • 37. • Responsive Design is important • jQuery makes JavaScript programming easier • jQuery UI makes using widgets and effects easier • Wijmo exposes more options, methods and events on top of jQuery • Great Wijmo support is available! • All Wijmo widgets work with jQuery Mobile • HTML5 clients are proliferating • Knockout and Angular are great for developers coming from .NET • Download Wijmo! www.Wijmo.com/downloads SUMMARY
  • 38. RESOURCES AND CONTACT INFO • Email: russf@componentone.com • Twitter: @russcamtv • Blog: http://our.componentone.com/author/rfustino/ • Facebook: http://www.facebook.com/russellcamtv • Daily News: http://russcam.componentone.com • Wijmo MVVM Support http://wijmo.com/widgets/mvvm-support/ • Download Wijmo http://wijmo.com/downloads/ • Knockout http://knockoutjs.com/ • Chris Bannon (Wijmo) Blogs: http://wijmo.com/posts/ http://our.componentone.com/author/c1_chrisb/

Editor's Notes

  1. Sessions are packed
  2. AJAX, jQueryWijmoKnockout
  3. AJAX, jQueryWijmoKnockoutKendo UIIgnite UIBootstrap
  4. AJAX, jQueryWijmoKnockoutKendo UIIgnite UIBootstrap
  5. Ajax == Asynchronous JavaScript and XMLAjax is really a set of technologies working together:XHTML and CSS for markupDOM for display and interactionXML and XSLT for data interchange & manipulationJSON for marshalling objectsXMLHttpRequest for asynchronous communicationJavaScript for tying it all together
  6. jQuery easily selects DOM element(s) and performs some action on the selected element(s).
  7. Svg = scale vector graphics
  8. No other competitor has a single tool across all of these tools.
  9. Meet the new Adaptive Widget framework from Wijmo. All of our widgets will automatically adapt to jQuery Mobile or jQuery UI environments. Simply by swapping out jQuery UI for jQuery Mobile, you can convert your widgets to be mobile without changing a single line of code! That’s right, Wijmo 2013v1 supports both jQuery UI and jQuery Mobile including both Themerollers and Themes. Wijmo is offering something that no other tool can: a set of widgets that automatically adapts to its environment.
  10. MVVM is a software architectural design pattern that supports data binding and a separation of concerns.
  11. http://www.johnpapa.net/compare-durandal-to-angular-not-knockout-to-angular/AngularJS is Google's framework for developing Web applications. Angular provides a number of essential services that work very well together and were designed to be extensible. These services include data-binding, DOM manipulation, routing/view management, module loading, and more.
  12. Wijmo Professional includes the following ($495/$795) now (20% off)Wijmo Enterprise includes everything in Wijmo Professional plus SpreadJS ($895/$1195)