JAVASCRIPT WITH A VIEW Jordan Knight Solution Architect Xamling SESSION CODE: WEB305 (c) 2011 Microsoft. All rights reserved.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Preface Demo A Quick Thank You How Did We Do It?
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
MVC - LESSONS LEARNT FROM BEING BURNT Malcolm Sheridan - Quantitative Project Leader ANZ SESSION CODE: #WEB306.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
BI AND REPORTING USING PROJECT SERVER AND SHAREPOINT Marc Soester Managing Director IPMO Pty Ltd SESSION CODE: OFS311 (c) 2011 Microsoft. All rights reserved.
NEW WINDOWS PHONE “MANGO” APPLICATION PLATFORM SERVICES Chris blog.walshie.me SESSION CODE: WPH304 (c) 2011 Microsoft. All rights.
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
BUILDING HYBRID APPS WITH DYNAMICS CRM & WINDOWS AZURE Guy Riddle & George Doubinski Dynamics CRM MVP’s SESSION CODE: DEV-DYN-MID306 (c) 2011 Microsoft.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Connect with life Connect with life
NEXT: Overview – Sharing skills & code.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
DISPOSABLE ARCHITECTURE Daniel Beaty Disposable Architect Objectify/Xamling DisposableArchitect.com SESSION CODE: #ARC-MID204 (c) 2011 Microsoft. All.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
WINDOWS PHONE FIRST UP/ ALL UP Nick Randolph (Built to Roam) Dave Glover (Microsoft) SESSION CODE: #WPH202 (c) 2011 Microsoft. All rights reserved.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Please visit m.ausalgo.com on your device and sign inm.ausalgo.com.
demo Instance AInstance B Read “7” Write “8”

customer.
CONNECTING PHONE APPLICATIONS TO THE CLOUD Nick Randolph (Built to Roam) SESSION CODE: COS-WPH208 (c) 2011 Microsoft. All rights reserved.
INTRODUCTION TO WINDOWS AZURE APPFABRIC COMPOSITE APPLICATIONS Lewis Benge Creative Technologist Whybin\TBWA\Tequila SESSION CODE: COS-MID306.
CROSS PLATFORM MOBILE APPLICATION DEVELOPMENT Nick Randolph (Built to Roam) SESSION CODE: DEV-WPH314 (c) 2011 Microsoft. All rights reserved.
AUTOMATING DAAS DESKTOPS WITH CITRIX CORTEX Tony Sanchez WW Alliances Solutions Architecture Citrix Systems Inc SESSION CODE: CLI415 (c) 2011 Microsoft.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
KILLER REAL-WORLD POWERPIVOT EXAMPLES Grant Paisley SQL Server MVP Angry Koala SESSION CODE: DAT303 (c) 2011 Microsoft. All rights.
2 Screens and A Cloud, Without Being Cut! An MMO in 45 Minutes DEV305.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Dynamics AX 2012 Accounting 101 Soheil Aghazadeh Certified Master, MCT, Microsoft Dynamics AX Functional & Technical Consultant, Senior Solution Architect.
UNLOCK THE POWER OF USER DEVICE AFFINITY IN SCCM 2012 James SESSION CODE: #SEC309.
CREATING CUSTOM WINPE 3.0 BOOT IMAGES Johan Arwidmark Chief Technical Architect Knowledge Factory SESSION CODE: CLI303 (c) 2011 Microsoft. All rights.
POWERSHELL ABOVE AND BEYOND: GUIS, WORKFLOWS, AND MORE Dean Corcoran Partner Service Account Manager (Cloud) – MCT – MCITP:EA Microsoft Australia SESSION.
MULTI-TASKING AND APPLICATION SERVICES IN WINDOWS PHONE 7.5 Chris blog.walshie.me SESSION CODE: WPH305 (c) 2011 Microsoft. All rights.
OVER THE FENCE DESIGNER DEVELOPER WORKFLOW Jordan & Alex Knight Directors Xamling SESSION CODE: DEV203 (c) 2011 Microsoft. All rights reserved.

OFFICE DEPLOYMENT FOR THE ELITE Yoni Kirsh Managing Director Fastrack Technology SESSION CODE: OFS308 (c) 2011 Microsoft. All rights reserved.
THE SOURCE OF 4 TH & MAYOR: CODE, HACKS, TRICKS Jeff Wilcox Senior Software Development Engineer Microsoft SESSION CODE: WPH308 (c) 2011 Microsoft. All.
HETEROGENEOUS DEVELOPMENT WITH VISUAL STUDIO 2010 Mitch Denny Chief Technology Officer Readify SESSION CODE: #DEV307 (c) 2011 Microsoft. All rights reserved.
Возможности Excel 2010, о которых следует знать
Domain Driven Design, Domain Events and Unit Testing
Chasing the evolving web
MAP & ACT Pre deployment planning for Windows 7 or Server 2008 R2
What’s new for Silverlight & XNA developers in Windows Phone Mango
(c) 2011 Microsoft. All rights reserved.
Jordan Knight Solution Architect - Xamling
(c) 2011 Microsoft. All rights reserved.
Migrating your applications to Azure
The Essential Windows Azure Developers Toolkit
Silverlight Debugging
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Hyper-V server deployment - Using the right tools
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
(c) 2011 Microsoft. All rights reserved.
(c) 2011 Microsoft. All rights reserved.
Шитманов Дархан Қаражанұлы Тарих пәнінің
Build /27/2019 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Sessions about to start – Get your rig on!
Presentation transcript:

