SlideShare a Scribd company logo
Dr.SabinBuragawww.purl.org/net/busaco
Dezvoltarea aplicațiilor Web
la nivel de client
suita de tehnologii HTML5
Dr.SabinBuragawww.purl.org/net/busaco
“If you can dream it, you can do it.”
Walt Disney
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
un vocabular (set de elemente + atribute)
folosit pentru marcarea paginilor Web
+
o suită de API-uri facilitând procesarea documentelor
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
permite dezvoltarea standardizată de aplicații Web
pe baza unor API-uri specificate formal
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
permite dezvoltarea standardizată de aplicații Web
pe baza unor API-uri specificate formal
API-urile sunt definite de interfețe
descrise cu limbajul declarativ WebIDL
W3C Recommendation, 2016
www.w3.org/TR/WebIDL/
Dr.SabinBuragawww.purl.org/net/busaco
HTML5 Web API
suita de API-uri JavaScript (ECMAScript) disponibile
– la nivel de client – pentru dezvoltarea de aplicații
arii de interes: grafică și tipografie, multimedia,
interacțiune cu utilizatorul, stocare și fișiere, transfer
în timp-real, componente Web, performanță, securitate
www.w3.org/standards/techs/js
platform.html5.org
developer.mozilla.org/docs/Web/API
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
inițial, o propunere independentă de Consorțiul Web
WHATWG (Web Hypertext Application Technology
Working Group) compus din Apple, Mozilla, Opera
www.whatwg.org
Dr.SabinBuragawww.purl.org/net/busaco
www.whatwg.org/specs/web-apps/current-work/
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
actualmente, standard al Consorțiului Web
W3C Recommendation (2014)
www.w3.org/TR/html5/
varianta cea mai recentă: HTML 5.1
www.w3.org/TR/html/
Dr.SabinBuragawww.purl.org/net/busaco
Ce aduce nou HTML5?
Dr.SabinBuragawww.purl.org/net/busaco
Relaxarea corectitudinii la nivel de sintaxă
HTML – text/html
și/sau
XHTML – application/xhtml+xml
Dr.SabinBuragawww.purl.org/net/busaco
specificarea tipului de document
se poate realiza în mod simplificat:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ro">
<head>
<title>…</title>
<meta charset="utf-8" />
…
</head>
<body>
…
</body>
</html>
spațiul de nume
rămâne neschimbat
Dr.SabinBuragawww.purl.org/net/busaco
HTML5
detalii privind elementele (marcajele)
și atributele aferente:
www.w3.org/standards/techs/html
a se (re)vedea prezentarea
Sabin Buraga, HTML5 în XXX de minute (2015)
www.slideshare.net/busaco/html5-in-xxx-de-minute
Dr.SabinBuragawww.purl.org/net/busaco
Câteva amănunte
despre noile elemente HTML5?
Dr.SabinBuragawww.purl.org/net/busaco
Noi elemente de structurare (secțiuni)
în stilul POSH – Plain Old Semantic HTML
article, nav, aside, section, header, footer etc.
Dr.SabinBuragawww.purl.org/net/busaco
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ro" xml:lang="ro">
<head>
<title>Filmul disciplinei | Dezvoltarea aplica&#355;iilor Web la nivel de client</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="author" content="Sabin Buraga – http://www.purl.org/net/busaco" />
<link rel="stylesheet" type="text/css" href="web.css" />
</head>
<body>
<header>
<h1>Dezvoltarea aplica&#355;iilor Web la nivel de client</h1>
<p class="slogan">prezent&#259;rile aferente cursului</p>
</header>
<article>
<p>Filmul desf&#259;&#351;ur&#259;rii materiei este prezentat mai jos.</p>
<nav>
<ul>
<li><a href="#week14" title="…">S&#259;pt&#259;m&acirc;na 14</a></li>
…
<li><a href="#week1" title="…">S&#259;pt&#259;m&acirc;na 1</a></li>
</ul>
</nav>
detalii despre atributul rel la
www.w3.org/TR/html/links.html
Dr.SabinBuragawww.purl.org/net/busaco
<section id="week1">
<h2>&#9635; S&#259;pt&#259;m&acirc;na 1</h2>
<ul>
<li><aside class="menu">reamintire:
<a href="http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html"
title="Spre situl disciplinei">Tehnologii Web</a></aside>
<p>…</p>
</li>
</ul>
</section>
</article>
<footer>
<h6>Ultima actualizare: 04 decembrie 2017 /
<a rel="license"
href="http://creativecommons.org/licenses/by-nc-sa/4.0/" title="…">CC</a>
<span itemscope="itemscope" itemtype="http://schema.org/Person">
<a href="http://www.purl.org/net/busaco" title="Spre situl Web al titularului…"
itemprop="url" accesskey="S">
<span itemprop="name">Sabin Buraga</span></a>
</span>
</h6>
</footer>
</body>
</html>
microdate HTML5
folosind vocabularele schema.org
(vezi unul din cursurile anterioare)
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
„scufundarea” altor tipuri de conținuturi
într-un document HTML
conținut grafic – raster și/sau vectorial
conținut sonor
conținut video
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
svg
conținut grafic vectorial
specificat prin SVG (Scalable Vector Graphics)
un limbaj descriptiv bazat pe XML
www.w3.org/Graphics/SVG/
developer.mozilla.org/docs/Web/SVG
Dr.SabinBuragawww.purl.org/net/busaco
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>HTML + SVG</title></head>
<body>
<h1>SVG &icirc;ntr-o pagin&#259; Web</h1>
<!-- Elemente și atribute SVG specificate în documentul HTML,
recunoscute pe baza spațiului de nume SVG -->
<svg width="500" height="200" xmlns="http://www.w3.org/2000/svg">
<!-- o zonă rectangulară cu colțuri rotunjite -->
<rect x="50" y="50" rx="7" ry="7" width="450" height="150"
style="fill: #00CCEE; stroke: #3333CC;"/>
<!-- conținut textual -->
<text x="70" y="90" style="stroke: black; fill: gray; font-size: 32pt;">
SVG direct &icirc;n browser...</text>
<!-- un cerc galben -->
<circle cx="400" cy="150" r="33" style="fill: yellow;" />
</svg>
<p>De utilizat un navigator Web oferind suport nativ pentru SVG.</p>
</body>
</html>
Dr.SabinBuragawww.purl.org/net/busaco
vizualizarea în navigatorul Web a ilustrației SVG
via instrumentul JS Bin
Dr.SabinBuragawww.purl.org/net/busaco
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" width="8cm" height="3cm">
<title>Grafică vectorială cu SVG</title>
<defs>
<!-- definim un dégradé (gradient) liniar -->
<linearGradient id="aGradient">
<stop offset="33%" stop-color="#ADA" />
<stop offset="74%" stop-color="#369" />
</linearGradient>
<rect id="aRectangle" width="15px" height="15px" rx="2" ry="2" fill="green" />
<!-- o cale de redare -->
<path id="aPath" d="M15 50 C10 0 90 0 90 40" />
<!-- un filtru cromatic -->
<filter id="visualFilter">
<feColorMatrix in="SourceGraphic" type="matrix"
values="0 0 0 0 0
1 0 1 1 0
0 1 1 0 0
0 0 0 1 0" />
</filter>
</defs>
C. Bulancea & S. Buraga (2004, 2014)
comenzi grafice
(e.g., M=mută, C=cerc)
aplicarea unui filtru
www.w3.org/TR/SVG/filters.html
Dr.SabinBuragawww.purl.org/net/busaco
<!-- o formă rectangulară umplută cu dégradé-ul definit anterior -->
<rect x="1cm" y="1cm" width="6cm" height="1cm" round="1em"
fill="url(#aGradient)" />
<!-- folosim 4 instanțe ale pătratului definit,
plasate la diverse coordonate și având diverse proprietăți grafice -->
<use x="40" y="40" xlink:href="#aRectangle" />
<use x="100" y="80" xlink:href="#aRectangle" filter="url(#visualFilter)" />
<use x="160" y="80" xlink:href="#aRectangle" fill-opacity="0.33" />
<use x="220" y="80" xlink:href="#aRectangle" />
<!-- un text redat conform căii specificate -->
<text fill="red">
<!-- de studiat și http://www.w3.org/TR/SVG/fonts.html -->
<textPath xlink:href="#aPath">&#10084; Web &#x2605;</textPath>
</text>
</svg>
C. Bulancea & S. Buraga (2004, 2014)
Dr.SabinBuragawww.purl.org/net/busaco
redarea conținutului grafic vectorial SVG
Firefox
la nivel de desktop
(Windows 10)
Safari pe platforma
mobilă iOS 11 (iPhone)
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
svg
specificația curentă: SVG 1.1 2nd Edition (2011)
www.w3.org/TR/SVG/
în lucru: SVG 2.0 (noiembrie 2017) – svgwg.org/svg2-draft/
în contextul dispozitivelor mobile: SVG Tiny 1.2 (2008)
www.w3.org/TR/SVGTiny12/
Dr.SabinBuragawww.purl.org/net/busaco
resurse + exemple demonstrative:
github.com/willianjusten/awesome-svg
suportul cumulat pentru SVG în cadrul navigatoarelor,
inclusiv pe platforme mobile: caniuse.com/#search=svg
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
svg
biblioteci JavaScript importante:
Raphaël.js – raphaeljs.com
Snap.svg – snapsvg.io
svg.js – svgjs.com
a se considera și Bonsai, Fabric.js, Vivus etc.
www.javascripting.com/search?q=svg
Dr.SabinBuragawww.purl.org/net/busaco
examinarea codului SVG generat de biblioteca Snap.svg
folosind instrumentele de depanare furnizate de browser
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
math
expresii matematice exprimate via limbajul MathML
un limbaj declarativ bazat pe XML
www.w3.org/Math/
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
math
specificația curentă: MathML 3.0 (2010)
o listă a instrumentelor software la
www.w3.org/Math/Software/
exemplu notabil: proiectul MathJax – www.mathjax.org
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
alături de elementele img, iframe, embed și object,
sunt permise audio, video, source
ce pot fi utilizate la includerea de conținut multimedia
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
elementele audio și video
implementează interfața HTMLMediaElement
Dr.SabinBuragawww.purl.org/net/busaco
interface HTMLMediaElement : HTMLElement {
readonly attribute MediaError error;
attribute DOMString src;
readonly attribute DOMString currentSrc;
attribute DOMString preload;
readonly attribute TimeRanges buffered;
attribute double currentTime;
readonly attribute double duration;
readonly attribute boolean paused;
attribute boolean autoplay;
attribute boolean loop;
attribute boolean controls;
attribute double volume;
attribute boolean muted;
void load ();
void play ();
void pause ();
};
principalele atribute și
metode ale interfeței
HTMLMediaElement
Dr.SabinBuragawww.purl.org/net/busaco
<video id="film" src="/media/tux.ogg" controls autoplay>
Nu există suport pentru elementul video… :-(
</video>
…
<script type="text/javascript">
// preluăm conținutul video
var video = document.getElementById ('film');
</script>
<p>
<input type="button" value="Oprește"
onclick="video.pause ();" />
<input type="button" value="Rulează"
onclick="video.play ();" />
</p>
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
principalele evenimente ce pot fi tratate
în ceea ce privește conținutul audio/video:
loadstart progress suspend abort error
stalled play pause loadeddata
waiting playing seeking
canplay seeked timeupdate ended
ratechange durationchange volumechange
Dr.SabinBuragawww.purl.org/net/busaco
<source src='fii-absolvent.mp4'
type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />
<source src='fii-absolvent.mkv'
type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
type='audio/ogg; codecs=flac' />
precizarea codec-urilor
necesare redării
Dr.SabinBuragawww.purl.org/net/busaco
<source src='fii-absolvent.mp4'
type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />
<source src='fii-absolvent.mkv'
type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
type='audio/ogg; codecs=flac' />
precizarea codec-urilor
necesare redării
codec-uri uzuale:
H.264 (MPEG4 – comercial, susținut de Apple și Microsoft;
actualmente, orice browser Web modern îl acceptă)
www.h264info.com
Dr.SabinBuragawww.purl.org/net/busaco
<source src='fii-absolvent.mp4'
type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />
<source src='fii-absolvent.mkv'
type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
type='audio/ogg; codecs=flac' />
precizarea codec-urilor
necesare redării
codec-uri uzuale:
OGG (open-source; implementat de Chrome, Firefox
(inclusiv pe Android) și Opera; fără suport în IE/ Edge și
Safari ori pe platforme mobile) – www.xiph.org/ogg/
audio
video
Dr.SabinBuragawww.purl.org/net/busaco
<source src='fii-absolvent.mp4'
type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"' />
<source src='fii-absolvent.mkv'
type='video/x-matroska; codecs="theora, vorbis"' />
<source src='discursul-lui-tux.oga'
type='audio/ogg; codecs=flac' />
precizarea codec-urilor
necesare redării
codec-uri uzuale:
WebM (o inițiativă Google – open source; suport oferit
de Chrome, Firefox și Opera, dar nu și de Safari)
www.webmproject.org
Dr.SabinBuragawww.purl.org/net/busaco
Alte codec-uri:
WebP (Google – format grafic cu/fără pierderi,
oferind suport și pentru animații sau transparență;
implementat doar de Chrome și Opera,
inclusiv pe plaforme mobile)
https://developers.google.com/speed/webp/
Dr.SabinBuragawww.purl.org/net/busaco
Alte codec-uri:
Opus (specificație IETF liberă
asigurând calitatea ridicată a conținutului audio;
implementat de toate navigatoarele Web importante)
http://tools.ietf.org/html/rfc6716
Dr.SabinBuragawww.purl.org/net/busaco
suportul cumulat: caniuse.com/#search=codec
Dr.SabinBuragawww.purl.org/net/busaco
statistici în raportul The State of HTML5 Video (feb. 2017)
developer.jwplayer.com/articles/html5-report/
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
elementul track permite specificarea de piste (track-uri)
ce pot include subtitrări, descrieri, capitole, meta-date
<!-- prezentare: Bill Parrott, Demystifying CORS (2017) -->
<video src="https://www.infoq.com/presentations/cors">
<track kind="subtitles" src="..." srclang="en" label="English" />
<track kind="captions" src="..." srclang="en"
label="English for the Hard of Hearing" />
<track kind="subtitles" src="..." srclang="ro" label="Românește" />
</video>
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
elementul track permite specificarea de piste (track-uri)
ce pot include subtitrări, descrieri, capitole, meta-date
conținutul textual se precizează în formatul WebVTT
(ciornă W3C, noiembrie 2017)
www.w3.org/TR/webvtt1/
Dr.SabinBuragawww.purl.org/net/busaco
În ceea ce privește redarea conținutului video,
de interes poate fi și Fullscreen API
specificație în lucru (septembrie 2017),
dar implementată de majoritatea navigatoarelor
fullscreen.spec.whatwg.org
Dr.SabinBuragawww.purl.org/net/busaco
În ceea ce privește redarea conținutului video,
de interes poate fi și Fullscreen API
<video controls id="video">
<source src="video.webm"></source>
<source src="video.mp4"></source>
</video>
…
var elem = document.getElementById("video");
if (elem.requestFullscreen) { // există suport?
elem.requestFullscreen(); // se pot emite evenimentele
} // fullscreenchange sau fullscreenerror
developer.mozilla.org/Web/API/Fullscreen_API
Dr.SabinBuragawww.purl.org/net/busaco
Specificații adiționale:
Media Source Extensions (recomandare W3C, 2016)
scop: crearea dinamică a fluxurilor audio/video
(adaptive bitrate streaming) prin program
www.w3.org/TR/media-source/
algoritmi importanți:
Apple HLS (HTTP Live Streaming)
MPEG DASH (Dynamic Adaptive Streaming over HTTP)
Dr.SabinBuragawww.purl.org/net/busaco
Dr.SabinBuragawww.purl.org/net/busaco
hls.js – implementare JS a HLS
github.com/video-dev/hls.js/
Dr.SabinBuragawww.purl.org/net/busaco
suport aproape inexistent
oferit de browser-ele curente
Dr.SabinBuragawww.purl.org/net/busaco
dash.js – implementare JS de referință (polyfill)
github.com/Dash-Industry-Forum/dash.js
Dr.SabinBuragawww.purl.org/net/busaco
Specificații adiționale:
Encrypted Media Extensions (recomandare W3C, 2017)
scop: criptarea conținutului audio/video și
redarea lui pe baza unei licențe de utilizare
www.w3.org/TR/encrypted-media/
Dr.SabinBuragawww.purl.org/net/busaco
tutorial: developers.google.com/web/fundamentals/media/eme
Dr.SabinBuragawww.purl.org/net/busaco
Embedded content
canvas
suport pentru grafica raster (bitmap)
generată dinamic via JavaScript
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
scop:
generarea dinamică de conținut grafic
dependent de rezoluția curentă
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
stipulată de recomandarea W3C privind HTML5
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
stipulată de recomandarea W3C privind HTML5
context de redare:
conținut grafic 2D transparent de tip raster
(W3C Recommendation, 2015)
www.w3.org/TR/2dcontext/
Dr.SabinBuragawww.purl.org/net/busaco
typedef (CanvasRenderingContext2D or
WebGLRenderingContext) RenderingContext;
interface HTMLCanvasElement : HTMLElement {
// specifică zona rectangulară de redare a conținutului grafic
attribute unsigned long width;
attribute unsigned long height;
// metodă care oferă contextul redării conținutului
RenderingContext? getContext (DOMString contextId, any... args);
// metodă ce întoarce un URL folosind schema data:
// pentru accesul la conținutul generat
DOMString toDataURL
(optional DOMString type, any... args);
// metodă oferind manieră de serializare (e.g., salvare) a imaginii
void toBlob (FileCallback? _callback,
optional DOMString type, any... arguments);
};
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
este asociată elementului HTML5 canvas
contextul 2D de redare a conținutului generat dinamic
de script-urile operând asupra obiectului canvas este
specificat formal de interfața CanvasRenderingContext2D
developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
transformări geometrice de bază:
scale()
rotate()
translate()
transform()
setTransform()
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
generarea de căi grafice (paths):
lineTo() moveTo() rect() arc() fill() stroke() clip()
arcTo() quadraticCurveTo() bezierCurveTo()
beginPath() closePath()
isPointInPath()
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
manipularea zonelor rectangulare:
strokeRect()
fillRect()
clearRect()
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
crearea dégradé-urilor:
createLinearGradient()
createRadialGradient()
createPattern()
plus addColorStop() – oferită de interfața CanvasGradient
vezi și CSS3
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
specificarea de conținuturi textuale:
font
textAlign
fillText()
strokeText()
measureText()
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
suport pentru redarea umbrelor:
shadowOffsetX
shadowOffsetY
shadowColor
shadowBlur
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
manipularea conținutului grafic:
createImageData()
getImageData()
putImageData()
vezi interfața ImageData
developer.mozilla.org/docs/Web/API/ImageData
Dr.SabinBuragawww.purl.org/net/busaco
Elementul canvas – interfața CanvasRenderingContext2D
operații cu imagini:
drawImage()
save()
restore()
globalAlpha
globalCompositeOperation
Dr.SabinBuragawww.purl.org/net/busaco
<!DOCTYPE html>
studiu de caz: CanvasDemo
<canvas id="canvas" width="680" height="480"></canvas>
…
function deseneazaDiscuri() {
var context = document.getElementById('canvas').getContext('2d');
context.font = "3em serif"; // stabilirea parametrilor corpului de literă
context.strokeText("minune", 7, 33);
context.translate(74, 74); // ...plus translare
for (let i = 1; i < 5; i++) { // generarea 'inelelor' de discuri
context.save(); // salvarea contextului de redare
// stabilirea via CSS a culorii de umplere a discului curent + ajustarea aleatorie a transp.
context.fillStyle = 'rgba(33, ' + (74 * i) + ',' + (255 - 74 * i) + ',' + Math.random() + ')';
for (let j = 0; j < i * 6; j++) { // desenarea discurilor
context.rotate(Math.PI * 2 / (i * 6));
context.beginPath();
context.arc(0, i * 12.5, 5, 0, Math.PI * 2, true);
context.fill();
}
context.restore(); // restaurarea contextului de redare
}
}
// tratarea evenimentului click
document.body.addEventListener ("click", deseneazaDiscuri);
corola de minuni
Dr.SabinBuragawww.purl.org/net/busaco
un posibil rezultat al execuției programului
codul complet la jsfiddle.net/busaco/vwhz4a5c/
Sabin Buraga < busaco@infoiasi.ro >
de studiat și
developer.mozilla.org/docs/Web/API/Canvas_API
perfectionkills.com/exploring-canvas-drawing-techniques/
o suită de tutoriale:
www.html5canvastutorials.com
Dr.SabinBuragawww.purl.org/net/busaco
exemple de biblioteci:
Fabric Flotr2 Kinetic Paper
libCanvas Processing.js Rekapi
github.com/raphamorim/awesome-canvas
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
alternativă de redare:
conținut grafic 3D pe baza WebGL
implementare JavaScript a standardului
OpenGL ES 2.0 (Embedded Accelerated 3D Graphics)
www.khronos.org/opengles/
suport: Apple, AMD, Fujitsu, Google, Intel, NVIDIA, Samsung, Sony,…
Dr.SabinBuragawww.purl.org/net/busaco
Interfața HTMLCanvasElement
alternativă de redare:
conținut grafic 3D pe baza WebGL
specificație furnizată de Khronos Group
WebGL 1.0 (curent), WebGL 2.0 (în lucru)
www.khronos.org/webgl/wiki/
developer.mozilla.org/docs/Web/WebGL
Dr.SabinBuragawww.purl.org/net/busaco
statistici privind suportul pentru WebGL
la nivel de desktop, platforme mobile, console de jocuri
webglstats.com
Dr.SabinBuragawww.purl.org/net/busaco
medii Web de dezvoltare:
WebGL Playground – webglplayground.net
WebGLStudio.js – github.com/jagenjo/webglstudio.js
Dr.SabinBuragawww.purl.org/net/busaco
<script id="shader-vs" type="x-shader/x-vertex">
// codul-sursă implementând un vertex shader (OpenGL)
</script>
<script id="shader-fs" type="x-shader/x-fragment">
// codul-sursă al unui fragment shader (OpenGL)
</script>
<script type="text/javascript">
// cod JavaScript recurgând la WebGL
</script>
…
<body onload="webGLStart ();">
<canvas id="spatiu3D" width="1024" height="768"></canvas>
</body>
tutorial WebGL: learningwebgl.com/blog/?page_id=1217
Dr.SabinBuragawww.purl.org/net/busaco
Shader Editor inclus în Firefox
folosit la inspectarea shader-elor
editate cu instrumentul online Shdr
shdr.bkcore.com
Dr.SabinBuragawww.purl.org/net/busaco
Awesome WebGL – github.com/sjfricke/awesome-webgl
biblioteci / 3D engines: BabylonJS, c3DL, CopperLicht,
CubicVR, OSG, PhiloGL, SceneJS, Three.js,…
www.babylonjs-playground.com
Dr.SabinBuragawww.purl.org/net/busaco
Folosind WebGL se oferă premisele dezvoltării de aplicații
vizând realitatea virtuală (VR – Virtual Reality) și
realitatea îmbogățită (AR – Augmented Reality)
reality-virtuality continuum (Milgram & Kishino, 1994)
realitate mixtă (mixed reality)
www.slideshare.net/busaco/from-virtual-to-augmented-reality
Dr.SabinBuragawww.purl.org/net/busaco
Realitate virtuală cu WebVR
specificație deschisă – în lucru la W3C (octombrie 2017) –
permițând crearea de lumi virtuale pe desktop/mobil
în browser recurgând la senzori/dispozitive de tip headset
Dr.SabinBuragawww.purl.org/net/busaco
Realitate virtuală cu WebVR
framework-uri/platforme de dezvoltare:
A-Frame – aframe.io
PlayCanvas – playcanvas.com
Sketchfab – sketchfab.com
Vizor – vizor.io
resurse pentru programatori:
webvr.info/developers/
developer.mozilla.org/Web/API/WebVR_API
Dr.SabinBuragawww.purl.org/net/busaco
Realitate virtuală cu WebVR
suportul curent oferit de navigatoarele Web: webvr.rocks
Dr.SabinBuragawww.purl.org/net/busaco
Formulare HTML5
formularele Web pot include noi tipuri de câmpuri
(search tel url email date time number range color),
valorile putând fi eventual auto-completate
și/sau validate de browser
www.w3.org/TR/html5/forms.html
diveintohtml5.info/forms.html
Dr.SabinBuragawww.purl.org/net/busaco
<label>Adrese suplimentare:
<input type="email" multiple
list="adrese" name="cc" />
</label>
<datalist id="adrese">
<option value="tux@pinguin.info">tux@pinguin.info</option>
<option value="tuxy.pingu@pol.org">tuxy.pingu@pol.org</option>
<option value="tp@alt.undeva.org">tp@alt.undeva.org</option>
</datalist>
<input type="date" max="2001-12-31" name="zi-nastere" />
<input type="range" min="1" max="7" step="2" name="premii" />
<input type="color" name="culoare" />
<input type="search" pattern="[A-Za-z]+" placeholder="Caută cadouri..." />
nu există încă suport complet
pentru toate tipurile de controale de interacțiune
atributul multiple poate fi folosit
și la upload-ul mai multor fișiere
Dr.SabinBuragawww.purl.org/net/busaco
formulare HTML5 – testarea facilităților:
miketaylr.com/code/input-type-attr.html
Dr.SabinBuragawww.purl.org/net/busaco
Atribute definite de programator
(custom HTML5 attributes)
într-un document HTML5 pot fi incluse atribute proprii
prefixate cu data-
pot stoca valori private
disponibile la nivel de pagină/aplicație Web
developer.mozilla.org/Learn/HTML/Howto/Use_data_attributes
Dr.SabinBuragawww.purl.org/net/busaco
<div id="utilizator" data-id="1234" data-user="tux" data-date-of-birth>
Tuxy Pinguinescu</div>
var elem = document.querySelector ('#utilizator'); // obținem datele
// elem.id == 'utilizator'
// elem.dataset.id === '1234'
// elem.dataset.dateOfBirth === '' (data de naștere n-a fost precizată)
elem.dataset.dateOfBirth = '1994-12-17'; // stabilim când s-a născut
el.dataset.someDataAttr = 'mydata';
// 'someDataAttr' in el.dataset === true
folosirea consolei navigatorului Web pentru
accesarea și modificarea atributelor data-
via obiectul dataset
Dr.SabinBuragawww.purl.org/net/busaco
testarea suportului pentru HTML5: html5test.com
Dr.SabinBuragawww.purl.org/net/busaco
episodul viitor:
API-uri JavaScript în contextul HTML5

More Related Content

What's hot

Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016
Sabin Buraga
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
Sabin Buraga
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
Sabin Buraga
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Sabin Buraga
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Sabin Buraga
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Sabin Buraga
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
Sabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Sabin Buraga
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor Web
Sabin Buraga
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Sabin Buraga
 
Suita de tehnologii HTML5
Suita de tehnologii HTML5Suita de tehnologii HTML5
Suita de tehnologii HTML5
Sabin Buraga
 
25 de ani de Web
25 de ani de Web 25 de ani de Web
25 de ani de Web
Sabin Buraga
 
Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
Sabin Buraga
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Sabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Sabin Buraga
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
Sabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
Sabin Buraga
 
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Sabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
Sabin Buraga
 

What's hot (20)

Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
 
Ce înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator WebCe înseamnă să fii dezvoltator Web
Ce înseamnă să fii dezvoltator Web
 
Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)Ce înseamnă a fi dezvoltator Web (varianta 2014)
Ce înseamnă a fi dezvoltator Web (varianta 2014)
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
Dezvoltarea aplicatiilor orientate spre servicii Web. De la REST la mash-up-u...
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
 
