SlideShare ist ein Scribd-Unternehmen logo
1 von 111
Downloaden Sie, um offline zu lesen
Raphaël

Web Directions South 2010
http://dmitry.baranovskiy.com/
https://peepcode.com/products/raphaeljs
http://raphaeljs.com
Why?
How?
SVG
Raphaël doesn’t use
     Canvas
Raphaël
doesn’t use
  Canvas
SVG
VML
JavaScript


SVG           VML
SVG   VML
20 Kb
Free
API
Preparation
var paper = Raphael("holder", 800, 600);

var paper = Raphael(holder, 800, 600);

var paper = Raphael(10, 20, 800, 600);
Primitives
var circle = paper.circle(cx, cy, r);

var rect = paper.rect(x, y, width, height, r);

var ellipse = paper.ellipse(cx, cy, rx, ry);

var image = paper.image(src, x, y, width, height);

var text = paper.text(x, y, text);
animate            mousemove
animateAlong       mouseout
animateAlongBack   mouseover
animateWith        mouseup
attr               onAnimation
click              remove
clone              rotate
dblclick           scale
getBBox            show
hide               stop
hover              toBack
insertAfter        toFront
insertBefore       translate
mousedown
animate            mousemove
animateAlong       mouseout
animateAlongBack   mouseover
animateWith        mouseup
attr               onAnimation
click              remove
clone              rotate
dblclick           scale
getBBox            show
hide               stop
hover              toBack
insertAfter        toFront
insertBefore       translate
mousedown
circle.attr({
    fill: "#fc0",
    stroke: "hsb(0.6, 0.7, 0.9)",
    "stroke-width": 5,
    "stroke-opacity": 0.5,
    cx: 50
});

var fill = circle.attr("fill");

