Sunteți pe pagina 1din 101

…în 2016

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Dr. Sabin Buraga
Facultatea de Informatică, UAIC – Iași, România
profs.info.uaic.ro/~busaco/

Ce este Web-ul?

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


World Wide Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


“a common information space
in which we communicate by sharing information”

Sir Tim Berners-Lee


a creat Web-ul în decembrie 1989

detalii istorice în Sabin Buraga, 25 de ani de Web (2014)


http://www.slideshare.net/busaco/25-de-ani-de-web
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
World Wide Web

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

bazat pe standarde deschise stipulate de


Consorțiul 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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


cerere
client server

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Web Web
răspuns

Web-ul e bazat pe modelul client/server al Internet-ului


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/

clientul Web (browser, player multimedia,
aplicație desktop/mobilă, robot al unui
motor de căutare,…) preia/trimite conținuturi
– adică date – (de) la server

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


pentru a reprezenta aceste conținuturi,
se adoptă diverse formate de date

cel mai popular:


HTML (HyperText Markup Language)
https://www.w3.org/html/
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
conținut ≅ <marcajeHTML versiune="5.1" /> +
{ foi de stiluri: CSS } à la mode
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/

aceste conținuturi sunt stocate
în documente (pagini) Web

mai general, resurse Web


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
identificator unic

resursele vor fi identificate printr-o adresă Web


URL (Uniform Resource Locator)
exemplu: http://www.slideshare.com/busaco/presentations/
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
paginile Web – uzual, documente HTML –
includ referințe către alte resurse de interes
via adrese (URL-uri)hipertext (hipermedia)
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
Web-ul reprezintă un graf hipermedia

explorat pe baza interacțiunii cu utilizatorul via URL-uri


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
la nivel de server Web, resursele (conținuturile)
solicitate de client – via un URL – sunt fie stocate static
(i.e. create manual), fie generate dinamic – pe baza
unor programe implementând diverși algoritmi
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
transferul datelor între client și server e stabilit
de un protocol de comunicație
HTTP (HyperText Transfer Protocol)
adrese Web protocoale Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


URI = URL + URN HTTP, HTTPS,…

codificarea nume de protocoalele


datelor domenii Internet
Unicode DNS TCP/IP

abc…z .edu .org .info .ro TCP / UDP


șбөϞঢ়លꑸ .uaic.ro IP, ICMP,…
⠳ⵙ⋇⚉𝔜 .info.uaic.ro acces la mediu
Client

utilizatorul
interfață cu

(Web)
Internet

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Client
interfață cu

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul

Internet
(Web)

Server
sit/aplicație Web
Client
interfață cu

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul

Internet
(Web)

Server
sit/aplicație Web

interacțiune Web
uzual, sit Web = aplicație Web
exemple de aplicații Web:

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Cloud9, Coursera, Devdocs.io,
Dropbox, GitHub, info.uaic.ro,
Instagram, JSBin, Medium,
OpenStreetMap, PHPMyAdmin,
Reddit, Quora, SlideShare,
TED.com, Tumblr, Vimeo,
webmin, Wikipedia, WordPress

…și multe, multe, multe altele


Client Date
interfață cu stocate

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul persistent

Internet
(Web)

Server
sit/aplicație Web
Client Date
interfață cu stocate

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


utilizatorul persistent

Internet
(Web)

Server
sit/aplicație Web

accesul la date poate fi realizat via (micro-)servicii Web


software oferind o funcționalitate specifică în urma
căreia se obțin date de interes – uzual, apelând la
un API (Application Programming Interface)
💡
a unei aplicații Web?
Care e arhitectura generică

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


tipic, o aplicație Web implică trei strate (3-tier)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Internet
(Web)

client server de aplicații stocare


(interface) (application) (persistence)
Fruit / Presentation

Cream / Markup

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Custard / Page Logic

Jelly / Business Logic

Sponge / Database

C. Henderson, Scalable Web Architectures, Web 2.0 Expo, 2007: iamcal.com/talks/


mitul 1: cea mai importantă este interfața

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Aplicație Web = Interfață + Program + Conținut (Date)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Internet
(Web)

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Aplicație Web = Interfață + Program + Conținut (Date)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Internet
(Web)

server: C#, Go, Java, JavaScript, PHP, Python, Ruby, Scala etc.
client: JavaScript + API-uri HTML5 implementate de browser

servere de aplicații Web, framework-uri,


biblioteci, componente,…
(“content is king”)
mitul 3: cele mai importante sunt datele

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Aplicație Web = Interfață + Program + Conținut (Date)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Internet
(Web)

recurgerea la modele diverse


