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.
1. State of the Web Development
Marco Parenzan
Edition 2014
2. Marco Parenzan
Formazione & 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
4. 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
5. 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)
6. JSON
Modern Data representation
One of the pillars of the Rich Client (Web) Revolution
AJAX
No more XML (unuseful in Web Clients)
7. Difference between Content and Data
Data is information organized as a name/value containers
Content is information organized as a role/meaning container
8. 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
9. 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
10. Google indexing don’t execute AJAX
So you need to model information as HTML and load it server side
11. Take care of your informations
Informations don’t depend on presentation
12. 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
13. 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)
14. JAVASCRIPT E TYPESCRIPT
Content and Data Manupulation
In the client (browser)
New Opportunities
OOP and DDD
On the Client (Browser)
16. 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.
17. 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
18. Client
A three dimensional problem
1. Information
Content
Data
2. With Tool
Browser
Apps
3. On Device
Desktop
Mobile
20. Legacy Hosting
Where
On Premise
Provider
Features
Tailored on a fixed scenario – sized for maximum capacity
21. Modern Hosting
Where
On Premise
Cloud
Features
On demand
Self Service
Multi Tenant
Elasticity
Scaling
Availability
Ubiquitous
Flexibility
In one word: quality of service
22. 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
24. Server: the missing part (up to now )
Web is content and data availability through HTTP protocol
Which tools expose HTTP protocol?
25. 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
26. Modern Web Applications
with One ASP.NET
Legacy
ASP
Web Forms
Modern
Web Pages/Razor
MVC
Services
Web API
Real Time
SignalR
Apps
Single Page Apps
27. State of the Web Development
Marco Parenzan
Edition 2014