circle.animate({
    cx: 100,
    cy: 100
}, 1000, function () {
    alert("Animation is finished");
});
c.animate({cx: 230, cy: 130}, 2000);
c.animate({cx: 230, cy: 130}, 2000);
c.animate({cx: 100, cy: 230}, 1000, function () {
    c.animate({cx: 230, cy: 130}, 1000);
});
c.animate({cx: 100, cy: 230}, 1000, function () {
    c.animate({cx: 230, cy: 130}, 1000);
});
c.animate({
    "50%": {cx: 100, cy: 230},
    "100%": {cx: 230, cy: 130}
}, 2000);
c.animate({
    "50%": {cx: 100, cy: 230},
    "100%": {cx: 230, cy: 130}
}, 2000);
c.animate({
    "50%": {cx: 100},
    "100%": {cx: 230}
}, 2000).animate({
    "25%": {cy: 30, r: 10},
    "50%": {cy: 230, r: 20},
    "75%": {cy: 50, r: 10},
    "100%": {cy: 130, r: 20}
}, 2000);
c.animate({
    "50%": {cx: 100},
    "100%": {cx: 230}
}, 2000).animate({
    "25%": {cy: 30, r: 10},
    "50%": {cy: 230, r: 20},
    "75%": {cy: 50, r: 10},
    "100%": {cy: 130, r: 20}
}, 2000);
clip-rect      href               stroke-linejoin
cursor         opacity            stroke-miterlimit
cx             path               stroke-opacity
cy             r                  stroke-width
fill           rotation           target
fill-opacity   rx                 text
font           ry                 text-anchor
font-family    scale              title
font-size      src                translation
font-style     stroke             width
font-weight    stroke-dasharray   x
height         stroke-linecap     y
Paths
var path = paper.path(pathString);
M278.939,132.632l-0.641-0.853l0.183-1.97l-0.975,0.091l-0.92-0.092l-0.506,0.415l-0.
526,0.234l-0.541,0.053l-0.939-0.271l-1.049,0.468l-0.813-0.833l-0.938-0.272l-0.851,
0.631l-0.67,0.614l-1.083,0.106l-0.904,0.09l-0.108,0.741l0.288,1.068l0.722-0.073l-0
.651,0.795l-0.129,0.559l-1.049,0.47l-0.757-0.291l-0.433-0.688l-0.651,0.794l-0.651,
0.795l-0.309,0.578l-0.688,0.433l-0.47-1.049l-0.069-0.723l-0.435-0.688l-0.415-0.507
l-0.631-0.85l-1.121-0.254l-1.643-0.021l-0.577-0.309l-0.761-0.29l-0.722,0.071l-0.23
5-0.524l-0.903,0.089l-1.41,0.504l-1.3-0.237l-1.321-0.416l-0.541,0.053L250,132.249l
-1.104-0.073l-0.073,1.102l-0.722,0.072l0.053,0.543l-0.869,0.449l-53.113-0.052l-0.0
02,0.043v45.292l0.08-0.038l1.109-0.168l1.834,0.86l1.024-0.723l1.748,0.305l2.12,0.2
48l1.73,1.44l0.492,2.009l1.092,0.971l0.045-0.953l1.055-0.539l0.98,0.232l1.721,0.11
9l1.008,0.413l0.604,2.748l1.444,2.054l1.138,0.018l1.619,0.701l1.973,1.783l0.379,1.
268l1.277,0.943l1.619,0.701l1.295-0.195l-0.223-1.481l0.471-0.638l0.741-0.11l0.823,
0.444l1.85-0.28l1.434,0.729l0.925-0.139l1.223,0.571l1.164,0.204l0.658-0.666l0.896-
0.327l1.037,0.603l1.961,0.461l1.451-0.408l1.083-0.354l0.74-0.111l0.711-0.295l0.899
-0.326l1.433,0.73l-0.204,1.168l0.566,1.235l0.722,1.028l0.354,1.082l-0.178,1.349l8.
182,4.065l1.721,0.121l0.873,0.643h0.513l-0.213,0.64l0.112-0.336l0.227,0.167l0.939-
0.471l-0.213-1.704l0.427-0.212h0.425l-0.425-1.065l-0.853-0.213l0.426-0.853l-0.426-
1.064l0.426,0.214l0.427-1.491l0.851-3.406l-0.213-2.131l0.426-1.277h-0.426l1.065-0.
852l-0.64-0.853l0.854,0.213l1.703-4.046l1.49-0.428l-0.641-1.275l0.641-0.214v0.853l
0.424-0.214l-0.424-1.276l-0.426,0.213l0.213-0.426l-0.854-0.213l1.49-0.64l0.427-1.4
91l-0.427-0.639l0.64-0.215v-1.489l1.703-1.703l-0.638-0.214l1.063-0.213l-1.276-0.42
6l1.489-0.213l0.214-1.064l-0.64,0.426l-0.427-0.426l0.64,0.213l-0.213-0.639l0.64,0.
426l0.213-1.704v-0.212l-0.427,0.425v-0.639l-0.213,0.214l-0.213-0.641l0.64,0.427l0.
213-1.064v0.853l0.852-0.426l0.214-1.064l-0.427-0.427h0.854l0.637-1.703l-0.637,0.85
3l-0.214-0.853h0.638v-0.853l0.213,0.853l0.854-1.491l-0.213-0.426h0.427v0.64l2.556-
1.491l-0.853-0.213l-0.853,0.639l-0.213-0.213l0.426-0.426l-0.213-0.426l0.853,0.426l
0.638-0.426l0.215,0.426l0.853-1.277l1.489-0.853l0.214-1.702l-0.64-0.215v0.428l-0.8
52-0.428h1.064l0.213-1.49l1.49-1.277l1.918-6.176l-0.213-4.26l1.489-3.834l0.213-0.6
39l0.64-3.62l-0.64-0.426l0.64,0.213l-0.213-0.853l1.703-3.193h-0.426l0.426-0.214L27
8.939,132.632zM261.268,143.072h-0.215l-0.213-0.639l0.641-0.214L261.268,143.072z
M278.939,132.632l-0.641-0.853l0.183-1.97l-0.975,0.091l-0.92-0.092l-0.506,0.415l-0.
526,0.234l-0.541,0.053l-0.939-0.271l-1.049,0.468l-0.813-0.833l-0.938-0.272l-0.851,
0.631l-0.67,0.614l-1.083,0.106l-0.904,0.09l-0.108,0.741l0.288,1.068l0.722-0.073l-0
.651,0.795l-0.129,0.559l-1.049,0.47l-0.757-0.291l-0.433-0.688l-0.651,0.794l-0.651,
0.795l-0.309,0.578l-0.688,0.433l-0.47-1.049l-0.069-0.723l-0.435-0.688l-0.415-0.507
l-0.631-0.85l-1.121-0.254l-1.643-0.021l-0.577-0.309l-0.761-0.29l-0.722,0.071l-0.23
5-0.524l-0.903,0.089l-1.41,0.504l-1.3-0.237l-1.321-0.416l-0.541,0.053L250,132.249l
-1.104-0.073l-0.073,1.102l-0.722,0.072l0.053,0.543l-0.869,0.449l-53.113-0.052l-0.0
02,0.043v45.292l0.08-0.038l1.109-0.168l1.834,0.86l1.024-0.723l1.748,0.305l2.12,0.2
48l1.73,1.44l0.492,2.009l1.092,0.971l0.045-0.953l1.055-0.539l0.98,0.232l1.721,0.11
9l1.008,0.413l0.604,2.748l1.444,2.054l1.138,0.018l1.619,0.701l1.973,1.783l0.379,1.
268l1.277,0.943l1.619,0.701l1.295-0.195l-0.223-1.481l0.471-0.638l0.741-0.11l0.823,
0.444l1.85-0.28l1.434,0.729l0.925-0.139l1.223,0.571l1.164,0.204l0.658-0.666l0.896-
0.327l1.037,0.603l1.961,0.461l1.451-0.408l1.083-0.354l0.74-0.111l0.711-0.295l0.899
-0.326l1.433,0.73l-0.204,1.168l0.566,1.235l0.722,1.028l0.354,1.082l-0.178,1.349l8.
182,4.065l1.721,0.121l0.873,0.643h0.513l-0.213,0.64l0.112-0.336l0.227,0.167l0.939-
0.471l-0.213-1.704l0.427-0.212h0.425l-0.425-1.065l-0.853-0.213l0.426-0.853l-0.426-
1.064l0.426,0.214l0.427-1.491l0.851-3.406l-0.213-2.131l0.426-1.277h-0.426l1.065-0.
852l-0.64-0.853l0.854,0.213l1.703-4.046l1.49-0.428l-0.641-1.275l0.641-0.214v0.853l
0.424-0.214l-0.424-1.276l-0.426,0.213l0.213-0.426l-0.854-0.213l1.49-0.64l0.427-1.4
91l-0.427-0.639l0.64-0.215v-1.489l1.703-1.703l-0.638-0.214l1.063-0.213l-1.276-0.42
6l1.489-0.213l0.214-1.064l-0.64,0.426l-0.427-0.426l0.64,0.213l-0.213-0.639l0.64,0.
426l0.213-1.704v-0.212l-0.427,0.425v-0.639l-0.213,0.214l-0.213-0.641l0.64,0.427l0.
213-1.064v0.853l0.852-0.426l0.214-1.064l-0.427-0.427h0.854l0.637-1.703l-0.637,0.85
3l-0.214-0.853h0.638v-0.853l0.213,0.853l0.854-1.491l-0.213-0.426h0.427v0.64l2.556-
1.491l-0.853-0.213l-0.853,0.639l-0.213-0.213l0.426-0.426l-0.213-0.426l0.853,0.426l
0.638-0.426l0.215,0.426l0.853-1.277l1.489-0.853l0.214-1.702l-0.64-0.215v0.428l-0.8
52-0.428h1.064l0.213-1.49l1.49-1.277l1.918-6.176l-0.213-4.26l1.489-3.834l0.213-0.6
39l0.64-3.62l-0.64-0.426l0.64,0.213l-0.213-0.853l1.703-3.193h-0.426l0.426-0.214L27
8.939,132.632zM261.268,143.072h-0.215l-0.213-0.639l0.641-0.214L261.268,143.072z
M278.939,132.632l-0.641-0.853l0.183-1.97
Command


