A set of web development techniques using many web technologies on the client side to create asynchronous web applications.