Simon Willison’s Weblog

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

My answer to Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect? on Quora

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this: http://www.joelonsoftware.com/ar...

So pick a modern framework, but make sure you’re learning how web technology works. You need to understand all aspects of HTTP, including cookies, caching, content negotiation etc. You need to understand web application security: XSS, CSRF, the OWASP top ten. You need a very solid appreciation of front end development technologies—CSS, HTML, JavaScript—even if you don’t specialise in front end engineering most backed decisions you make need to take these in to account.

Then there are the systems architecture concerns: persistence, sharing, replication, when and where to apply both SQL and NoSQL technologies, load balancing and so forth.

The web framework you use ends up being a relatively small part of the overall problem—it’s just the bit that passes an incoming HTTP request through to your custom code, then hands the resulting response back again.

So as long as you pick something that doesn’t prevent you from getting stuck in to the underlying details (a closed source framework would be a bad idea here) you should be fine.

This is Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect? by Simon Willison, posted on 18th January 2012.

Tagged , , , , , , ,

Next: As a first timer, what are the best tips while flying business class to get the most value?

Previous: How is JSON different then a JavaScript (programming language) object?