M278.939,132.632l-0.641-0.853l0.183-1.97
Command


M278.939,132.632l-0.641-0.853l0.183-1.97


   x
Command


M278.939,132.632l-0.641-0.853l0.183-1.97


   x        y
var r = Raphael(100, 10, 300, 250),
    bg1 = r.path("M50,150l180,0").attr({stroke: "#fff",
"stroke-width": 28, "stroke-linecap": "round"}),
    bg2 = r.path("M50,150l180,0").attr({stroke: "#000",
"stroke-width": 24, "stroke-linecap": "round"}),
    bar = r.path("M50,150l.001,0").attr({stroke: "#fff",
"stroke-width": 20, "stroke-linecap": "round"});
var r = Raphael(100, 10, 300, 250), 2000, ">");
bar.animate({path: "M50,150l180,0"},
    bg1 = r.path("M50,150l180,0").attr({stroke: "#fff",
"stroke-width": 28, "stroke-linecap": "round"}),
    bg2 = r.path("M50,150l180,0").attr({stroke: "#000",
"stroke-width": 24, "stroke-linecap": "round"}),
    bar = r.path("M50,150l.001,0").attr({stroke: "#fff",
"stroke-width": 20, "stroke-linecap": "round"});
var r = Raphael(100, 10, 300, 250), 2000, ">");
bar.animate({path: "M50,150l180,0"},
    bg1 = r.path("M50,150l180,0").attr({stroke: "#fff",
"stroke-width": 28, "stroke-linecap": "round"}),
    bg2 = r.path("M50,150l180,0").attr({stroke: "#000",
"stroke-width": 24, "stroke-linecap": "round"}),
    bar = r.path("M50,150l.001,0").attr({stroke: "#fff",
"stroke-width": 20, "stroke-linecap": "round"});
var r = Raphael(100, 10, 300, 250),
    bg1 = r.path("M50,150a100,100,0,0,1,180,0").attr({stroke: "#fff",
"stroke-width": 28, "stroke-linecap": "round"}),
    bg2 = r.path("M50,150a100,100,0,0,1,180,0").attr({stroke: "#000",
"stroke-width": 24, "stroke-linecap": "round"}),
    bar = r.path("M50,150a100,100,0,0,1,.001,0").attr({stroke: "#fff",
"stroke-width": 20, "stroke-linecap": "round"});
var r = Raphael(100, 10, 300, 250),
    bg1 = r.path("M50,150a100,100,0,0,1,180,0").attr({stroke: "#fff",
"stroke-width": 28, "stroke-linecap": "round"}),
    bg2 = r.path("M50,150a100,100,0,0,1,180,0").attr({stroke: "#000",
"stroke-width": 24, "stroke-linecap": "round"}),
    bar = r.path("M50,150a100,100,0,0,1,.001,0").attr({stroke: "#fff",
"stroke-width": 20, "stroke-linecap": "round"});
bar.animate({path: "M50,150a100,100,0,0,1,180,0"}, 2000,
">");
bar.animate({path: "M50,150a100,100,0,0,1,180,0"}, 2000,
">");
var a = Math.acos(90 / 100),
    an = Math.PI - 2 * a;
r.customAttributes.value = function (val) {
    var angle = Math.PI + a + an / 100 * val,
        x = 140 + 100 * Math.cos(angle),
        y = 193.6 + 100 * Math.sin(angle);
    return {path: "M50,150A100,100,0,0,1," + [x, y]};
};
var a = Math.acos(90 / 100),
    an = Math.PI - 2 * a;
r.customAttributes.value = function (val) {
    var angle = Math.PI + a + an / 100 * val,
        x = 140 + 100 * Math.cos(angle),
        y = 193.6 + 100 * Math.sin(angle);
    return {path: "M50,150A100,100,0,0,1," + [x, y]};
};
var a = Math.acos(90 / 100),
    an = Math.PI - 2 * a;
r.customAttributes.value = function (val) {
    var angle = Math.PI + a + an / 100 * val,
        x = 140 + 100 * Math.cos(angle),
        y = 193.6 + 100 * Math.sin(angle);
    return {path: "M50,150A100,100,0,0,1," + [x, y]};
};
var a = Math.acos(90 / 100),
bar.attr({value: 0}).animate({value: 100}, 2000, ">");
    an = Math.PI - 2 * a;
r.customAttributes.value = function (val) {
    var angle = Math.PI + a + an / 100 * val,
        x = 140 + 100 * Math.cos(angle),
        y = 193.6 + 100 * Math.sin(angle);
    return {path: "M50,150A100,100,0,0,1," + [x, y]};
};
var a = Math.acos(90 / 100),
bar.attr({value: 0}).animate({value: 100}, 2000, ">");
    an = Math.PI - 2 * a;
r.customAttributes.value = function (val) {
    var angle = Math.PI + a + an / 100 * val,
        x = 140 + 100 * Math.cos(angle),
        y = 193.6 + 100 * Math.sin(angle);
    return {path: "M50,150A100,100,0,0,1," + [x, y]};
};
var r = Raphael(100, 10, 300, 250),
    bar = r.rect(80, 200, 120, 30).attr({stroke: "#fff",
"stroke-width": 2}),
    lbl = r.text(140, 180, 30).attr({fill: "#fff", font:
"20px 'Museo Sans'"});
var r = Raphael(100, 10, 300, 250),
lbl.attr({text: 130});
bar.animate({y: 100, 200, 120, 30).attr({stroke: "#fff",
    bar = r.rect(80, height: 130}, 2000, ">");
lbl.animateWith(bar,
"stroke-width": 2}), {y: 80}, 2000, ">");
    lbl = r.text(140, 180, 30).attr({fill: "#fff", font:
"20px 'Museo Sans'"});
var r = Raphael(100, 10, 300, 250),
lbl.attr({text: 130});
bar.animate({y: 100, 200, 120, 30).attr({stroke: "#fff",
    bar = r.rect(80, height: 130}, 2000, ">");
lbl.animateWith(bar,
"stroke-width": 2}), {y: 80}, 2000, ">");
    lbl = r.text(140, 180, 30).attr({fill: "#fff", font:
"20px 'Museo Sans'"});
bar.animate({y: 100, height: 130}, 1000, ">");
lbl.animateWith(bar, {y: 80}, 1000, ">", function () {
    lbl.attr({text: 130});
});
bar.animate({y: 100, height: 130}, 1000, ">");
lbl.animateWith(bar, {y: 80}, 1000, ">", function () {
    lbl.attr({text: 130});
});
r.customAttributes.value = function (val) {
    return {text: Math.round(val)};
};
bar.animate({y: 100, height: 130}, 2000, ">");
lbl.attr({value: 30}).animateWith(bar, {y: 80, value: 130},
2000, ">");
r.customAttributes.value = function (val) {
    return {text: Math.round(val)};
};
bar.animate({y: 100, height: 130}, 2000, ">");
lbl.attr({value: 30}).animateWith(bar, {y: 80, value: 130},
2000, ">");
Plugins
Raphael.fn.arrow = function (x, y) {
    return this.path(["M", x, y] + "m-10-10l20,0 0-6 10,16
-10,16 0-6 -20,0 0,6 -10-16 10-16z").attr({
        fill: "#fff",
        stroke: "none",
        opacity: 0.2
    });
};

