SlideShare a Scribd company logo
1 of 105
Download to read offline
Você precisa
aprender Web
uma análise de tecnologias
jcemer.com
github.com/jcemer
twitter.com/jcemer
speakerdeck.com/jcemer
porto alegre
A Internet conecta computadores, 

a Web conecta pessoas
http://www.computerhistory.org/revolution/networking/19/314
Internet e Web
JavaScript
Web APIs
HTML
CSS
básico
comunicação
scripting
gráficos
HTTP
TCP/IP
SVG
WebGL
JavaScript
Web APIs
HTML
CSS
interface
SVG
WebGL
Conjunto de tecnologias para
construir interfaces com o usuário
Web
Espaço em que as interações entre
humanos e máquinas acontecem
Interface de usuário
http://en.wikipedia.org/wiki/User_interface
$_
Linha de 

comando
$_
Linha de 

comando
x
x
Aplicações
nativas
$_
Linha de 

comando
x
x
Aplicações
nativas
ENCONTRO
LOCAWEB



CONHEÇA OS
PALESTRANTES
Web
x
Tecnologias para
criação de interfaces
de linha de comando
#!/usr/bin/env bash
set -e
issue_number="$1"
usage() {
echo "git test <issue-number>"
}
if [ -z "$issue_number" ]; then
usage
exit 1
fi
git fetch --prune
remote_branch="$(git branch -a | grep remotes | grep $issue_number | cat)"
if [ -z "$remote_branch" ]; then
echo "Issue $issue_number not found"
exit 1
fi
remote_branch="${remote_branch##*/}"
git checkout ${remote_branch}
https://github.com/juanibiapina/git-flow
Tecnologias para
criação de interfaces
nativas
#include <gtk/gtk.h>
static void
activate (GtkApplication *app,
gpointer user_data) {
GtkWidget *window;
GtkWidget *button;
GtkWidget *button_box;
window = gtk_application_window_new (app);
gtk_window_set_title (GTK_WINDOW (window), "Window");
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
gtk_container_add (GTK_CONTAINER (window), button_box);
button = gtk_button_new_with_label ("Hello World");
g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy)

, window);
gtk_container_add (GTK_CONTAINER (button_box), button);
gtk_widget_show_all (window);
}
int
main (int argc, char **argv) {
/* ... */
}
https://developer.gnome.org/gtk3/stable/gtk-
getting-started.html
Tecnologias atuais
para criação de
interfaces 

