0
Deep Dive into WinJS                   Dmitri Artamonov                 dmitria@bluemetal.com                       @darta...
Introductions • Your name • Web, client or other? • What’s drawing you towards WinJS?   MCT Summit North America | October...
Agenda •   Introductions •   Under the hood •   Place in the universe •   Patterns and practices •   Integration with ente...
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Under the hood •   Language projections •   Connected to same WinRT components •   Hardware-accelerated JS technology from...
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Where does it fit? •   Rapid Development •   Reuse web monkeys •   Better view surface on top of C# logic •   Large existi...
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Other Libraries •   jQuery •   Graphing and Charting •   Knockout.js •   You can even create apps without WinJS     MCT Su...
Patterns - Promises •   Async pattern •   function – then – done •   Still a single thread! •   Careful accessing resource...
Patterns – MVVM… •   No encapsulation of actions •   Bloated VMs •   Implementation – one context per view •   No two-way ...
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Patterns - MVC • Standard web pattern for ~17 years • Controllers for user input • AM/DM conversion with namespaces and   ...
Demo - MVCMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Patterns - Regions • Data contexts defined for individual DOM   elements • data-win-bind and data-win-bindsource • Declara...
Patterns – Modules and DI • Information hiding done via modules • Anonymous self-executing function with   parameters • Co...
Patterns – .winmd components •   C# good at logic and model manipulation •   Use it, expose data via component to WinJS • ...
Patterns - Dynamic code loading •   Deploy once, keep updating •   Forbidden by security for the Windows Store •   Uses ex...
Practices – Blend design process • Blend with WinJS • No broken module references or .targets files • True handoff from de...
Demo – Blend with JavascriptMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Integration with Enterprise Systems •   File Picker API - fluid file system •   Roaming API – unified experience •   Share...
Demo – Executive DashboardMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Enterprise Store (unofficial) • Private store for the enterprise • Enterprise machines can deploy from fixed set   of apps...
MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
Managing WinJS - Costs •   Training •   Design – Blend! •   Development •   Testing •   Deployment •   Maintenance     MCT...
Managing WinJS (cont’d) • What happens to legacy C# apps? • How to migrate legacy web applications to   Windows 8? • Writi...
A Big Thanks to our Sponsors                      Platinum Sponsor                          Gold SponsorsMCT Summit North ...
Questions? • WinJS Samples:   http://code.msdn.microsoft.com/windowsapps/   Windows-8-Modern-Style-App-Samples • BlueMetal...
Upcoming SlideShare
Loading in...5
×

2012 mct summit presentation final

336

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
336
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Less training with web monkeys and designers who already know HTMLDesign process with blend actually worksDevelopment is easier and iterativeTesting can be easily done with dependency injection modulesDeployment is dead simple – Windows StoreMaintenace – just HTML/JS
  • Transcript of "2012 mct summit presentation final"

    1. 1. Deep Dive into WinJS Dmitri Artamonov dmitria@bluemetal.com @dartamonMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    2. 2. Introductions • Your name • Web, client or other? • What’s drawing you towards WinJS? MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    3. 3. Agenda • Introductions • Under the hood • Place in the universe • Patterns and practices • Integration with enterprise systems • Managing WinJS development MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    4. 4. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    5. 5. Under the hood • Language projections • Connected to same WinRT components • Hardware-accelerated JS technology from IE • Will WinJS evolve away? • Windows Phone 8 MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    6. 6. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    7. 7. Where does it fit? • Rapid Development • Reuse web monkeys • Better view surface on top of C# logic • Large existing ecosystem for developers • Cheaper UI design process MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    8. 8. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    9. 9. Other Libraries • jQuery • Graphing and Charting • Knockout.js • You can even create apps without WinJS MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    10. 10. Patterns - Promises • Async pattern • function – then – done • Still a single thread! • Careful accessing resources not yet returned MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    11. 11. Patterns – MVVM… • No encapsulation of actions • Bloated VMs • Implementation – one context per view • No two-way bindings in WinJS • Bindings in WinJS require knowledge of View MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    12. 12. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    13. 13. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    14. 14. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    15. 15. Patterns - MVC • Standard web pattern for ~17 years • Controllers for user input • AM/DM conversion with namespaces and classes • Classes and namespaces are observable • Multiple contexts – regions… MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    16. 16. Demo - MVCMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    17. 17. Patterns - Regions • Data contexts defined for individual DOM elements • data-win-bind and data-win-bindsource • Declarative and programmatic ways MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    18. 18. Patterns – Modules and DI • Information hiding done via modules • Anonymous self-executing function with parameters • Code inside module is private • Parameters allow dependency injection and testing • Data exposed via namespaces and classes MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    19. 19. Patterns – .winmd components • C# good at logic and model manipulation • Use it, expose data via component to WinJS • Access it as normal namespace/class • Take advantage of performance of C++/C# MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    20. 20. Patterns - Dynamic code loading • Deploy once, keep updating • Forbidden by security for the Windows Store • Uses execUnsafeLocalFunction • Alternatives – iframe, Fragments API MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    21. 21. Practices – Blend design process • Blend with WinJS • No broken module references or .targets files • True handoff from designer to developer MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    22. 22. Demo – Blend with JavascriptMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    23. 23. Integration with Enterprise Systems • File Picker API - fluid file system • Roaming API – unified experience • Share Contract – enterprise workflows • Tiles – enterprise dashboards • Windows Push Notification Services for communication through tile updates MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    24. 24. Demo – Executive DashboardMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    25. 25. Enterprise Store (unofficial) • Private store for the enterprise • Enterprise machines can deploy from fixed set of apps • Enforce security policies • Restores controlled enterprise environment MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    26. 26. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    27. 27. Managing WinJS - Costs • Training • Design – Blend! • Development • Testing • Deployment • Maintenance MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    28. 28. Managing WinJS (cont’d) • What happens to legacy C# apps? • How to migrate legacy web applications to Windows 8? • Writing cross-platform apps MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    29. 29. A Big Thanks to our Sponsors Platinum Sponsor Gold SponsorsMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    30. 30. Questions? • WinJS Samples: http://code.msdn.microsoft.com/windowsapps/ Windows-8-Modern-Style-App-Samples • BlueMetal Blog: http://blog.bluemetal.com • dmitria@bluemetal.com • @dartamon MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×