2012 MCT Summit Presentation

  • 256 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
256
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Deep Dive into WinJS Dmitri ArtamonovMCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 2. Agenda • The C# Legacy • What’s under the hood? • Where does WinJS fit? • What’s new in WinJS? • Patterns and practices • Integration with enterprise systems • Managing WinJS development MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 3. Outside of scope • Implementation details • WinJS features common with C#/XAML • Process lifecycle management • Etc… MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 4. Away from C# to WinJS • Difference in thinking • Code organization • Available tools • Is C# now obsolete? MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 5. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 6. Under the hood • Language projections • Connected to same WinRT components • Hardware-accelerated JS technology from IE • Will WinJS evolve away? MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 7. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 8. The 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
  • 9. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 10. The Fit - Other Libraries • jQuery • Graphing and Charting • MVC • You can even create apps without WinJS MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 11. Patterns - Promises • Async pattern • function – then – done • Potentially multi-threaded • Careful accessing resources not yet returned MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 12. Patterns – MV… • MVVM had problems • Poor balancing of responsibilities • Implementation – one context per view • Mostly wasted code-behind • No two-way bindings in WinJS MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 13. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 14. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 15. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 16. Patterns - MVC • Controllers for user input • AM/DM conversion with namespaces and classes • Classes and namespaces are observable MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 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. Patterns – C# .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
  • 19. 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
  • 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. 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
  • 22. Managing WinJS - Costs • Training • Design • Development • Testing • Deployment • Maintenance MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 23. Managing WinJS (cont’d) • Legacy Applications • Browser -> WinJS != WinJS -> Browser • Code compatibility and migration • Deploying via the Enterprise Store MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 24. MCT Summit North America | October, 17th – October 20th, 2012 | Redmond
  • 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. A Big Thanks to our SponsorsMCT Summit North America | October, 17th – October 20th, 2012 | Redmond