JavaScript engineering in depth: frameworks, front-end architecture, performance budgets and the patterns we use in production.