relațional – interogare via SQL (Structured Query Language)
bazat pe grafuri – o fațetă a „mișcării” NoSQL
cheie-valoare – e.g., formatul JSON (JavaScript Object Notation)
arborescent – XML (Extensible Markup Language)
Aplicație Web = Interfață + Program + Conținut (Date)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


mitul 1: cea mai importantă este interfața
mitul 2: cel mai important este programul
mitul 3: cele mai importante sunt datele

fapt: sunt importante toate!


View Model

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


(prezentare + interacțiune) (structura datelor)

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


(prezentare + interacțiune) (structura datelor)

💡
servere de aplicații, framework-uri etc.

Controller
aplicație (server și/sau client)

arhitectura generică a unei aplicații Web


va consta dintr-un set de resurse referitoare la
model, view și controller – MVC
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
uzual, mediul de dezvoltare – la nivel de server/client –
(i.e. framework-ul Web) impune o anumită structură
a fișierelor aplicației ce va fi implementată
├───app
│ ├───assets
│ │ ├───images
│ │ ├───javascripts
│ │ └───stylesheets
│ ├───controllers

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


│ ├───helpers
│ ├───mailers
│ ├───models
│ └───views
│ └───layouts
├───config
├───db
├───doc
├───lib
├───log
├───public
├───script
├───test
│ ├───fixtures
│ ├───functional
│ ├───integration
│ ├───performance
│ └───unit „scheletul” unei aplicații Web
├───tmp
├───vendor create în Ruby on Rails
└───plugins
rubyonrails.org
├───app
│ ├───Config
│ ├───Console structura de directoare
│ ├───Controller
│ ├───Lib în cazul unei aplicații Web
│ ├───Locale folosind CakePHP

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


│ ├───Model
│ │ ├───Behavior cakephp.org
│ │ └───Datasource
│ ├───Plugin
│ ├───Test
│ ├───tmp
│ ├───Vendor
│ ├───View
│ │ ├───Elements
│ │ ├───Errors
│ │ ├───Helper
│ │ ├───Layouts
│ │ ├───Pages
│ │ └───Scaffolds
│ └───webroot
│ ├───css
│ ├───files
│ ├───img
│ └───js
├───lib framework-uri PHP similare
├───plugins
└───vendors www.phpwact.org/php/mvc_frameworks
/
│ app.js diverse configurări ale aplicației
│ package.json
├───bin
├───data specificarea modelelor de date
├───node_modules

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


│ ├───body-parser
│ ├───cookie-parser module Node.js adiționale
│ ├───debug
│ ├───express
│ │ ├───lib
│ ├───jade
│ ├───morgan
├───public conținut static destinat clientului
│ ├───images
│ ├───javascripts (foi de stiluri CSS, biblioteci JS
│ └───stylesheets procesate de browser, imagini,…)
│ style.css
├───routes rute vizând deservirea cererilor pe
│ index.js
│ users.js baza URL-urilor solicitate de client
└───views
error.jade specificarea interfeței (view-ul)
index.jade via machete de vizualizare
layout.jade
descrise cu JADE: jade-lang.com/
eșafodajul unei aplicații Web bazate pe Express – expressjs.com
arhitectura aplicațiilor Web:
abordarea MVC tradițională

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


client „prostuț” server „gras”
(dumb) (fat)

pagini <Web/> abstrac-


prezen- proce-
browser tizare
HTML, CSS,… tare sare
date
frontend backend

www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
arhitectura aplicațiilor Web:
abordarea JavaScript

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


client „puternic” server „slab”
(HTML5) (thin)

recurgere la API abstrac-


browser prezen- proce-
tizare
modern tare JSON, XML, sare
CSV și altele
date
aplicație JavaScript
(eventual, via app store)

www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
arhitectura aplicațiilor Web:
aplicații native (desktop, mobile, smart TV)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


client „isteț” server „slab”
(smart device) (thin)

sistem recurgere la API abstrac-


de prezen- proce-
tizare
operare tare JSON sare
XML
date
aplicație nativă CSV
C#, Java, Obj-C, Swift,… …
(uzual, via app store)

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


client „puternic” server de server „slab”
și/sau „isteț” prezentare (thin)

pagini API abstrac-


prezen- proce-
browser tizare
HTML tare JSON sare
et al.
date

www.leaseweblabs.com/2013/10/api-first-architecture-fat-vs-thin-server-debate/
💡
Câteva exemplificări de aplicații Web?

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


client(i)
firewall
proxy

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


middleware
server(e) Web
server(e) de aplicații
framework-uri, biblioteci, alte componente
server(e) de stocare persistentă – e.g., baze de date
server(e) de conținut multimedia
server(e) de management al conținutului (CMS)
aplicații/sisteme tradiționale (legacy)

eventual, recurgând la servicii în „nori” – cloud(s)


(găzduire, infrastructură scalabilă,
procesare paralelă, monitorizare,…)
Aplicație Procesare la nivel de server Stocare
Web (backend) persistentă
eBay Java, Node.js (JavaScript) Oracle DB
Hack, PHP (HHVM), Python, MySQL,

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Facebook C++, Java, Erlang, D, Haskell, Apache HBase,
XHP (extensie PHP/Hack) Apache Cassandra
Google C, C++, Go, Java, Python BigTable, MariaDB
Linkedin Java, JavaScript, Scala Voldemort
Pinterest Django (Python), Erlang MySQL, Redis
MySQL, Cassandra,
Twitter C++, Java, Scala, Rails (Ruby)
Hadoop, Vertica
Wikipedia PHP, Hack MySQLMariaDB
WordPress PHP / Node.js – Calypso MySQL
YouTube C, C++, Python, Java, Go BigTable, MariaDB
en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites
http://profs.info.uaic.ro/~busaco/teach/courses/web/web-film.html#week3
studiu de caz

Netflix

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


scop: oferire de conținut video la cerere (streaming) +
televiziune Web (Web TV)
servicii disponibile pe dispozitive/platforme multiple
recurge și la tehnologii deschise – netflix.github.io/
procesare backend Java, Python, Node.js (JavaScript)
procesare frontend React (JavaScript)
sisteme de stocare MySQL, Apache Cassandra, Apache
Hadoop, Apache Hive, Oracle DB

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Amazon EC2 (procesare video)
servicii în „nori”
Amazon S3 (stocare)
servicii SQL Amazon RDS
servicii NoSQL Amazon DynamoDB
management de cod GitHub
integrare continuă Jenkins
gestionare servere Apache Mesos
distribuire de conținut Open Connect CDN (FreeBSD,
(content distribution network) Nginx), Akamai, Level 3, Limelight
monitorizare Apache Chukwa

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


☁ ☁
BaaS FaaS

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

BaaS = (Mobile) Backend As A Service FaaS = Functions As A Service

Mike Roberts (2016) – http://martinfowler.com/articles/serverless.html


⧉☆💡
Aspecte importante vizând
dezvoltarea de aplicații Web?

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/

aplicații Web  sisteme software complexe,
în evoluție permanentă
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
mijloace multiple de interacțiune Web cu utilizatorul

mobil laptop PC tabletă (smart) TV ecran urban


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
creșterea masei de utilizatori,
având așteptări tot mai mari din partea software-ului
de la conținut (hiper)textual
la aplicații Web sociale + interacțiune naturală
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
suportul variat privind dezvoltarea de aplicații
(limbaje, API-uri, SDK-uri, biblioteci, framework-uri,...)
oferit de platforma hardware/software
la nivel de server(e) și/sau de client(i)
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
neadaptarea la cerințele economice (de tip business)
development vs. marketing vs. management
scopuri interacțiune facilități indexare instrumente
psihologie controale tehnologii structurare metodologii
comportament limbi naturale algoritmi meta-date stimuli

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


⧉ 💡 
utilizatori interfață software conținut creatori

adaptare după Crumlish & Malone, 2009


Etape în dezvoltarea unei aplicații Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Cerințe – requirements
Analiză și proiectare – software design
Implementare – build
Testare – testing
Exploatare – deployment
Mentenanță – maintenance
Evoluție – evolution
aplicație Web
(produs software)

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


funcționalitate
+
informații oferite

Jesse Garrett, The Elements of User Experience (2nd Edition), New Riders, 2011

Vreau să dezvolt un proiect Web…

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


procesul actual de dezvoltare și exploatare
a aplicațiilor Web – Development As A Service

– 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)

de parcurs Sabin Buraga, Cu codul în „nori” (2015)


http://www.slideshare.net/busaco/cu-codul-n-nori
DigitalOcean, Google Cloud Platform, Heroku,


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,…

instrumente utile la https://github.com/ripienaar/free-for-dev


Parametrii unui proiect Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


obiectiv principal
durată
cost
abordare
tehnologii
procese
rezultat
resurse umane
profilul echipei
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/

obiectiv principal

crearea unui produs software utilizabil


în cât mai scurt timp posibil

durată

aproximativ 2—6 luni

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


cost

de ordinul miilor de Euro

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


abordare

prototipizare – wireframe, mockup,…

metode agile

asamblare de componente reutilizabile


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


tehnologii

componente (servicii Web, API-uri publice,


framework-uri, biblioteci, plugin-uri, extensii etc.)

proiectare/programare „vizuală”

multimedia

…și altele
procese
uzual, dezvoltarea aplicațiilor Web se realizează iterativ

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


„nu te aștepta să-ți iasă din prima…”

understand

evaluate study

build design

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


rezultat

reutilizabilitate mare a codului,


recurgerea la componente/limbaje/platforme standard

aplicații implementate uzual conform standardelor

designul vizual este, de cele mai multe ori, unicat


Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
♚♞♟
resurse umane

3—9 persoane

“For the first version of your app, start with only 3 people.”
https://gettingreal.37signals.com/

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


profilul echipei

specialiști în interacțiune – uzual: designeri Web


+
dezvoltatori (programatori) Web – la nivel client/server
+
arhitecți de baze de date
+
specialiști în marketing și/sau relații cu publicul
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/

Care-i echipa de dezvoltare
a unei aplicații Web de anvergură?
site editor
project manager
management

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


dezvoltare

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


(arhitectură)

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Webmaster
hardware/network technicians
network administrator(s)
database administrator(s)
backup operator
uptime monitor
security monitor(s)
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
marketing
content producer(s)
copywriter(s)
content editor(s)
branding & advertising expert(s)
direct e-marketer
public relations personnel
echipa proiectului Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


management funcționalitate conținut (date)

Web Project Software Domain


Manager Engineer(s)* Expert

Multimedia Business
Designer(s) Expert

*frontend sau backend sau full-stack (frontend & backend)


Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Designer

standarde Web la nivel de client: HTML5, CSS3,…


cunoștințe vizând navigatoarele Web
experiență în design vizual + design responsiv
cunoștințe privind interacțiunea Web (mobilă)
familiaritate cu JavaScript (+framework-uri/biblioteci)
paradigme de interacțiune naturală
(tactilă, bazată pe gesturi, realitate virtuală/îmbogățită – VR/AR)
Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Developer

cel puțin 1 limbaj obiectual – la nivel de server/client


protocoale și standarde Internet + Web
cunoștințe privind baze de date
(inclusiv NoSQL și/sau XML)
cunoștințe vizând servicii Web
familiar cu alte paradigme de programare
(e.g., funcțională, distribuită)
securitate & performanță Web
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
Web Technician

asistent (ajutor) al webmaster-ului,


designerului sau dezvoltatorului Web

poate efectua operații tehnice:


instalare, configurare, monitorizare,…
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
Web Maintainer

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


Interacțiuni naturale
dintre utilizator(i) și aplicațiile Web

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


tehnologii implementate de navigatorul Web actual
inclusiv la nivelul dispozitivelor mobile
www.w3.org/Mobile/mobile-web-app-state
Grafică 2D/3D raster și/sau vectorială + animații

HTML5 <canvas>

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


SVG (Scalable Vector Graphics)

transformări 3D
via foi de stiluri CSS (Cascading Style Sheets)

WebGL

a se studia și resursele disponibile la


http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html
http://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
realitate virtuală & îmbogățită
în browser (mobil) și/sau folosind un dispozitiv dedicat

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


vizor.io

aframe.io

WebVR – specificație în lucru la Consorțiul Web: webvr.info


Web ubicuu la nivel fizic – physical Web
far (beacon) = dispozitiv fizic capabil să expună un URL

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


scanner/browser = entitate ce scanează, recunoaște,
procesează și prezintă un set de URL-uri
proxy = un serviciu Web (în „nori”) opțional cu rol de
protejare a utilizatorului + îmbunătățire a performanței

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

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


proxy ②


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 –

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


disponibile pe Web pentru a fi „înțelese” de calculatoare

standarde Web:
RDF (Resource Description Framework)
SKOS (Simple Knowledge Organizational System)
OWL (Web Ontology Language)

pentru detalii, de studiat:


Sabin Buraga, Why 5-Star Data? (2016)
http://www.slideshare.net/busaco/why-5star-data
Sabin Buraga, Dezvoltarea aplicațiilor Web (curs master FII, UAIC)
http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Cine este Linus Torvalds?

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


PersonWithOccupation
ComputerPioneers
FinnishComputerProgrammers
diverse URL-uri
FreeSoftwareProgrammers
desemnând concepte
LinuxKernelHackers
(things, not strings)
LivingPeople
PeopleInInformationTechnology
Golfer

interogări asupra DBpedia


(varianta procesabilă de către mașină a enciclopediei Wikipedia)

Bun… Și eu ce fac?

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


fii curios și iscoditor

învață

Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/


(citește + experimentează + cere ajutor + reutilizează)

creează și arată
(design, cod-sursă, prototipuri, exemple demonstrative,…)

acumulează
experiență, „aură”, statut social etc.reputație

concurează
(…atât de multe oportunități)

ajută/instruiește pe ceilalți
Dr. Sabin-Corneliu Buraga – http://profs.info.uaic.ro/~busaco/
Mult succes!
imagini medievale furnizate de http://discardingimages.tumblr.com/

S-ar putea să vă placă și