I like WinJS it's quick and easy to install and use.
I am doing a Windows Store app using WinJS because I didn't want to learn xaml.
If my app is popular however I will have to rewrite the system using something like cordova, so that the code can be ported to android, apple, unix as well as windows.
TPromise<T>is really just
PPromise<T, any>, but they are not assignable to each other
I'll agree, PWAs/electron apps can be laggy because phones are not powerful enough, but I think that is the biggest drawback. Once WebAssembly gets stable enough and supported and phones are a bit more powerful, I think it will be there.
I mean, even Windows is pushing towards this way with CShell and having the same responsive experience across all devices: desktop, xbox, hololens, phone