Raphael.el.fill = function (fill) {
    this.attr({fill: fill});
};
Raphael.el.stroke = function (stroke) {
    this.attr({stroke: stroke});
};
Charts!
Visualisations
2012
   2011

2010             2007


 2009
          2008
2012
   2011                            2007

2010             2007

                        2011
 2009
                                              2009
          2008           2008

                                2010   2012
UI
UI
What kind of UI?
UI
What kind of UI?
UI
What kind of UI?
http://raphaeljs.com/icons/
Size does Matter
Printing
Web is not rectangular
Web is not rectangular
      anymore
Everyone Can Draw
Thank You
http://raphaeljs.com/



http://github.com/DmitryBaranovskiy/raphael



http://twitter.com/raphaeljs

Weitere ähnliche Inhalte

Ähnlich wie Raphaël

HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در Shiraz LUG
 
SwiftUI Animation - The basic overview
SwiftUI Animation - The basic overviewSwiftUI Animation - The basic overview
SwiftUI Animation - The basic overviewWannitaTolaema
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvassuitzero
 
Setting the Stage for SVG Animation
Setting the Stage for SVG AnimationSetting the Stage for SVG Animation
Setting the Stage for SVG AnimationJames Nowland
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
CANVAS, SVG, WebGL, CSS3, WebEvent
CANVAS, SVG, WebGL, CSS3, WebEventCANVAS, SVG, WebGL, CSS3, WebEvent
CANVAS, SVG, WebGL, CSS3, WebEvent민태 김
 
