A lot had been said lately about Windows 10 and even UWP development model and all the story off the new app model had been almost 90% of times told using XAML as the main language.
I think this has been done this way essentially (also taking my example in the talks and seminars about UWP I had been done lately) because is easier to explain the changes and the Architecture of Windows 10 using C# and XAML. Something that as been in the air and some architects and developers heads is what had happen to Language projection system and the availability to build native apps using HTML and javascript as the main development language?
The image above illustrates in a simplified way the form how Windows 8.1 development model was organized when we talk about Universal Windows Store APPS, nowadays the support had been maintained but the target of our development had become the Universal Windows Platform.
The good news is that all the development techonologies and the hot feature of having HTL and Javascript as a equal citizen on the Windows platform development had been maintained, also the support for the development using C++.
This is great because there are apps where Xaml is great and a way to go and then there are other type off apps where HTML and JavaScript can have greater benefits. What had change was the introduction of the UWP and the change of or development target.
Now that we have already clean up the noise in the air and had read the good news let’s talk about the great news J.
Last Month had been launched WinJS 4.0 with Is great once we have Windows 10 almost in all our pc’s.
WinJs 4.0 full supports Windows 10 features and take benefits from the One Platform features, but was been released with support to the latest versions of the Browsers including the new Microsoft Edge.
Besides off performance and new controls from my point off view the biggest improvements of WinJS 4.0 is the wrappers available over other great JavaScript technologies such as:
And off course being a Javascript platform it also supports the interaction with other great script libraries like JQuery or TypeScript.
New blocks on the playground
The WinJs also brings some new control blocks like:
PivotCostumer header areas;
SplitViewToggle Control: Supports Pane Style navigation pattern over SplitView;
New visual for the Hub Control;
At the structure level had been also some changes with WInJS 4.0 we must opt-in to styling each element we create in place of using new attributes only available at the WinJs Universe. Can look like a small change but this feature brings a lot of benefits especially in terms of other libraries compatibility and easier usage off CSS native cascating mechanism.
One new best practice that is directed related with the UWP and the vast type of devices supported in Windows 10 is the usage off the plataform detection using the WinJS instruction WinJS.Utilities.isPhone, nowadays this should be made detecting the capabilities available in the device or by adaptative development.
Other fantastic news is that the product team of WinJS had open moe than ever to the communities the information about the state off the art, so you have a changelog that is updated in real time on https://github.com/winjs/winjs/wiki/Changelog and they are already working on version 4.0.1.
You can get the latest version of WinJS for web from http://try.buildwinjs.com/#get or for apps from the SDK.
Some Things that worth your attention
Like in the past there still some Controls that exist on XAML that are not available on WinJS for the same reasons happening in the past is the case off the calendar or datepicker.
As the top reason Product Group Team said that for this kind of technology theres so many options
there are some great references for WinJS 4.0:
Winjs everywhere: http://blogs.windows.com/buildingapps/2014/09/17/winjs-everywhere/
Try WINJS: http://try.buildwinjs.com/#get:v4-0-1
ChangeLog WinJS: https://github.com/winjs/winjs/wiki/Changelog
A preview to WinJS 4.0: http://blogs.windows.com/buildingapps/2015/03/27/a-preview-of-winjs-4-0/
So take some action and strat building with WinJS 😉