I am just beginning to learn web development, but I am rather confused about what to invest in. I heard that server-side code translates into client-side code. So, if you have an .aspx file, it will be converted to HTML/CSS/JavaScript. I have experience with the latter three technologies put into a rather dull text file and rendered by a web browser. My question is how much HTML/CSS/Javascript coding would I have to do when server-side programming? In other words, can someone using ASP.NET program purely on the server side and not bother to write for the client side? Of course, I don’t care about server-side being translated into client-side, but I am wondering if client-side programming needs to be done explicitly and to what degree.
Share
You’ll want to learn to do your own client-side programming, it’s well worth the investment. Frameworks that do your client side programming “for you” may or may not do a good job, but at some point, you’re going to have to debug it, figure out why it’s doing what it’s doing and whether that’s a bug or a misunderstanding, etc. Rather than stumble along in the dark, invest some time in learning the client-side technologies and techniques, so you understand what the frameworks are generating for you and so you can produce better results by doing exactly what you intend on the client, on the server, and in the interface between them.
For example: I answered a question earlier about how a button on the client-side can make the browser open the “Save File As” dialog box when the user clicks it, with the file in question being custom-generated, without tearing down the page the button is in. This isn’t necessarily a massively edge case, having a means of allowing the user to download a custom-generated PDF (say) isn’t unusual at all, and enhancing the user experience for that can be useful. Without requiring Flash or similar, you’d be hard-pressed to do that elegantly, with a high-quality user experience, without knowing what’s happening on the client, what’s happening on the server, and how to get the two parts to exchange the relevant information to create the experience you want to create.