If you want vector graphics, you have SVG. If you want imperative 2D graphics, you have Canvas. If you want 3D, you have WebGL. If you want video, you have the Video tag. If you want dynamic audio processing, you have the Web Audio API. If you want duplex, real-time or peer-to-peer communication, you have WebSockets and WebRTC. If you want client persistence, you have localStorage, sessionStorage and IndexedDB. If you want complex layout, you have CSS Flexbox and CSS Grids. If you want dynamic caching, you have Service Workers. If you want parallelisation, you have Web Workers. You have APIs to create, upload and download files from scratch, to instantiate typed arrays and get byte-level access.