# SVG 2 Specification
SVG is a language based on XML implemented in browser.
- works well with other w3c specified technologies
- SVG DOM compatible with HTML DOM
- 18 years old
- Implementation
- SVG Favicon tester
- Browser Engine
svg
Using XML to draw vector graphics in browser echosystem
DOM defines a platform-neutral model for events, aborting activities, and node trees.
Pros
- CSS Stylable
- could be Animated
- Scalable
- Dynamic changes through JS
- How do I check if my browser supports SVG 2?
Run following command in browser console
// for SVG 2 document.implementation.hasFeature( "http://www.w3.org/TR/SVG2/feature#GraphicsAttribute", 2.0) // for SVG 1 document.implementation.hasFeature( "http://www.w3.org/TR/SVG11/feature#SVG", 1.1)
TIP
Though rendering engines like webkit and blink are written in C++ they can directly compile JS to machine code
# DOM
cross platform, language independent interface for treating XML and HTML
DOM Wikipedia
- Node tree construction from parsed HTML, CSS. There could be blocking JS as well
- Node traversal, searching and manupulation
- Ordered Sets
- Node/Element Selector
- Events are objects too and implement the Event interface (or a derived interface)
- Dispatching events
- Firing events
Questions
- Difference between webkit/blink and v8 engines?
- Layout/rendering engines and other one is javascript engine
- Why arent there any high level languages on client side? Why cant I run python on browser?
- How is browser ecosystem made?
- What is HTTP2
- NodeJS how asynchronous calls work? OS threas vs event loops?
- Node.js being designed without threads doesn't mean you can't take advantage of multiple cores in your environment. Child processes can be spawned by using our
child_process.fork()
API
- Node.js being designed without threads doesn't mean you can't take advantage of multiple cores in your environment. Child processes can be spawned by using our
- What is the difference between javascript and NodeJS?