Introduction to d3js (and SVG)
Introduction to d3js (and SVG)Introduction to d3js (and SVG)
Introduction to d3js (and SVG)zahid-mian
 
Html5 canvas
Html5 canvasHtml5 canvas
Html5 canvasGary Yeh
 
Tecnicas avanzadas con CSS3
Tecnicas avanzadas con CSS3Tecnicas avanzadas con CSS3
Tecnicas avanzadas con CSS3Marta Armada
 
Know more processing
Know more processingKnow more processing
Know more processingYukiAizawa1
 
SVGo: a Go Library for SVG generation
SVGo: a Go Library for SVG generationSVGo: a Go Library for SVG generation
SVGo: a Go Library for SVG generationAnthony Starks
 
Google I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceGoogle I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceDouO
 

Ähnlich wie Raphaël (20)

HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در HTML 5 گرافیک دو بعدی در
HTML 5 گرافیک دو بعدی در
 
Raphaël and You
Raphaël and YouRaphaël and You
Raphaël and You
 
Raphael
RaphaelRaphael
Raphael
 
SVGo workshop
SVGo workshopSVGo workshop
SVGo workshop
 
SwiftUI Animation - The basic overview
SwiftUI Animation - The basic overviewSwiftUI Animation - The basic overview
SwiftUI Animation - The basic overview
 