Servicii Web prin REST
Servicii Web prin RESTServicii Web prin REST
Servicii Web prin REST
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor Web
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
 
Suita de tehnologii HTML5
Suita de tehnologii HTML5Suita de tehnologii HTML5
Suita de tehnologii HTML5
 
25 de ani de Web
25 de ani de Web 25 de ani de Web
25 de ani de Web
 
Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 

Similar to CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5

STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
Sabin Buraga
 
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
Sabin Buraga
 
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
Sabin Buraga
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Sabin Buraga
 
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
Sabin Buraga
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
Sabin Buraga
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
Sabin Buraga
 
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. RESTWADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
Sabin Buraga
 
Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5
Sabin Buraga
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
Sabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
Sabin Buraga
 
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Sabin Buraga
 
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScriptCLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
Sabin Buraga
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
Sabin Buraga
 
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
Sabin Buraga
 
HTML5? HTML5!
HTML5? HTML5!HTML5? HTML5!
HTML5? HTML5!
Sabin Buraga
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Sabin Buraga
 
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul RESTWADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
Sabin Buraga
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
Sabin Buraga
 
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
Sabin Buraga
 

Similar to CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5 (20)

STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
CLIW 2015-2016 (10/13) Programare Web. Suita de tehnologii HTML5
 
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
CLIW 2014—2015 (10/12): Programare Web. Suita de tehnologii HTML5
 
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
Dezvoltarea aplicaţiilor Web la nivel de client (cursul #11): Programare Web....
 
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
WADe 2014—2015 (supliment): Modelarea datelor în HTML: microformate & scheme ...
 
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 MicrodataWADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
WADe 2017-2018 Tutorial (2/3): Data Modeling in HTML: Schema.org HTML5 Microdata
 
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
CLIW 2015-2016 (4/13) Design Web. Proiectarea siturilor Web. Design Web respo...
 
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. RESTWADe 2017-2018 (2/12) Service-based Web Application Development. REST
WADe 2017-2018 (2/12) Service-based Web Application Development. REST
 
Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5Aplicații Firefox OS cu HTML5
Aplicații Firefox OS cu HTML5
 
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de clientCLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
CLIW 2015-2016 (12/13) Performanța aplicaţiilor Web la nivel de client
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
Web 2016 (10/13) Servicii Web. De la arhitecturi orientate spre servicii (SOA...
 
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScriptCLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
CLIW 2014—2015 (9/12): Ingineria dezvoltării aplicaţiilor JavaScript
 
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScriptCLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
CLIW 2015-2016 (9/13) Ingineria dezvoltării aplicațiilor JavaScript
 
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
Dezvoltarea aplicațiilor Web (supliment): Modelarea datelor în HTML: microfor...
 
HTML5? HTML5!
HTML5? HTML5!HTML5? HTML5!
HTML5? HTML5!
 
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul RESTDezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
Dezvoltarea aplicațiilor Web (2/12): Dezvoltarea de servicii Web în stilul REST
 
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul RESTWADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
WADe 2014—2015 (02/12): Dezvoltarea de servicii Web în stilul REST
 
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
STAW 12/12: (Re)găsirea resurselor Web. De la motoare de căutare şi SEO la da...
 
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
CLIW 2014—2015 (11/12): Programare Web. API-uri JavaScript în contextul HTML5
 

More from Sabin Buraga

Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Sabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
Sabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Sabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
Sabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
Sabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
Sabin Buraga
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
Sabin Buraga
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
Sabin Buraga
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
Sabin Buraga
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
Sabin Buraga
 
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesHCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
Sabin Buraga
 
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignHCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
Sabin Buraga
 
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowHCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
Sabin Buraga
 
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) InteractionsHCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
Sabin Buraga
 

More from Sabin Buraga (19)

Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
STAW 09/12: Programare Web. API-uri JavaScript în contextul HTML5 (I)
 
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
STAW 10/12: Programare Web. API-uri JavaScript în contextul HTML5 (II)
 
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de clientSTAW 11/12: Performanţa aplicaţiilor Web la nivel de client
STAW 11/12: Performanţa aplicaţiilor Web la nivel de client
 
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
HCI 2018 (2/10) Human Factor. From interaction idioms to human capacities & c...
 
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and GuidelinesHCI 2018 (3/10) Design Models, Methodologies and Guidelines
HCI 2018 (3/10) Design Models, Methodologies and Guidelines
 
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual DesignHCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
HCI 2018 (4/10) Information Architecture. From Design Patterns to Visual Design
 
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to FlowHCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
HCI 2018 (5/10) Information Architecture. From Design Patterns to Flow
 
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) InteractionsHCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
HCI 2018 (6/10) Design Patterns for Social (Web/mobile) Interactions
 

CLIW 2017-2018 (9/12) Programare Web. Suita de tehnologii HTML5