2014.06.25 State of the Web Development 2014

27
State of the Web Development Marco Parenzan Edition 2014

description

Which are pillars of the Web Development? Pillars are useful to understand witch functionalities you have to find in a Development web Stack, like ASP.NET MVC.

Transcript of 2014.06.25 State of the Web Development 2014

Page 1: 2014.06.25 State of the Web Development 2014

State of the Web Development

Marco ParenzanEdition 2014

Page 2: 2014.06.25 State of the Web Development 2014

Click icon to add picture

Marco ParenzanFormazione & Divulgazione con 1nn0va

Formazione & Progettazione con ITS Kennedy

Ricerca e Innovazione con Servizi Cgn

www.slideshare.net/marco.parenzan

marco [dot] parenzan [at] libero/live [dot] it

www.innovazionefvg.net

Developer e Architect in .NET e Web

Cloud (Candidate) Developer

Loves functional programming

Some videogames for fun

Page 3: 2014.06.25 State of the Web Development 2014

WEB PILLARS

Page 4: 2014.06.25 State of the Web Development 2014

Web is build upon…

Information is Content or Data HTML to explain Content

JSON to explain Data

CSS3 Content Presentation

JAVASCRIPT Content and Data Manipulation

HTTP Content and Data Transport

Client HW/SW appliance for content and data consuming

Page 5: 2014.06.25 State of the Web Development 2014

Modern Html

Html5 is pure content Old Html (1-4) is pure presentation; useful content only for humans

Modern Html is just Syntax and Semantic, no more presentation

Html is adorned with qualification (class attributes)

Page 6: 2014.06.25 State of the Web Development 2014

JSON

Modern Data representation

One of the pillars of the Rich Client (Web) Revolution AJAX

No more XML (unuseful in Web Clients)

Page 7: 2014.06.25 State of the Web Development 2014

Difference between Content and Data

Data is information organized as a name/value containers

Content is information organized as a role/meaning container

Page 8: 2014.06.25 State of the Web Development 2014

When Information is Content?

Think for example about Tables

Information is content when you load table information server side Page take longer to load

But table is full

Your html page come from a web SITE

Page 9: 2014.06.25 State of the Web Development 2014

When Information is Data?

Think for example about Tables

Information is data when you load table information client side Faster loading

More responsiveness

But table is initially empty

Your html page come from a web APPLICATION

Page 10: 2014.06.25 State of the Web Development 2014

Google indexing don’t execute AJAX

So you need to model information as HTML and load it server side

Page 11: 2014.06.25 State of the Web Development 2014

Take care of your informationsInformations don’t depend on presentation

Page 12: 2014.06.25 State of the Web Development 2014

Html is no (more) free

Writing Html is not a waste of time (it’s not mapping)

And modern web is a polyglot environment

So learn HTML and write it by hand

Page 13: 2014.06.25 State of the Web Development 2014

CSS3

CSS3 gives presentation information to the meaning (expressed by classes)

Cascading is on classes Not on style attributes

Real role separation between Designer and Developer

LESS & SASS are your new friends Find which is best for you (not absolute best)

CSS frameworks offer (Bootstrap)

Page 14: 2014.06.25 State of the Web Development 2014

JAVASCRIPT E TYPESCRIPT

Content and Data Manupulation

In the client (browser)

New Opportunities OOP and DDD

On the Client (Browser)

Page 15: 2014.06.25 State of the Web Development 2014

Javascript Fullstack

Gives Javascript based applications “enterprise class” organization http://www.smashingmagazine.com/2013/11/21/introduction-to-full-stack-javascript/

Architectural Pattern View Models

Data Binding

Modularization AMD

Build systems Tasks

Compilers/Code Generators

Page 16: 2014.06.25 State of the Web Development 2014

Http, the web protocol

Protocol for transfer of various data formats between server and client. Plaintext

Hypertext

Json

Images

Video

Sound

HTTP is a stateless protocol In other words, the current request does not know what has been done in the previous

requests.

Page 17: 2014.06.25 State of the Web Development 2014

ReST

Http is no more just Request/Response, GET and POST

REpresentational State Transfer

Url A URL (Uniform Resource Locator) is used to uniquely identify a resource over the web. URL

has the following syntax: protocol://hostname:port/path-and-file-name

Http Verbs Http is a full Web Services with actions (verbs) on resource

No need for SOAP

Page 18: 2014.06.25 State of the Web Development 2014

Client

A three dimensional problem

1. Information Content

Data

2. With Tool Browser

Apps

3. On Device Desktop

Mobile

Page 19: 2014.06.25 State of the Web Development 2014

HOSTING THE WEB

Page 20: 2014.06.25 State of the Web Development 2014

Legacy Hosting

Where On Premise

Provider

Features Tailored on a fixed scenario – sized for maximum capacity

Page 21: 2014.06.25 State of the Web Development 2014

Modern Hosting

Where

On Premise

Cloud

Features

On demand

Self Service

Multi Tenant

Elasticity

Scaling

Availability

Ubiquitous

Flexibility

In one word: quality of service

Page 22: 2014.06.25 State of the Web Development 2014

Microsoft Cloud Initiative

Windows is Microsoft Cloud Platform… …From Windows Server is for Private (On Premise) Cloud…

…to Azure is for Public Cloud…

…through the Hybrid Cloud

Same code base, same tools, same experience

Page 23: 2014.06.25 State of the Web Development 2014

ON THE WEB WITH ASP.NET

Page 24: 2014.06.25 State of the Web Development 2014

Server: the missing part (up to now )

Web is content and data availability through HTTP protocol

Which tools expose HTTP protocol?

Page 25: 2014.06.25 State of the Web Development 2014

History of Web Server Models

Request (GET) of static content

Request/Response of dynamic content CGI

ASP

PHP

Designer era (event base) Web Forms

Structure/Enterprise class models MVC

Ruby On Rails

ASP.NET MVC

Page 26: 2014.06.25 State of the Web Development 2014

Modern Web Applicationswith One ASP.NET

Legacy ASP

Web Forms

Modern Web Pages/Razor

MVC

Services Web API

Real Time SignalR

Apps Single Page Apps

Page 27: 2014.06.25 State of the Web Development 2014

State of the Web Development

Marco ParenzanEdition 2014