nativas
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136"
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
</dependencies>
<scenes>
<!--Master-->
<scene sceneID="pY4-Hu-kfo">
<objects>
<navigationController title="Master" id="RMx-3f-FxP" sceneMemberID="viewController">
<navigationBar key="navigationBar" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill"
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="7bK-jq-Zjz" kind="relationship" relationship="rootViewController" id="tsl-Nk-0bq"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="8fS-aE-onr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-38" y="-630"/>
</scene>
<!--Detail-->
<scene sceneID="yUG-lL-AsK">
<objects>
<viewController title="Detail" id="JEX-9P-axG" customClass="DetailViewController" sceneMemberID="viewController
<layoutGuides>
<viewControllerLayoutGuide type="top" id="SYR-Wa-9uf"/>
<viewControllerLayoutGuide type="bottom" id="GAO-Cl-Wes"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="svH-Pt-448">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Detail view
<rect key="frame" x="20" y="292" width="560" height="17"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" size="system"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"
<constraints>
<constraint firstItem="0XM-y9-sOw" firstAttribute="leading" secondItem="svH-Pt-448" secondAttribute
<constraint firstItem="0XM-y9-sOw" firstAttribute="centerY" secondItem="svH-Pt-448" secondAttribute
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="io.embarque.embarque.activities.AccurateFeedback">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/cover"
android:layout_width="match_parent"
android:layout_height="110dp" />
<View
android:id="@+id/layer"
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@drawable/backbar"/>
Linguagens de programação
maduras mas com uma definição
de interface engessada
utilizando XML
Tecnologias web
atuais para criação
de interfaces
HTML & CSS
(& SVG)
<html>
<head>
<title>
ActiveReports Document
</title><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
</head><body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<style>
@page{size: 8.5in 11in;margin-top:0.2in;margin-left:0.8in;margin-right:
0.4in;margin-bottom:0.2in;}
</style><div style="page-break-inside:avoid;">
<div style="position:relative;width:7.3in;height:10.6in;">
<span style="position:absolute;top:0.7638889in;left:0.06388891in;width:
1.954615in;height:0.2061111in;font-family:Times New Roman;font-size:
10pt;color:#000000;vertical-align:top;"><nobr>Nils Ericsonsgymnasiet</nobr></
span>
<span style="position:absolute;top:0.9838889in;left:0.06388891in;width:
1.560914in;height:0.2461111in;font-family:Times New Roman;font-size:
14pt;color:#000000;vertical-align:top;"><nobr>FP1AMA1201</nobr></span>
<span style="position:absolute;top:1.467736in;left:0.001999974in;width:
7.265717in;height:0.01in;overflow:hidden;background-color:Black;"></span>
<span style="position:absolute;top:1.243889in;left:0.06388891in;width:
0.2861111in;height:0.2061111in;font-family:Times New Roman;font-size:
10pt;color:#000000;font-weight:bold;vertical-align:top;"><nobr>Nr</nobr></
span>
<span style="position:absolute;top:1.467736in;left:0.001999974in;width:
7.265717in;height:0.01in;overflow:hidden;background-color:Black;"></span>
<span style="position:absolute;top:1.243889in;left:0.4638888in;width:</body>
</html>
HTML Canvas Audio

Video
App 

Cache
Input

types
CSS 2 Transforms Animation Gradient Flexbox Filter
SVG
Especificações
Responsive 

Design
Sistemas de 

escrita de CSS
WAI-ARIAMicroformats
Padrões
HTML & CSS
(& SVG)
As tecnologias evoluíram e são
uma ótima opção
JavaScript
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
x.src=x.oSrc;
}
function MM_preloadImages() { //
v3.0document.getElementById('navcontainer').style.visibility = 'hidden';
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0;
i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array;
for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc)
x.oSrc=x.src; x.src=a[i+2];}
}
Apesar de ser uma linguagem muito fácil
de aprender e escrever, o JavaScript
nasceu com uma série de deficiências
1995
2008
JS Object

properties
Array 

manipulation
Arrow 

functions
Block

scoping
Classes Default

parameter

values
Destructuring 

Assignments
Iterators
Generators Modules Rest 

parameters
Spread

operator
Template

strings
Especificações
JavaScriptA tecnologia evoluiu e
atualmente é uma boa opção
DHTML jQuery Backbone.js AngularJS
Ember.js D3.jsQUnit React JSBlocks
Bibliotecas e
frameworks
JavaScriptA comunidade evoluiu a
maneira de utilizar a tecnologia
jQuery

plugins
Twitter

Bootstrap
Zurb

Foundation
AngularJS

Directives
jQueryUI
Componentes
de interface
HTML & 

CSS &
JSAs tecnologias e comunidade
evoluíram, as tecnologias são uma
ótima opção
Nativo vs

Web
Deepest engagement for the
longest period of time happens in
apps, so apps matter, and they
matter desperately for brands who
want to connect to customers.
http://venturebeat.com/2015/09/25/wait-what-mobile-browser-traffic-
is-2x-bigger-than-app-traffic-and-growing-faster/
[...] no-one is going to install an app
for each company, service, or site
he or she interacts with, your
mobile web experience has to be
good, and it has to be strong.
http://venturebeat.com/2015/09/25/wait-what-mobile-browser-traffic-
is-2x-bigger-than-app-traffic-and-growing-faster/
http://electron.atom.io
Acesso a recursos de 

