- Code Duplication — We were using .NET for the back end and there was a lot of the same logic implemented for both .NET and Backbone.
- SEO — We had a couple publicly facing web pages where SEO was important. For those pages, I ended up implementing the same view logic and templates twice. Once in .NET for the server side rendering that was indexed by search engines. Then again in Backbone for snappy client side rendering once the app was loaded in the user’s browser.
- Performance — The initial page load was something like 6 seconds. I remember some of our corporate customers claiming it took 10 seconds or more. Even though our app was not open to the public this caused a lot of heartache.