Hacker News new | ask | show | jobs
by jiggy2011 4523 days ago
If you write without a framework and you want to create robust programs, you're going to spend a lot of your time learning to deal with deficiencies of the web which you wouldn't have to worry about if you were learning native mobile or desktop development.

Do we really want to force people into learning how to wrangle strings from an <input> field into valid dates or how to manually CSRF proof their forms to do basic web-dev?

1 comments

Well I think that a beginner should try to do this by hand at first. Not necessarily in a production application, but to learn how it works.

The difference between Web development and desktop development is the HTTP protocol which is responsible for security issues and other behaviors (sessions, cookies) that you need to understand if you want to build solid applications.

Just the difference between client and server side validation is often not understood by beginners, which is a big problem.

If somebody rely on the framework to do all the job, he's going to have security issues in his applications and other weird behaviors (double submit when refreshing a page, etc.)

If somebody wanted to learn Desktop GUI programming we wouldn't usually tell them to learn the low level APIs for drawing rectangles on the screen or manually handling keyboard input, we would point them to a framework and widget toolkit for the platform.

The point of a good framework should be to pave over the cracks like double submit bugs, since they are not really things than anybody should be wasting brain cells on.

I disagree on that point. Web development is not the same as Desktop dev. Because HTTP is something you should know if you want to code solid and secure Web applications. If you don't know how it works, you'll end up with forms validated only with JavaScript, double submit because people are loading pages, etc.