entrada e saída
São estes recursos que permitem
a interface humano e máquina
HTML 5
JavaScript APIs
JavaScript em 

2011 + APIs
JavaScript 

em 2008
Captura e 

geração de áudio
Comandos de 

voz
Controle por

toque
Captura de 

imagem
Nativo
Web
Web Audio API &

getUserMedia()
Permitem capturar, processar e
sintetizar áudio
Web Audio API &

getUserMedia()
Permitem capturar, processar e
sintetizar áudio
navigator.getUserMedia({ audio: true },
onStream,
onStreamError);
http://webaudioapi.com
Web Speech API
Ainda bem incipiente mas uma
ótima promessa
http://updates.html5rocks.com/2013/01/Voice-Driven-
Web-Apps-Introduction-to-the-Web-Speech-API
getUserMedia()
Permite capturar e processar
imagens e vídeos
getUserMedia()
Permite capturar e processar
imagens e vídeos
navigator.getUserMedia({ video: true },
function (stream) {
video.src = window.URL.createObjectURL(stream);
}
);
http://www.html5rocks.com/en/tutorials/getusermedia/intro
Controle por

toque
Geolocalização
Controle de 

vibração
Nativo

Mobile
Web
Touch Events
Vetor de eventos gerados através
de toques na interface
Touch Events
Vetor de eventos gerados através
de toques na interface
el.addEventListener("touchstart", handleStart, false);
el.addEventListener("touchend", handleEnd, false);
el.addEventListener("touchcancel", handleCancel, false);
el.addEventListener("touchleave", handleEnd, false);
el.addEventListener("touchmove", handleMove, false);
Geolocation API
Acessa a localização através
do GPS, IP e wifi
Geolocation API
Acessa a localização através
do GPS, IP e wifi
navigator.geolocation.getCurrentPosition(function (position) {
position.coords.latitude;
position.coords.longitude;
});
https://developer.mozilla.org/en-US/docs/Web/API/
Geolocation/Using_geolocation
Vibration API
Permite gerar um feedback tátil
Vibration API
Permite gerar um feedback tátil
navigator.vibrate([50, 100, 150]);
http://davidwalsh.name/vibration-api
Emitir 

notificações
Condição da 

conexão
Condição da 

bateria
Nativo

Mobile
Web
Notification API
Permite disparar uma notificação
para o navegador
Notification API
Permite disparar uma notificação
para o navegador
var notification = new Notification(title, options);
https://developer.mozilla.org/en/docs/
Web/API/notification
Online / Offline 

Status e Events
Permitem checar e monitorar a
conexão com a Internet
Online / Offline 

Status e Events
Permitem checar e monitorar a
conexão com a Internet
navigator.onLine;
window.addEventListener('online', updateOnlineStatus);
window.addEventListener('offline', updateOnlineStatus);
https://developer.mozilla.org/en-US/docs/
Online_and_offline_events
Battery Status API
Permitem checar e monitorar a
bateria do dispositivo
Battery Status API
Permitem checar e monitorar a
bateria do dispositivo
navigator.getBattery().then(function(battery) {
battery.charging;
battery.level;
battery.chargingTime;
battery.dischargingTime;
battery.addEventListener('levelchange', function() {});
});
http://mobilehtml5.org
http://html5please.com
A maioria dos recursos nativos estão
disponíveis através de APIs
Perspectivas
futuras
Web
Components
Permite isolar código HTML o
mantendo livre de interferências
da página
Shadow DOM
<div twitter-user=“jcemer”></div>
@jcemer
<div gmaps-locale="Porto Alegre">
<div data-address-modal>
Porto Alegre<br> Brasil - RS
</div>
</div>
Porto Alegre

Brasil - RS
Permitem definir e assistir ao
ciclo de vida de elementos
Custom Elements
<img src="jcemer.jpg" alt="Tableless Guy">
<img src="diego.jpg" alt="Tableless Guy">
<script>
document.querySelector('img').src = 'diego.jpg'
</script>
Elemento criado
Adicionado ou 