Drawing on canvas
Drawing on canvasDrawing on canvas
Drawing on canvas
 
Setting the Stage for SVG Animation
Setting the Stage for SVG AnimationSetting the Stage for SVG Animation
Setting the Stage for SVG Animation
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
Svg Basics
Svg BasicsSvg Basics
Svg Basics
 
Intro to HTML5 Canvas
Intro to HTML5 CanvasIntro to HTML5 Canvas
Intro to HTML5 Canvas
 
Formato encuesta
Formato encuestaFormato encuesta
Formato encuesta
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
CANVAS, SVG, WebGL, CSS3, WebEvent
CANVAS, SVG, WebGL, CSS3, WebEventCANVAS, SVG, WebGL, CSS3, WebEvent
CANVAS, SVG, WebGL, CSS3, WebEvent
 
Introduction to d3js (and SVG)
Introduction to d3js (and SVG)Introduction to d3js (and SVG)
Introduction to d3js (and SVG)
 
Html5 canvas
Html5 canvasHtml5 canvas
Html5 canvas
 
Css5 canvas
Css5 canvasCss5 canvas
Css5 canvas
 
Tecnicas avanzadas con CSS3
Tecnicas avanzadas con CSS3Tecnicas avanzadas con CSS3
Tecnicas avanzadas con CSS3
 
Know more processing
Know more processingKnow more processing
Know more processing
 
SVGo: a Go Library for SVG generation
SVGo: a Go Library for SVG generationSVGo: a Go Library for SVG generation
SVGo: a Go Library for SVG generation
 
Google I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics PerformanceGoogle I/O 2013 - Android Graphics Performance
Google I/O 2013 - Android Graphics Performance
 

Mehr von Dmitry Baranovskiy (12)

JavaScript: enter the dragon
JavaScript: enter the dragonJavaScript: enter the dragon
JavaScript: enter the dragon
 
The Origins of Magic
The Origins of MagicThe Origins of Magic
The Origins of Magic
 
Demystifying Prototypes
Demystifying PrototypesDemystifying Prototypes
Demystifying Prototypes
 
Type Recognition
Type RecognitionType Recognition
Type Recognition
 
Obvious Secrets of JavaScript
Obvious Secrets of JavaScriptObvious Secrets of JavaScript
Obvious Secrets of JavaScript
 
Your JavaScript Library
Your JavaScript LibraryYour JavaScript Library
Your JavaScript Library
 
SVG
SVGSVG
SVG
 
Java Script Workshop
Java Script WorkshopJava Script Workshop
Java Script Workshop
 
Web Vector Graphics
Web Vector GraphicsWeb Vector Graphics
Web Vector Graphics
 
Typography on the Web
Typography on the WebTypography on the Web
Typography on the Web
 
Microformats—the hidden treasure
Microformats—the hidden treasureMicroformats—the hidden treasure
Microformats—the hidden treasure
 
Advanced JavaScript Techniques
Advanced JavaScript TechniquesAdvanced JavaScript Techniques
Advanced JavaScript Techniques
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Raphaël