Using third-party frameworks/libraries when building your WinJS app
Thanks to Generation App, you’re well on your way to creating that great Windows Store app using JavaScript. Maybe you’re working with an existing web app, and you’ve explored the Windows Library for JavaScript. But what about integrating third-party frameworks/libraries?
Perhaps you’ve noticed a trend of the single-page application (SPA) model and even built your own SPA with HTML5, Knockout, and jQuery. In order to differentiate your WinJS app, you may find it valuable to leverage JavaScript frameworks/libraries for single-page and rich JavaScript application. Here’s a great post by Steve Sanderson on some of the top frameworks/libraries that are relevant to building WinJS apps:
“
A week ago was the Throne of JS conference in Toronto, perhaps the most interesting and different conference I’ve been to for a while. Quoting its website:
It’s no longer good enough to build web apps around full page loads and then “progressively enhance” them to behave more dynamically. Building apps which are fast, responsive and modern require you to completely rethink your approach.
The premise was to take the seven top JavaScript frameworks/libraries for single-page and rich JavaScript applications — AngularJS, Backbone, Batman, CanJS, Ember, Meteor, Knockout, Spine — get the creators of all of them in one location, and compare the technologies head to head.*
Disclaimer: I was there to represent Knockout, so obviously I’m not neutral. In this post my focus is on what the creators said about the scope and philosophy of their technologies, and not so much on whether I agree or disagree.
* Yes, I know that’s eight frameworks, not seven. This part was never fully explained…
TL;DR Executive Summary
- For many web developers, it’s now taken for granted that such client-side frameworks are the way to build rich web apps. If you’re not using one, you’re either not building an application, or you’re just missing out.
- There’s lots of consensus among the main frameworks about how to do it (Model-View-* architecture, declarative bindings, etc. — details below), so to some extent you get similar benefits whichever you choose.
- Some major philosophical differences remain, especially the big split between frameworks and libraries. Your choice will deeply influence your architecture.
- The conference itself was stylish and upbeat, with a lot of socialising and conversations across different technology groups. I’d like to see more like this.
”