removido do

DOM
Alteração nos 

atributos
Custom 

Elements
https://speakerdeck.com/jcemer/
componentes-para-a-web
Service

Workers
Serviços instalados por uma
página web que são mantidos
pelo navegador
Service workers
Os Service Workers poderão
interceptar chamadas a rede e
manter um cache permanente de
requisições
Experiência 

Offline rica
ENCONTRO
LOCAWEB



CONHEÇA OS
PALESTRANTES
x
ENCONTRO
LOCAWEB



PALESTRANTES
x
ENCONTRO
LOCAWEB



INSCREVA-SE
PREENCHENDO
SEUS DADOS
ABAIXO
x
SERVICE WORKER
CACHE
ENCONTRO
LOCAWEB



CONHEÇA OS
PALESTRANTES
x
ENCONTRO
LOCAWEB



PALESTRANTES
x
ENCONTRO
LOCAWEB



INSCREVA-SE
PREENCHENDO
SEUS DADOS
ABAIXO
x
SERVICE WORKER
CACHE
A Web terá suporte a Push
Notifications através dos Service
Workers
https://developers.google.com/web/updates/2015/03/push-
notificatons-on-the-open-web
Service

Workers
Background

Sync
Push 

Notifications
Geofencing e 

Alarmes
Especificações
http://www.slideshare.net/
caelumdev/serviceworkers-sergio
The Web may not be the only way to deliver
software, but it's one that works now and
will continue to work for a long time.
Web-based applications are cheap to
develop, and easy for even the smallest
startup to deliver.
Paul Graham
Setembro de 2001
http://www.paulgraham.com/road.html
ObrigadoAlways bet on web!
@jcemer

More Related Content

What's hot

Código player fixo
Código player fixoCódigo player fixo
Código player fixoPoowstrayer
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31MoscowJS
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapJosh Jeffryes
 
Branding your school district
Branding your school districtBranding your school district
Branding your school districttrexler
 
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3Jamie Matthews
 
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...RobotDeathSquad
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Todd Zaki Warfel
 
HTML5 Dev Conf - Sass, Compass & the new Webdev tools
HTML5 Dev Conf - Sass, Compass &  the new Webdev toolsHTML5 Dev Conf - Sass, Compass &  the new Webdev tools
HTML5 Dev Conf - Sass, Compass & the new Webdev toolsDirk Ginader
 
Html standards presentation
Html standards presentationHtml standards presentation
Html standards presentationTiago Cardoso
 
Html5 & CSS overview
Html5 & CSS overviewHtml5 & CSS overview
Html5 & CSS overviewIvan Frantar
 
Doctype html public
Doctype html publicDoctype html public
Doctype html publicEddy_TKJ
 
Rapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris GriffithRapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris GriffithUXPA International
 

What's hot (20)

T1
T1T1
T1
 
Convidar para page !!
Convidar para page !!Convidar para page !!
Convidar para page !!
 
Presentation1
Presentation1 Presentation1
Presentation1
 
Insertcustomer
InsertcustomerInsertcustomer
Insertcustomer
 
Código player fixo
Código player fixoCódigo player fixo
Código player fixo
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
 
Html22
Html22Html22
Html22
 
Fcr 2
Fcr 2Fcr 2
Fcr 2
 
Coding part
Coding partCoding part
Coding part
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 
Branding your school district
Branding your school districtBranding your school district
Branding your school district
 
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
 
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3
 
Nananana
NanananaNananana
Nananana
 
HTML5 Dev Conf - Sass, Compass & the new Webdev tools
HTML5 Dev Conf - Sass, Compass &  the new Webdev toolsHTML5 Dev Conf - Sass, Compass &  the new Webdev tools
HTML5 Dev Conf - Sass, Compass & the new Webdev tools
 
Html standards presentation
Html standards presentationHtml standards presentation
Html standards presentation
 
