Documente Academic
Documente Profesional
Documente Cultură
scopuri principale:
independența de dispozitiv
independența de software
scalabilitatea
ubicuitatea
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
World Wide Web
www.w3.org
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
World Wide Web
un serviciu Internet
alături de poștă electronică, transfer de fișiere etc.
WWW Internet
Web-ul e bazat pe modelul client/server al Internet-ului
utilizatorul
interfață cu
(Web)
Internet
Internet
(Web)
Server
sit/aplicație Web
Client
interfață cu
Internet
(Web)
Server
sit/aplicație Web
sit Web
sistem găzduind o serie de pagini (resurse) Web înrudite
ale unei organizații, companii sau persoane
Client
interfață cu
Internet
(Web)
Server
sit/aplicație Web
aplicație Web
colecție interconectată de pagini Web cu conținut generat
dinamic, oferind o funcționalitate specifică
Client
interfață cu
Internet
(Web)
Server
sit/aplicație Web
interacțiune Web
„dialogul” dintre utilizator(i) și aplicație are loc
via o interfață Web
Client
interfață cu
Internet
(Web)
Server
sit/aplicație Web
interacțiune Web
uzual, sit Web = aplicație Web
exemple de aplicații Web:
Internet
(Web)
Server
sit/aplicație Web
Client Date
interfață cu stocate
Internet
(Web)
Server
sit/aplicație Web
Cream / Markup
Sponge / Database
standarde deschise
structurarea conținutului: HTML (HyperText Markup Language)
stiluri de prezentare a datelor: CSS (Cascading Style Sheets)
transfer asincron: Ajax (Asynchronous JavaScript And XML)
ilustrații 2D în format vectorial: SVG (Scalable Vector Graphics)
conținut 3D: WebGL
mitul 2: cel mai important este programul
server: C#, Go, Java, JavaScript, PHP, Python, Ruby, Scala etc.
client: JavaScript + API-uri HTML5 implementate de browser
Controller
aplicație (server și/sau client)
demarcarea responsabilităților
(separation of concerns)
modelul de structurare a datelor este separat
de maniera de procesare (controlul aplicației) și
de modul de prezentare a acestora (interfața Web)
HTML, CSS, SVG, MathML, WebGL,… SQL, JSON, XML (XQuery), RDF (SPARQL)
View Model
💡
servere de aplicații, framework-uri etc.
Controller
aplicație (server și/sau client)
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
arhitectura aplicațiilor Web:
abordarea JavaScript
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
arhitectura aplicațiilor Web:
aplicații native (desktop, mobile, smart TV)
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
arhitectura aplicațiilor Web:
abordarea hibridă – e.g., book reader, chioșc informativ
www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
💡
Câteva exemplificări de aplicații Web?
Netflix
highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html
alternativă: arhitecturi fără server (serverless)
aplicația Web depinde semnificativ de componente
externe, disponibile în „nori” – (micro-)servicii
auten- func-
client „puternic” ționa-
tificare
☁
și/sau „isteț” BaaS litate1
control procesare comenzi
browser proce- comenzi
☁ sare
acces
func-☁
la API ționa-
litate2
produse căutare
Jesse Garrett, The Elements of User Experience (2nd Edition), New Riders, 2011
Vreau să dezvolt un proiect Web…
– http://profs.info.uaic.ro/~busaco/
S. Decker (2012)
mediu de execuție
(runtime environment)
Haunsenblas,
rulare
dezvoltare
A. Iqbal, M.Buraga
☁ ☁
Dr. Sabin-Corneliu
cod-sursă stocat instrumente de
(code repositories) dezvoltare (IDE)
☁
Jelastic, OpenStack, Windows Azure,…
– http://profs.info.uaic.ro/~busaco/
S. Decker (2012)
mediu de execuție
(runtime environment)
Haunsenblas,
rulare
dezvoltare
A. Iqbal, M.Buraga
☁ ☁
Dr. Sabin-Corneliu
cod-sursă stocat instrumente de
(code repositories) dezvoltare (IDE)
BitBucket Web: Cloud9, Koding, Ideone etc.
GitHub desktop: Eclipse, Visual Studio Code,…
metode agile
proiectare/programare „vizuală”
multimedia
…și altele
procese
uzual, dezvoltarea aplicațiilor Web se realizează iterativ
understand
evaluate study
build design
⎚
3—9 persoane
“For the first version of your app, start with only 3 people.”
https://gettingreal.37signals.com/
☆
system architect
data (content) architect
component architect
security architect
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
interacțiune
cu utilizatorul
creative lead
Web interface designer(s)
graphic artist(s)
HCI engineer
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
programare
server-side programmers
client-side programmers
data/component integration programmers
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
testare
testing lead
client-side tester(s)
server-side tester(s)
component tester(s)
integration tester(s)
operații tehnice
Multimedia Business
Designer(s) Expert
actualizează conținutul
via o interfață WYSIWYG (de exemplu, recurgând la un
sistem de management al conținutului – CMS sau wiki)
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
voluntar pentru proiecte open source (Web-ul ca hobby)
pe cont propriu – freelancer/solopreneur
companie mică – e.g., agenție (web studio)
în echipa de dezvoltare Web – organizație netehnică
în echipa unei organizații din IT (e.g., Apache, GitHub)
vizând tehnologiile Web?
Câteva inițiative (mai) recente
HTML5 <canvas>
transformări 3D
via foi de stiluri CSS (Cascading Style Sheets)
WebGL
aframe.io
resurse de interes:
google.github.io/physical-web/
www.slideshare.net/yiibu/presentations
experiment:
https://medium.com/@urish/exploring-the-physical-web-without-buying-beacons-efae51e36c2e
Web ubicuu la nivel fizic – physical Web
☗
analiză +
optimizare ③
aplicație/serviciu Web
beacon ④ procesare resursă
difuzare
URL extragere meta-date
① client Web
diverse direcții de interes:
automatizarea spațiilor de locuit (home automation)
industria auto (smart car)
reclame contextuale (smart advertising)
Web „inteligent” – semantic Web, Web of Data
modelarea resurselor – date, informații, cunoștințe –
standarde Web:
RDF (Resource Description Framework)
SKOS (Simple Knowledge Organizational System)
OWL (Web Ontology Language)