SlideShare una empresa de Scribd logo
1 de 14
Maurice de Beijer
What are we going to cover
 HTML Markup
 Cascading Style Sheets
 JavaScript
 Real Time Web
Who am I
 Maurice de Beijer.
 The Problem Solver.
 Microsoft CSD MVP.
 DevelopMentor instructor.
 Twitter:   @mauricedb of @HTML5SupportNL
 Blog:      http://msmvps.com/blogs/theproblemsolver/
 Web:       http://www.HTML5Support.nl
 E-mail:    mauricedb@computer.org
HTML5 Semantic markup
 New HTML5 elements
   <nav>
   <section>
   <header>
   <footer>
   <article>
   <aside>
Cascading Style Sheets
 Lots of new useful CSS3 features
 Previously they would require script or extra markup
    Using native CSS3 is much faster
CSS 3
 Rounded corners
   .box {border-radius: 10px;}
 Drop shadows
   .box {box-shadow: 10px 5px 5px grey;}
 Gradients
   .box {background: linear-gradient(Yellow, Lime);}
 Transforms
   .box:hover {transform: scale(1.2);}
 Transitions
   .box {transition: transform 1s ease-in;}
CSS 3
 Media queries
  @media screen and (max-width: 1024px) {
      aside {
         display: none;
      }
   }
 Multi column text
  article {column-count: 3; }
LESS/SASS = CSS done right
 CSS is nice but not perfect
    Static
    Lots of repetition
 LESS and SASS try to solve these problems
    Define variables
    Use mixins
    Nest rules
    Etc.
JavaScript libraries
 jQuery is the king!
 But these are many other useful ones
    Underscore.js
     Functional programming support
    Backbone.js
     Model - View - Controller
    Knockout.js
     Model - View - ViewModel
Unit testing JavaScript
 We need to test our code
   Even more important in a dynamic language
 Unit testing is a first must
 Many test libraries
   QUnit is used to test jQuery
JavaScript is the
Assembly Language
    for the Web
Compiling to JavaScript
 The list of languages that compile to JavaScript is
 long
   https://github.com/jashkenas/coffee-script/wiki/List-
    of-languages-that-compile-to-JS
 Some popular static ones:
    Google Web Toolkit
     Written in Java
    Script#
     Written in C#
    CoffeeScript
    TypeScript
The real time web
 HTML5 introduces WebSockets
 Socket communication between browser and server
    Fully duplex
    But very low level
 Several libraries build on top of this
    Socket.IO
    SignalR
Conclusion
 The world of the web developer is changing
    CSS3 additions mean we write less UI JavaScript
    There are many powerful frameworks
    Languages like TypeScript make it easier to write large
     applications
    The real time web will make this even more responsive


 Embrace change!

Más contenido relacionado

Más de Maurice De Beijer [MVP]

A foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software ProjectA foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software ProjectMaurice De Beijer [MVP]
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressMaurice De Beijer [MVP]
 
Build reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressBuild reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressMaurice De Beijer [MVP]
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureMaurice De Beijer [MVP]
 
Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18Maurice De Beijer [MVP]
 
Building reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and AzureBuilding reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and AzureMaurice De Beijer [MVP]
 
Building large and scalable mission critical applications with React
Building large and scalable mission critical applications with ReactBuilding large and scalable mission critical applications with React
Building large and scalable mission critical applications with ReactMaurice De Beijer [MVP]
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureMaurice De Beijer [MVP]
 
Building reliable web applications using Cypress
Building reliable web applications using CypressBuilding reliable web applications using Cypress
Building reliable web applications using CypressMaurice De Beijer [MVP]
 
Getting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent renderingGetting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent renderingMaurice De Beijer [MVP]
 
React suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred HitchcockReact suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred HitchcockMaurice De Beijer [MVP]
 
From zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScriptFrom zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScriptMaurice De Beijer [MVP]
 
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScriptFrom zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScriptMaurice De Beijer [MVP]
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisMaurice De Beijer [MVP]
 
Create flexible react applications using GraphQL API's
Create flexible react applications using GraphQL API'sCreate flexible react applications using GraphQL API's
Create flexible react applications using GraphQL API'sMaurice De Beijer [MVP]
 

Más de Maurice De Beijer [MVP] (20)

A foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software ProjectA foolproof Way to Estimate a Software Project
A foolproof Way to Estimate a Software Project
 
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
 
Build reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressBuild reliable Svelte applications using Cypress
Build reliable Svelte applications using Cypress
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18Concurrent Rendering Adventures in React 18
Concurrent Rendering Adventures in React 18
 
Building reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and AzureBuilding reliable applications with React, C#, and Azure
Building reliable applications with React, C#, and Azure
 
Building large and scalable mission critical applications with React
Building large and scalable mission critical applications with ReactBuilding large and scalable mission critical applications with React
Building large and scalable mission critical applications with React
 
Building Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & AzureBuilding Reliable Applications Using React, .NET & Azure
Building Reliable Applications Using React, .NET & Azure
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
Building reliable web applications using Cypress
Building reliable web applications using CypressBuilding reliable web applications using Cypress
Building reliable web applications using Cypress
 
Getting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent renderingGetting started with React Suspense and concurrent rendering
Getting started with React Suspense and concurrent rendering
 
React suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred HitchcockReact suspense, not just for Alfred Hitchcock
React suspense, not just for Alfred Hitchcock
 
From zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScriptFrom zero to hero with the Reactive extensions for JavaScript
From zero to hero with the Reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
The new React
The new React The new React
The new React
 
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScriptFrom zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScript
 
Why I am hooked on the future of React
Why I am hooked on the future of ReactWhy I am hooked on the future of React
Why I am hooked on the future of React
 
I am hooked on React
I am hooked on ReactI am hooked on React
I am hooked on React
 
Create flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apisCreate flexible React applications using GraphQL apis
Create flexible React applications using GraphQL apis
 
Create flexible react applications using GraphQL API's
Create flexible react applications using GraphQL API'sCreate flexible react applications using GraphQL API's
Create flexible react applications using GraphQL API's
 

Modern web development

  • 2. What are we going to cover  HTML Markup  Cascading Style Sheets  JavaScript  Real Time Web
  • 3. Who am I  Maurice de Beijer.  The Problem Solver.  Microsoft CSD MVP.  DevelopMentor instructor.  Twitter: @mauricedb of @HTML5SupportNL  Blog: http://msmvps.com/blogs/theproblemsolver/  Web: http://www.HTML5Support.nl  E-mail: mauricedb@computer.org
  • 4. HTML5 Semantic markup  New HTML5 elements  <nav>  <section>  <header>  <footer>  <article>  <aside>
  • 5. Cascading Style Sheets  Lots of new useful CSS3 features  Previously they would require script or extra markup  Using native CSS3 is much faster
  • 6. CSS 3  Rounded corners .box {border-radius: 10px;}  Drop shadows .box {box-shadow: 10px 5px 5px grey;}  Gradients .box {background: linear-gradient(Yellow, Lime);}  Transforms .box:hover {transform: scale(1.2);}  Transitions .box {transition: transform 1s ease-in;}
  • 7. CSS 3  Media queries @media screen and (max-width: 1024px) { aside { display: none; } }  Multi column text article {column-count: 3; }
  • 8. LESS/SASS = CSS done right  CSS is nice but not perfect  Static  Lots of repetition  LESS and SASS try to solve these problems  Define variables  Use mixins  Nest rules  Etc.
  • 9. JavaScript libraries  jQuery is the king!  But these are many other useful ones  Underscore.js Functional programming support  Backbone.js Model - View - Controller  Knockout.js Model - View - ViewModel
  • 10. Unit testing JavaScript  We need to test our code  Even more important in a dynamic language  Unit testing is a first must  Many test libraries  QUnit is used to test jQuery
  • 11. JavaScript is the Assembly Language for the Web
  • 12. Compiling to JavaScript  The list of languages that compile to JavaScript is long  https://github.com/jashkenas/coffee-script/wiki/List- of-languages-that-compile-to-JS  Some popular static ones:  Google Web Toolkit Written in Java  Script# Written in C#  CoffeeScript  TypeScript
  • 13. The real time web  HTML5 introduces WebSockets  Socket communication between browser and server  Fully duplex  But very low level  Several libraries build on top of this  Socket.IO  SignalR
  • 14. Conclusion  The world of the web developer is changing  CSS3 additions mean we write less UI JavaScript  There are many powerful frameworks  Languages like TypeScript make it easier to write large applications  The real time web will make this even more responsive  Embrace change!