Html5 & CSS overview
Html5 & CSS overviewHtml5 & CSS overview
Html5 & CSS overview
 
Doctype html public
Doctype html publicDoctype html public
Doctype html public
 
Rapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris GriffithRapid HTML Prototyping with Bootstrap - Chris Griffith
Rapid HTML Prototyping with Bootstrap - Chris Griffith
 

Similar to Learn Web Technologies: A Concise Guide

Responsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da WebResponsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da WebEduardo Shiota Yasuda
 
Nanoformats
NanoformatsNanoformats
Nanoformatsrozario
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibautThibaut Baillet
 
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference ZürichHTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference ZürichRobert Nyman
 
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile EventHTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile EventRobert Nyman
 
Building a Single Page Application using Ember.js ... for fun and profit
Building a Single Page Application using Ember.js ... for fun and profitBuilding a Single Page Application using Ember.js ... for fun and profit
Building a Single Page Application using Ember.js ... for fun and profitBen Limmer
 
Clean separation
Clean separationClean separation
Clean separationatorreno
 
Blog skins396734
Blog skins396734Blog skins396734
Blog skins396734pantangmrny
 
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009Ramon Durães
 
Class 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web designClass 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web designErin M. Kidwell
 
Lect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxLect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxzainm7032
 
CSS3 Takes on the World
CSS3 Takes on the WorldCSS3 Takes on the World
CSS3 Takes on the WorldJonathan Snook
 
Sperimentazioni lezione6 from_designtoapplication copy
Sperimentazioni lezione6 from_designtoapplication copySperimentazioni lezione6 from_designtoapplication copy
Sperimentazioni lezione6 from_designtoapplication copySalvatore Iaconesi
 
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrJens-Christian Fischer
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 

Similar to Learn Web Technologies: A Concise Guide (20)

Responsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da WebResponsive Web Design e a Ubiquidade da Web
Responsive Web Design e a Ubiquidade da Web
 
Nanoformats
NanoformatsNanoformats
Nanoformats
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
 
This is a test
This is a testThis is a test
This is a test
 
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference ZürichHTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
HTML5 and CSS3 – exploring mobile possibilities - Frontend Conference Zürich
 
HTML5, the new buzzword
HTML5, the new buzzwordHTML5, the new buzzword
HTML5, the new buzzword
 
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile EventHTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
HTML5 and CSS3: Exploring Mobile Possibilities - London Ajax Mobile Event
 
Responsive design
Responsive designResponsive design
Responsive design
 
Building a Single Page Application using Ember.js ... for fun and profit
Building a Single Page Application using Ember.js ... for fun and profitBuilding a Single Page Application using Ember.js ... for fun and profit
Building a Single Page Application using Ember.js ... for fun and profit
 
Clean separation
Clean separationClean separation
Clean separation
 
Blog skins396734
Blog skins396734Blog skins396734
Blog skins396734
 
Jma proj presentation2
Jma proj presentation2Jma proj presentation2
Jma proj presentation2
 
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009
Introdução ao Microsoft Silverlight 2.0 - Campus Party Brasil 2009
 
Class 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web designClass 4 handout two column layout w mobile web design
Class 4 handout two column layout w mobile web design
 
Lect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptxLect-4-Responsive-Web-06032024-082044am.pptx
Lect-4-Responsive-Web-06032024-082044am.pptx
 
Mume HTML5 Intro
Mume HTML5 IntroMume HTML5 Intro
Mume HTML5 Intro
 
CSS3 Takes on the World
CSS3 Takes on the WorldCSS3 Takes on the World
CSS3 Takes on the World
 
Sperimentazioni lezione6 from_designtoapplication copy
Sperimentazioni lezione6 from_designtoapplication copySperimentazioni lezione6 from_designtoapplication copy
Sperimentazioni lezione6 from_designtoapplication copy
 
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Learn Web Technologies: A Concise Guide