- Write TypeScript;
- Use ES6 modules;
- Adopt new ES2015 syntaxes;
- Make sure keep our supported browsers in mind;
- Share behaviors with
- Query by
- Handle events using event delegation;
- Define forms to submit asynchronously;
- Optimize page navigation with PJAX.
Build websites like it's 2005
Briefly, these are aspects of 2005 web development that we like:
- Error messages should appear in the document itself or come from a server response;
- It's better to have a hidden form generated on the server instead of constructing a complex payload for ajax requests.
Don't build websites like it's 2005
- Inline scripts are banned. They won't work with our CSP headers.
- URLs are treasured. Never transition page state without changing the URL. If at any time you can copy the URL, close the tab, open a new tab, paste the URL, and get a different view then something is wrong.
Posts from us
- 2021: How we use Web Components at GitHub
- 2020: Web Systems sent a patch to Firefox!
- 2020: GitHub.com frontend is now TypeScript!
- 2019: Testing websites using VoiceOver
- 2019: Converting every menu in github.com
- 2019: Keeping Page Load Times Low
- 2019: What's going on with Web Components?
- 2018: Removing jQuery from GitHub.com frontend
- 2015: Browser Monitoring for GitHub.com
- 2014: A year in review from the JS team