2 189
2 928
What things should a programmer implementing the technical details of a web application consider before making the site public? If Jeff Atwood can forget about HttpOnly cookies, sitemaps, and cross-site request forgeries all in the same site, what important thing could I be forgetting as well?
I'm thinking about this from a web developer's perspective, such that someone else is creating the actual design and content for the site. So while usability and content may be more important than the platform, you the programmer have little say in that. What you do need to worry about is that your implementation of the platform is stable, performs well, is secure, and meets any other business goals (like not cost too much, take too long to build, and rank as well with Google as the content supports).
Think of this from the perspective of a developer who's done some work for intranet-type applications in a fairly trusted environment, and is about to have his first shot and putting out a potentially popular site for the entire big bad world wide web.
Also, I'm looking for something more specific than just a vague "web standards" response. I mean, HTML, JavaScript, and CSS over HTTP are pretty much a given, especially when I've already specified that you're a professional web developer. So going beyond that, Which standards? In what circumstances, and why? Provide a link to the standard's specification.
Also JavaScript should also use logging or atleast capture unhandled exceptions to capture errors that occur when the site is live even on the client side. For example something similar to: www.js-analytics.com
– Morten – 2011-05-16T10:38:29.9539As an example, you don't just jump into a car and start driving. Instead, you take classes on the proper operation of that car and ultimately have to pass a test proving you can drive. For some, that takes many, many, many hours of study. And yes, I'd equate learning how to properly build a web application with learning to drive a car as failure to properly build an application can certainly result in a larger degree of disruption of peoples lives than a simple fender bender, including a much larger financial loss. Death? well, depends on what type of app the developer screwed up. – NotMe – 2012-04-24T04:36:32.220
regarding Google not running JS: https://twitter.com/mattcutts/status/131425949597179904
– vartec – 2012-09-05T16:19:50.623There is no "Ed Lucas"-answer anymore. Does anyone know what he posted and can add it? Or maybe better link to a new good resource. – Aufziehvogel – 2013-07-02T06:02:54.687
2
@Aufziehvogel, it's on archive.org, and I've edited in the relevant part.
– Peter Taylor – 2013-07-02T08:17:06.4171
Progressive enhancement is dead: http://tomdale.net/2013/09/progressive-enhancement-is-dead/
– dave thieben – 2013-09-20T14:56:03.310Besides the JavaScript frameworks, shouldn't a dynamic stylesheet language like LESS be talked about? Or the very popular front-end framework Bootstrap? – Matthew – 2013-09-30T16:30:17.440
1This is greatest post ever written in the history of the internet. I have tears streaming down my face. – Damien Roche – 2013-11-28T23:10:11.503
1What a FAMOUS answer! I got here from a recommendation from a Chinese website (Zhihu.com). – foresightyj – 2014-02-19T08:52:11.957
3Make sure your website properly handles special characters such as these: wesome Iñtërnâtiônàlizætiøn☃ – Nick – 2014-09-09T19:21:32.890
I have made a GitHub repo out of this question: https://github.com/dhilipsiva/webapp-checklist
There are three reasons why I am making a GitHub repo:
I have already translated this to Chinese and French with the help of google translate.
And I was wondering if would it be appropriate to edit the answer to add this at the end?
@arshad
– None – 2015-12-01T04:45:06.490users'is the correct plural possive form in that instance. Example: "do not leave your friends' cars unlocked." See also: Singular possessive, plural possessive or neither.1My questions get closed as too broad, all while this question is literally "what should I know before releasing a website". That's mod logic for you. – lux – 2015-12-01T18:03:38.503
1
@lux http://meta.stackexchange.com/q/279947/303538
– thesecretmaster – 2016-06-05T11:53:33.090I'm not sure if someone already said it or not, but I would not be that specific to PHP, so I would at least specify, as an example, how to do it in PHP. I'm referring to when you talk about using
$_REQUEST["_escaped_fragment_"]... – nbro – 2016-08-31T21:47:09.4432If you can recommend good books, please feel free to edit the post with links for them. – Joel Coehoorn – 2008-12-10T14:50:50.530
6Some of your SEO suggestions are bad. It doesn't matter if you use tables or divs (Google confirmed this themselves). That SEF URL thing... I hate those "fake URLs", where the ID is the only thing that actually determines the page. "45-blah" would be the same page. It's not user-friendly either. – DisgruntledGoat – 2009-03-06T00:29:08.623
136Then edit it. I didn't write most of this: I'm only maintaining it -- a job which I've inherited because I asked the question, solicited this larger answer specifically, and I'm genuinely interested in seeing what we can come up with. The more contributions the better. – Joel Coehoorn – 2009-03-16T01:18:16.000
305One more note: if you do come back and edit this, try to be respectful of what was written. Don't just remove the parts you disagree with: actually take the time to address the short-comings and provide something better. – Joel Coehoorn – 2009-03-16T01:19:03.173
1http://www.alistapart.com/articles/understandingprogressiveenhancement/ – None – 2011-01-05T13:49:57.443
13One thing I suggest you add to your security section, is that all files you serve up should be compared to a whitelist of allowed folders, or to "jail" the webserver. This stops someone using
http://server/download.php?file=../../etc/password. Never expose file paths to the user. – Philluminati – 2011-02-12T13:24:48.753