JAVASCRIPT WITH A VIEW Jordan Knight Solution Architect Xamling SESSION CODE: WEB305 (c) 2011 Microsoft. All rights reserved.

Hello! ► Solution Architect – Xamling – ► ► Silverlight MVP (c) 2011 Microsoft. All rights reserved.

The new black is HTML based apps ► One app – may devices – Extremely attractive for mobile projects ► Can run as if a native app – Upload to the various “app stores” – PhoneGap is great for this – Access contacts, GPS, camera – pretty much everything ► Most of the time users don’t even know it’s a HTML based app! (c) 2011 Microsoft. All rights reserved.

The rise of HTML5 JavaScript + CSS3 ► Can you build me a HTML5 app? – Sure, but it wont use much HTML5 ► HTML5 has some great stuff – But it’s not behind the current rise in advanced client apps to the extent perceived ► It’s all about how awesome CSS3 and JavaScript have become – Excellent CSS3 support + hardware acceleration – Fast JS engines (c) 2011 Microsoft. All rights reserved.

JavaScript Simultaneously the least and best known language on the planet ► Understood to so many differing levels in the wild – Every web developer knows JS inside out right? – Easy to master? ► Can be perceived as a toy language ► It’s not – far from it – It’s a functional dynamic language that is simply amazing – It’s incredibly powerful, with many ways to achieve the same goal ► But that’s the problem – too adaptable – It’s so dynamic, it’s easy to do stuff wrong (c) 2011 Microsoft. All rights reserved.

jQuery– the pattern breaker ► jQuery is fantastic – But it makes it so easy to fall in to bad coding practices – (JavaScript in general has this problem) ► $(“#someNode”).click = function() = BAD – As is $(“x”).animate,.css,.blah ► I’d even suggest that $(“selector”) does more bad than good – most the time – Your code should never know about the HTML! ► And that’s just the tip of the iceberg… (c) 2011 Microsoft. All rights reserved.

What to do then? ► The aim is to: – Make it really easy for developers to learn your codebase – Simplify and reduce code and mark-up – Code and design nicely separated – Get away from JSisms and other issues that commonly cause problems (c) 2011 Microsoft. All rights reserved.

All this equates to ► Separation of concerns ► Moving towards declarative mark-up ► State management – View state / animation ► View Selection – Including navigation and transitions (c) 2011 Microsoft. All rights reserved.

Model-View-ViewModel ► Declarative, Two-Way Data Binding ► Observes changes to data – Pushes updates from VM to View ► Works well with templates (client side) ► Knockout.js – (c) 2011 Microsoft. All rights reserved.

A QUICK LAP AROUND MVVM + KNOCKOUT DEMO (c) 2011 Microsoft. All rights reserved.

View Selection and Navigation ► Modern web apps have one page – No trips to the server to get more markup ► Need to navigate to different “views” – E.g. product detail view, login view ► A view displays the data exposed from a view-model – Need a mechanism for choosing what to show ► What would you navigate to? – The view of the view-model? (c) 2011 Microsoft. All rights reserved.

VIEW SELECTION AND NAVIGATION DEMO (c) 2011 Microsoft. All rights reserved.

View states ► It’s common for JavaScript to manipulate the state of the HTML – Add/remove CSS classes, move items around, animate etc. – This isn’t a fantastic idea ► States need to be maintainable and well known – … should be controlled from the ViewModel (go to state x) – … should be implemented in the View (e.g. HTML + CSS) ► In parallel workflow, states are paramount – Known states on both sides (design and develop) can really help move things along (c) 2011 Microsoft. All rights reserved.

VISUAL STATES DONE RIGHT! DEMO (c) 2011 Microsoft. All rights reserved.

Recap ► Knockout.js for MVVM – ► VM first navigation – Automatic template selection – Automatic transition / controlled by states + CSS – Easy history ► State management – Use a state manager style pattern – Push your view manipulation to where it should be - CSS (c) 2011 Microsoft. All rights reserved.

Thanks!! ► ► (c) 2011 Microsoft. All rights reserved.

Enrol in Microsoft Virtual Academy Today Why Enroll, other than it being free? The MVA helps improve your IT skill set and advance your career with a free, easy to access training portal that allows you to learn at your own pace, focusing on Microsoft technologies. What Do I get for enrolment? ► Free training to make you become the Cloud-Hero in my Organization ► Help mastering your Training Path and get the recognition ► Connect with other IT Pros and discuss The Cloud Where do I Enrol? Then tell us what you think.

Sessions On-Demand & Community technet.microsoft.com/en-au Resources for IT Professionals Resources for Developers Microsoft Certification & Training Resources Resources (c) 2011 Microsoft. All rights reserved.

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. (c) 2011 Microsoft. All rights reserved.