Your SlideShare is downloading. ×
2012 MCT Summit Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

2012 MCT Summit Presentation

267
views

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
267
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
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