We launched a SPA lately that has been both the most complex project and the largest team that I’ve worked on to date and we’ve had a really terrific time with some new tooling that I’d like to share. All of these tooling changes are fairly easy to adopt in any new SPA and have greatly eased some of the pains associated with the development of a typical SPA.
Subscribing to a ko.computed isn’t the same thing as subscribing to a ko.observable. Ryan Niemeyer has written on the topic and I’ll admit, it took me a while to wrap my head around it. I’ll go over the problem and how we bypass it, but the end result is really handy and reusable: a new ‘efficientlySubscribe’ method that is a part of all ko.computed’s.
Sprites have always been great for web development but it was a significant undertaking to actually implement them – Not anymore though!
Most developers I know didn’t bother implementing them because of the pain associated with maintaining your sprite and the css classes. Sure you could use an online generator but that was a pain because it wasn’t a super simple process to add / remove images. You’d have to go to a site like css-sprit.es or csssprites.com and upload all your images and then update the project with the updated sprite and css. Bleh, that’s a huge pain. Don’t get me wrong, those sites were extremely useful for those that had to use them, but all this stuff should be done for us nowadays.
I love the idea of sprites but this was too much work, thankfully Microsoft came up with an awesome NuGet package that will probably be a part of MVC4!