Hacker News new | comments | show | ask | jobs | submit login

While I'm excited about "modern web applications," my understanding is that they're harder to develop for and test (I haven't done one yet). If that's true, it's worth considering if the ROI is there to make your app a single-page javascript app vs how fast you can iterate via the more standard method. You may not have the traffic to where offloading rending to the client makes sense. It's likely many actions your app does are "fast enough" as well, so a rich UI experience isn't going to be a huge improvement. Reserving the highly interactive bits for where it really counts may be a better idea.

That said, it's only a matter of time before the "harder to develop and test for" goes away and rich apps will become more of the norm.

I think they're only really harder to develop in so much as it's more like developing two applications. One backend that throws out JSON/XML or whatever and a frontend in HTML/Javascript.

I actually find that bit easier, because I can separate out the the parts and worry about things a piece at a time. The other benefit of this is if you chose to develop for iOS, Android or any other platforms you already have an API. Equally if you wanted a developer program, again it's already there.

The complexity comes when you make the decision as to whether or not to support clients that can't or won't execute Javascript, if you want to make it work for them too you're stuck with more work and things do get more difficult.

As far as testing goes, there are plenty of mature javascript unit testing frameworks and if your inclined to unit test your javascript already this doesn't add a great deal of overhead. Your really just testing something in JS you would have otherwise done and tested server-side.

I have to agree with you that "developing two applications" is actually simpler, especially if your application matures and when you want start developing different kinds of clients (e.g. mobile).

However, my experience is that it still has some mayor drawbacks. Javascripts frameworks (testing and otherwise) are still less mature, then their server-side counterparts are. It is not always as obvious how things should be done. There are still lots of incompatibilities between browsers. And when an error happens you can not log it (or at least you have to do more effort).

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact