State of the Web

44
State of the Web Dmitry Buzdin 01.06.2012

Transcript of State of the Web

Page 1: State of the Web

State of the WebDmitry Buzdin

01.06.2012

Page 3: State of the Web

Three Questions

•How Web evolved in the last 5 years?

•How browsers are different now?

•Why should you care?

Page 4: State of the Web

Evolution of the Web

Page 5: State of the Web

#!/usr/bin/perl

print "Content-type: text/html\n\n";print "<html><head>\n";print "<title>Web App</title>\n";print "</head>\n";print "<body><b>Hello World</b>\n";print "</body>;

Page 6: State of the Web

<HTML><HEAD><TITLE>Web App</TITLE><%! String message = "Hello, World"; %></HEAD><BODY><b><%= message%></b></BODY></HTML>

Page 7: State of the Web

<HTML><HEAD><TITLE>Web App</TITLE><%! String message = "Hello, World"; %></HEAD><BODY><b onclick=”alert(“Hello, World”);”><%= message%></b></BODY></HTML>

Page 8: State of the Web

Humans Discovered JavaScript

Page 9: State of the Web

AJAX

The most important invention of the XX century

Page 10: State of the Web

WEB 2.0 and RIA

Page 11: State of the Web

Typical Web App!

Page 12: State of the Web

Browser Wars

Page 13: State of the Web

Episode VII: Performance Wars

When: 2008 - 2009Reason: JavaScript performance

Page 14: State of the Web

IE7 Chrome19

Page 15: State of the Web

http://www.webkit.org/perf/sunspider/sunspider.html

0

175

350

525

700

Times Slower

650x Slower

IE7

Chrome19

Page 16: State of the Web

JavaScript is so fast today, that none

knows/cares which browser is the

fastest

Page 17: State of the Web

When: 2011 - nowReason: HTML5

Episode VIII: Feature Wars

Page 18: State of the Web

Revolutionary update to the Web

Page 19: State of the Web

Browsers are competing now

for HTML5 completeness

Page 20: State of the Web

New versions every

few months

Page 21: State of the Web

Test Your Browser

http://html5test.com/

Page 22: State of the Web

Even TVs support HTML5 now

Microwaves are next...

Page 23: State of the Web

Some of the New HTML5 Features•LocalStorage

•IndexedDB

•Web Sockets

•SVG

•Canvas & Web GL

Page 24: State of the Web

LocalStorage•Key-value persistent

storage

•Either linked to Session or Domain

localStorage.setItem(“item”, “value”); var result = localStorage.getItem("item");

Page 25: State of the Web

IndexedDB

•Real database

•JSON object store

•Transactional

•Indexable

•5MB storage limit in Chrome

Page 26: State of the Web

JSON{id: 1, value: "ok" items: [     {       id:2,       value: true     },     {id:3} ]}

Page 27: State of the Web

Web Sockets

•Separate TCP connection on port 80

•Free from HTTP limitations

•Server push possible

•Peer-to-Peer possible

Page 28: State of the Web

SVG

•Scalable Vector Graphics

•Resizable vector <svg xmlns="http://www.w3.org/2000/svg" version="1.1">   <circle cx="100" cy="50" r="40"

stroke="black" stroke-width="2" fill="red" /></svg>

Page 29: State of the Web

Canvas & WebGL

•2D/3D graphics

•Hardware accelerated

•Next generation of online games

Page 30: State of the Web

WEB 1.0 Architecture

Static PagesCookies

Session StorageGraphics RenderingPage Templates

HTTP

Page 31: State of the Web

WEB 2.0 Architecture

Dynamic PagesSession StorageGraphics

Security & Persistence

HTTP WebSockets

Page 32: State of the Web

No more work for backend

Page 33: State of the Web

Still plenty of work, but huge demand for the

Page 34: State of the Web
Page 35: State of the Web

One HTML5 will be standardized

in 2014

Page 36: State of the Web

HTML5 = JavaScript ?

Page 37: State of the Web

Why People Rave about JavaScript?•Extremely simple*

•Dynamic

•Productive

•Language of the Web

Page 38: State of the Web

Why not JavaScript•Was not intended to power

the Web

•Poor language design decisions

•Too dynamic

•Too simple

Page 39: State of the Web

JavaScript Alternatives

•Oracle JavaFX

•Google GWT, Dart

•JVM Langs - Fantom, Kotlin, Clojure

•CoffeeScript

Page 40: State of the Web

Web is inevitable!

Page 41: State of the Web

Web is everywhere!DesktopsTablets

SmartphonesTVs

Microwaves?

Page 42: State of the Web

Time to learn HTML5

•Building great applications is simpler than ever

•Programming is becoming mainstream

•HTML5 is a platform, not a tool or language

Page 43: State of the Web

“May you live in interesting times”

Chinese curse

Page 44: State of the Web

Thank You!