Windows 8 Store Applications: Clash of HTML5 and XAML

Doncho Minkov Technical Trainer http://minkov.it Telerik Software Academy http://academy.telerik.com Table of Contents

 HTML5 and XAML  History and features

 Windows Store Applications  Platform targeted or multiplatform About me

 Doncho Minkov  Technical Trainer @ Telerik Software Academy  Experience in web technologies  Organizer of HTML5 and JavaScript courses in the Software Academy  A fan of WPF and XAML, lately of

 Web site and blog: http://minkov.it

 Twitter: @donchominkov Telerik Software Academy

 Telerik Software Academy is an initiative of Telerik Corp.  Free trainings for software development  Five main tracks  Web, Mobile and Desktop Software Development  Software Quality Assurance  School Academy  AlgoAcademy  Kids Academy What is HTML 5? In a few words HTML 5

 HTML5 is  The next version of HTML  Started 2004, finished… near future  A ready feature set from 2012  A set of CSS and JavaScript APIs

 HTML5 is actually just a marketing name  HTML5 means extended HTML, CSS and JavaScript HTML5

 HTML5 includes, but not limits to:  Canvas API for creating 2d drawing dynamically with JavaScript  A OpenGL-based technology (WebGL) for developing dynamic 3d drawing  Multimedia support for timed media playback  Both audio and video  Parallel programing using dedicated WebWorkers  And many many more HTML5  Since HTML5 is a web standard, it is currently the only technology running multi-platform  All kinds of applications can be developed with HTML5:  Web apps, using a tiny server layer  Mobile applications  Using PhoneGap for iOS, Android and BlackBerry  Native for WindowsPhone and Mozilla OS  Windows Store Applications HTML5 in Windows? HTML5 in Windows?

 Why did allowed a development of native apps with HTML5?  HTML5 is the popular guy, everybody wants to hang out with the popular  HTML5 has a really large community  HTML5 is a pretty good platform for developing applications WinJS  WinJS development platform for creating Windows Store Applications  Uses Model-View-ViewModel as architectural design pattern  Support for 99% of the HTML5 features  First class JavaScript support  Access to all device hardware like GPS and Camera  Yet WinJS is a new thing  It is not yet a mature XAML XAML

 XAML stands for eXtensible Application Markup Language

 Developed by Microsoft for building the UI of desktop applications

 XAML is very similar to HTML, yet it is was much more powerful UI platform

 XAML gets parts inside the core of Windows 7 and Windows 8  It is the more native way of creating Windows applications History of XAML  Introduced in 2006 with .NET 3.0  Windows Presentation Foundation (WPF)  WPF is "the new way" to create desktop apps  Silverlight is introduced in 2007  Under the name WPF/E - WPF Everywhere  Lately used in WindowsPhone 7  Away from Web, thanks to HTML5  (WinRT) introduced in 2011  Used for Windows 8 Store apps What XAML offers?

 XAML is a mature platform  Grown with 5 versions of WPF and 5 versions of Silverlight  XAML introduces a pretty good data-binding  Multiplied by a new property system (dependency and attached properties)  A very clear separation of concerns through the Model-View-ViewModel design pattern  Resolution independent graphics XAML vs. HTML5 XAML or HTML5

 Here comes the philosophical question:  HTML5 or XAML?

 As with many thing in software development, the answer is "It depends"  Both XAML and HTML5 have pros and cons Platform Dependency

 WinJS is HTML5  It is platform independent  Formally said, a few changed lines of CSS and we have an application portable for PhoneGap

 XAML is Windows tech  Available only on Windows, not portable to other OS Community

 Both HTML5 and XAML have quite large communities  HTML5 gained its popularity through web, but still this community can be used for WinJS  XAML has MSDN and big enough community to find pretty much everything you need Preferences

 All in all with WinJS and with XAML can be done pretty much the same things  Now it comes to preferences  Do you like Web or XAML?

 WinJS is created that every web front-end developer can build an app  That way the WinJS community Which one to learn and master?

 XAML has a high learning curve  And XAML is a closed platform and is specific  XAML can be used only in Windows

 HTML5 on the other hand is the language of the Web  It is platform independent and be used everywhere Bottom Line

 If you have experience with WPF/Silverlight  Use XAML for Windows 8 store development

 If your expertise is focused on the Web  Use HTML5 and WinJS

 If you don’t have knowledge of either I prefer WinJS  JavaScript will stick many years to come  Mastering WinJS will give you experience to develop applications for other platforms Windows 8 Store Applications: Clash of HTML5 and XAML

курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезания курсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# безплатен курс "Качествен програмен код" Николай Костов - блог за програмиране безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно Free Trainings @ Telerik Academy

 Web Design and UI Technologies @ Telerik Academy

 html5course.telerik.com

 Telerik Software Academy

 academy.telerik.com

 Telerik Academy @ Facebook

 facebook.com/TelerikAcademy

 Telerik Software Academy Forums

 forums.academy.telerik.com