Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Those books are great, but they only start to make sense after you've been doing development for a few years. Its very hard to get any kind of 'buy in' with those when you are just getting started.

I disagree that application development and web development are similar. When you build web apps like 'real' applications, you end up with all those heavy java frameworks. And god help your sanity if you ever been subjected to the code of a desktop application written by a web developer.



I dunno about that. The bulk of an app should be business logic, or you are just plumbing / churning our boiler plate. Behind that theres some infrastructure, or connections to external systems, websites, file IO, hardware, databases. All that is not going to look much different, if you are doing it right. The only difference between a web app and a desktop app, is the presentation layer which should be as thin as possible, and whatever is hosting it, i.e. a framework, an executable.

In fact most of the real apps I have been working on lately aren't one or the other, they are a mix. Basically a core of domain logic, with thin patches of external interface exposing it. A web page here, a web service there, a desktop app over there, a server here.

And the line between is getting fuzzier. I hear some places are standardizing on technologies like Flex that can be either web apps or desktop apps depending on configuration.

If I understand you correctly you are implying that web apps don't need to have as clean a design as desktop apps. I am not sure if that is what you mean, but if it is, then you are going have the same trouble with maintenance as a product matures if you ignore e.g. SOLID principles, separation of concerns etc, whether it is a desktop or web app. And you don't need any "heavy java frameworks" either. If anything web frameworks like rails encourage a cleaner design (ie via MVC) than typical desktop tools like what C# developers might use to make an app.




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

Search: