# SVG 2 Specification

svgspecificationw3c

SVG is a language based on XML implemented in browser.

svg

Using XML to draw vector graphics in browser echosystem SVG specification

SVG Mozilla Implementation

DOM defines a platform-neutral model for events, aborting activities, and node trees.

Pros

  1. CSS Stylable
  2. could be Animated
  3. Scalable
  4. 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

  • 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
  • What is the difference between javascript and NodeJS?

# Resources

  • or
  • Buy me a coffeeBuy me a coffee