SlideShare a Scribd company logo
1 of 99
Download to read offline
Supersnabb genomgång av kursen
Internet och Webben är inte
samma sak
Viktiga begrepp att hålla isär
Tekniker i modern webbutveckling
http://business-marketing-tips.com/wp-content/uploads/2013/07/Responsive-Web-Design1.jpg
Praktiska färdigheter
http://joelglovier.com/img/wallpaper/power-3.jpg
Användarbehov
Kursplan
• http://edu.mah.se/DA156A
Hur såg webbsidorna ut?
2002-
Nytt sätt att använda webben
http://www.pbdink.com/blog/wp-
content/uploads/2013/08/networks.jpg
Webbläsare
• Tolkar kod (html m.m.) och visar upp det för användaren.
Hur fungerar det?
Internet
Klient
Klient
Server
Resultat
• En webbläsare visar oss en webbsida efter att ha renderat ett HTML-
dokument
Vad består en webbplats av?
JavaScript
CSS
HTML
Innehåll
Interaktivitet
Utformning
Struktur
Innehåll
HTML
• Hypertext Markup Language
• Märkspråk
• Används för att ge dokument en struktur – vad är vad?
• HTML byggs upp utav element som märker upp vilken typ av innehåll
som finns på sidan
HTML som märkspråk
Element?
• Det finns olika element som representerar olika innehåll, t.ex.
rubriker, paragrafer, listor m.m.
• Grundprincipen är att det finns en start- och ett sluttagg. Det innehåll
som finns mellan dessa taggar tilldelas elementets formatiering.
• Kan även ha attribut
Ett HTML-dokuments struktur
<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8">
<title>Min sida</title>
</head>
<body>
<!-- Här kommer innehåll som visas för användaren ligga -->
</body>
</html>
Element som alltid ingår i ett HTML-dokument:
- <html>, rotelementet
- <head>, dokumenthuvud (info om dokumentet)
- <title>, dokukmentets titel
- <body>, dokumentets innehåll
HTML-dokumentet i helhet
HTML-dokument som träd
21
22
23
Om indentering
Metadata
• Beskriver vilket innehåll som finns på HTML-sidan
• Det kan vara saker som:
- Sidans titel
- Vilken teckenkodning som används
- Vilket språk sidan är på
- Vilka författare som gjort sidan
- Funktion & utseende på sidan
• Detta skrivs inom <head>-taggen och berör hela dokumentet.
24
Grundläggande element för tabeller
• <table> Skapar en tabell
• <caption> Beskrivning/rubrik för tabell
• <tr> tabellrad (table row)
• <th> Rubrik-kolumn (table header)
• <td> Data-kolumn (table data)
• Obs, alla taggarna har start- och slutttagg.
… fler möjligheter med tabeller
• Det finns lägen då man inte vill att alla rader/kolumner ska se exakt
lika ut:
• En kolumn som sträcker sig över x antar rader
Översikt - olika element i ett formulär
Knapp
Text-fält (stort)
Text-fält
Checkboxar
Radioknappar
Drop-down meny
Varför används formulär?
• Ett sätt att skicka data från klienten (webbläsaren) till en server
- Spara data
- Validera data
- Analysera data
Hur fungerar det?
Internet
Klient
Klient
Server
firstName=Anton
lastName=Tibblin
course=DA156A
GET/POST
Hur fungerar det?
Internet
Klient
Klient
Server
firstName=Anton
lastName=Tibblin
course=DA156A
Samma innehåll
– fast olika utseende
Samma innehåll – fast olika utseende
• Produkter – olika utssende, samma innehåll
Olika typer av element
• Det finns två huvudtyper av element (finns fler, mer om det sen).
• Block
• Inline
• Block-element visas generellt (utan styling från css) upp över hela
skärmen horisontellt, som ett block
• Inline-element visas generellt (utan styling från css) endast upp där
dess innehåll finns.
CSS – Same same but different
• Formgivning åt HTML-dokument
• Typografi
• Layout
• Färger
• Bildhantering m.m.
Hur skriver man CSS?
• Först måste man ange vad som ska stylas (s.k. selektor). T.ex. om
man vill styla alla h1-taggar skriver man ”h1” följt av tecken {}.
Mellan {} skrivs de egenskaper som <h1>-taggarna ska ha. T.ex.
h1{
color: blue;
text-align: center;
}
Olika egenskaper för text i css
Boxmodellen
Total bredd för en box är: Content (width) + Padding + Border.
Margin är sedan marginalen från boxen
Boxar
Identifiera element genom id
• I HTML kan man identifiera specifika element genom att ge dem ett unikt id
• Ett id ges genom attributet ”id” samt namnet på id:t
• T.ex. för att ange ett id för en paragraf kan man skriva:
• Eller för att ge en rubrik ett id:
• Eller för att ge en bild ett id:
Identifiera element genom klasser
• I HTML kan man identifiera element genom att ge dem en klass
• En klass ges genom attributet ”class” samt namnet på klassen
• T.ex. för att ange en klass för en paragraf kan man skriva:
• Eller för att ge en rubrik ett id:
• Eller för att ge en bild ett id:
Att formge element genom att ange klasser i
CSS
• För att referera från CSS till de element som har tilldelat sig en viss klass
skriver man . (punkt) och klassnamnet
• T.ex. för att referera till paragraferna:
Så skriver man i CSS:
• Och för att ge texten i paragraferna med klassen ”blue” blå färg skriver man
i CSS:
CSS Repetition
• För att referera till ett element skriver man:
• element{egenskap:värde;}
• För att referera till element med en klass skriver man:
• .klassnamn{egenskap:värde;}
• För att referera till ett element med ett id skriver man:
• #id{egenskap:värde;}
Elementet <div>
“The <div> tag defines a division or a section in an HTML document.”
Positionering
• Visar elementen i den ordning de skrivs i HTML-koden
• Static (standard)
• Relative
• Visar elementen i relation till förälder-elementet eller dokumentet
• Absolute
• Fixed
Att lägga element bredvid varandra
• Egenskapen ”float”
• Gör så att man kan placera block-element bredvid varandra
• Float:left; Flyttar elementet till vänster
• Float:right; Flyttar elementet till höger
• Gäller
• postion: static
• position: relative
Hur skapar man en layout?
Vi behöver alltså
• Sidhuvud <header>
• Navigation <nav>
• Innehåll <main>
• Sidfot <footer>
Flexbox
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Vad är flexbox?
• Ett sätt att positionera ut element på en webbsida
• Ett alternativ till att använda t.ex. float för att bygga layouter
• Flexbox utgår från att positionerna ut barn-element i en ”container”
på olika sätt.
Nytt också:
CSS-grids
https://css-tricks.com/snippets/css/complete-guide-grid/
Responsiv webbdesign
Genom media queries
Dagens föreläsning
• Vad innebär responsiv webbdesign?
• Media queries?
• Att designa för olika enheter
Olika typer av stilmallar
<link rel="stylesheet" type="text/css” media="screen" href=”style.css">
<link rel="stylesheet" type="text/css” media="print" href=”print.css">
Att styla för olika upplösningar
Brytpunkter? Hur var när?
Ramverk & bibliotek för
webbutveckling
Dagens föreläsning
• Hur har vi arbetat tidigare?
• Hur brukar man arbeta?
• Praktiska exempel på ramverk
De grundläggande tankarna bakom ramverk är
enkla: Samla fungerande kod och gör den
återanvändbar. Passa samtidigt på att presentera
ett enhetligt sätt att skriva kod.
http://computersweden.idg.se/2.2683/1.606077/ramverk-eller-inte-ramverk--det-ar-fragan
Fördelar med ramverk
• Utvecklare slipper skriva kod för grundläggande uppgifter själva
• Koden i ett ramverk kan antas vara testad och tämligen felfri
• Det blir enklare att få en struktur för hur kod ska skrivas
• Medlemmar i utvecklarorganisationer och projekt kan enklare
anamma ett enhetligt arbetssätt
Dags att kolla in ramverk!
- Bootstrap
https://getbootstrap.com
JavaScript
Om JavaScript, om användningsområden, exempel
Programmering handlar om att instruera en
maskin eller del av en maskin […] att utföra ett
visst arbete.
Vad är JavaScript?
• En teknik för att utveckla interaktiva webbsidor
• Ett programspråk inbäddat i webbläsare
http://en.wikipedia.org/w/index.php?title=File:Unofficial_JavaScript_logo_2.svg&page=1
I vilket sammanhang används JavaScript?
JavaScript
CSS
HTML
Innehåll
Interaktivitet
Utformning
Struktur
Innehåll
Exempel på JavaScript
• Bildspel: http://wowslider.com/javascript-slideshow-quiet-rotate-demo.html
• Dynamisk innehåll: http://gmail.com, http://facebook.com, https://twitter.com/
• Beräkningar: http://valuta.se
• Validera formulär: http://yensdesign.com/tutorials/validateform/
• Interaktiva element: http://mrdoob.com/projects/chromeexperiments/ball_pool/
• Spel: http://www.phoboslab.org/ztype/
• Super mairo: http://mario5.florian-rappl.de
• Animationer: http://codepen.io/juliangarnier/pen/idhuG
• Blandade exempel: http://tibbelit.se/film
JavaScript - Historik
• Utvecklades av Netscape under mitten av 90-talet
• Har inget med Java att göra – det är ett eget programmeringsspråk
• Microsoft skapade sin egen version av JavaScript – Jscript
• På senare dagar (2005) har ajax blivit en populärt
• Lägger till extra funktionalitet för webben och webbläsare
Vad kan man göra med JavaScript?
• I princip vad du vill! (som har med webbsidor att göra)
• Men det används ofta till att skapa interaktiva webbsidor
• Med interaktiv menas: Reagera på användaras handlingar och
modifiera webbsidans innehåll
Programspråk
• Programspråk är, till skillnad från t.ex. svenska och engelska, formella
språk
• De ska uttrycka något utan tvetydighet.
• Men programspråk delar vissa likheter med naturliga språk –
vokabulär och grammatik.
• Även uttryck och instruktioner.
Instruktion (statement)
• Ett program består av en lista instruktioner
• En instruktion består av minst ett uttryck och avslutas med ett
semikolon ”;”
5;
alert(”Hej och välkommen”);
var birthYear = 2017 – age;
Att skapa ett program
• Uppgiftsformulering, vad är det för uppgift som ska lösas?
• Vilka steg behöver utföras för att lösa uppgiften?
• Vilka instruktioner kan användas för att utföra varje delsteg (algoritm)
Algoritm
• En beskrivning över hur man löser ett problem. Algoritmen består av
ett antal instruktioner och beskriver i vilken ordning instruktionerna
ska utföras.
http://www.recepten.se/recept/pasta_carbonara.html
http://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/LampFlo
wchart-sv.svg/250px-LampFlowchart-sv.svg.png
Hur, var, när skiver man
JavaScript-kod?
Inbäddat skript
• HTML-elementet <script> används för att definiera ett JavaScript-
block.
- Jämför detta med att inkludera inbäddad CSS-mall med hjälp av
<style>
• Elementet <script> kan placeras var som helst i HTML-dokumentet,
inte bara i <head>
• JavaScript-koden körs på den plats JavaScript-elementet finns.
JavaScript och DOM?
Vad är användbarhet?
Definition av användbarhet (1)
• “The extent to which a product can be used by specified users to
achieve specified goals with effectiveness, efficiency, and
satisfaction in a specified context of use” (ISO)
Definition av användbarhet (2)
Använd-
barhet
Lätt att lära Effektiv
Ändamåls-
enlig
Fel-
tolerans
Engage-
rande
Definition av användbarhet (3)
• Effektivitet
o Rätt funktionalitet
o Stödjer användarens arbetsuppgifter
o Lätt att lära och komma ihåg
• Produktivitet
o Gör sällan fel
o Klarar många arbetsuppgifter
o Snabb
• Nöjda användare
o Kanske rent av kul
o Bra till mods
o Ej ohälsosamt
o Orsakar inte stress
o Orsakar inte arbetsskador
• Säkerhet
o Användarna kan inte ”förstöra” av
misstag
o Man kan ångra sig
Utvecklare är inte användare
Användarna – vilka är de?
• Demografisk information
• Vad kan dem?
• Vad kan de lära sig?
• Vad är deras generella bakgrund?
• Vad är deras domän?

More Related Content

What's hot

VT17 - DA355A - Intro JS
VT17 - DA355A - Intro JSVT17 - DA355A - Intro JS
VT17 - DA355A - Intro JSAnton Tibblin
 
VT17 - DA355A - Responsive design
VT17 - DA355A - Responsive designVT17 - DA355A - Responsive design
VT17 - DA355A - Responsive designAnton Tibblin
 
VT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLVT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLAnton Tibblin
 
HT16 - DA156A - Introduktion till CSS
HT16 - DA156A - Introduktion till CSSHT16 - DA156A - Introduktion till CSS
HT16 - DA156A - Introduktion till CSSAnton Tibblin
 
VT17 - DA355A - Introduktion till CSS
VT17 - DA355A - Introduktion till CSSVT17 - DA355A - Introduktion till CSS
VT17 - DA355A - Introduktion till CSSAnton Tibblin
 
HT16 - DA156A - Introduktion till HTML
HT16 - DA156A - Introduktion till HTMLHT16 - DA156A - Introduktion till HTML
HT16 - DA156A - Introduktion till HTMLAnton Tibblin
 
HT16 - DA156A - Kursintroduktion
HT16 - DA156A - KursintroduktionHT16 - DA156A - Kursintroduktion
HT16 - DA156A - KursintroduktionAnton Tibblin
 
HT17 - DA156A - Tabeller & Formulär
HT17 - DA156A - Tabeller & FormulärHT17 - DA156A - Tabeller & Formulär
HT17 - DA156A - Tabeller & FormulärAnton Tibblin
 
HT16 - DA156A - Ramverk och bibliotek
HT16 - DA156A - Ramverk och bibliotekHT16 - DA156A - Ramverk och bibliotek
HT16 - DA156A - Ramverk och bibliotekAnton Tibblin
 
HT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleHT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleAnton Tibblin
 
HT20 - DA106A - Kursintroduktion
HT20 - DA106A - KursintroduktionHT20 - DA106A - Kursintroduktion
HT20 - DA106A - KursintroduktionAnton Tibblin
 
Webbapplikationer - HTML
Webbapplikationer - HTMLWebbapplikationer - HTML
Webbapplikationer - HTMLAnton Tibblin
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Anton Tibblin
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptAnton Tibblin
 
VT16 - DA355A - Layout med CSS
VT16 - DA355A - Layout med CSSVT16 - DA355A - Layout med CSS
VT16 - DA355A - Layout med CSSAnton Tibblin
 
HT16 - DA156A - CSS, layout
HT16 - DA156A - CSS, layoutHT16 - DA156A - CSS, layout
HT16 - DA156A - CSS, layoutAnton Tibblin
 
jQuery & HTML5 Cache
jQuery & HTML5 CachejQuery & HTML5 Cache
jQuery & HTML5 CacheAnton Tibblin
 
VT17 - DA355A - Kursintroduktion
VT17 - DA355A - KursintroduktionVT17 - DA355A - Kursintroduktion
VT17 - DA355A - KursintroduktionAnton Tibblin
 

What's hot (20)

VT17 - DA355A - Intro JS
VT17 - DA355A - Intro JSVT17 - DA355A - Intro JS
VT17 - DA355A - Intro JS
 
VT17 - DA355A - Responsive design
VT17 - DA355A - Responsive designVT17 - DA355A - Responsive design
VT17 - DA355A - Responsive design
 
VT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTMLVT17 - DA355A - Introduktion HTML
VT17 - DA355A - Introduktion HTML
 
HT16 - DA156A - Introduktion till CSS
HT16 - DA156A - Introduktion till CSSHT16 - DA156A - Introduktion till CSS
HT16 - DA156A - Introduktion till CSS
 
VT17 - DA355A - Introduktion till CSS
VT17 - DA355A - Introduktion till CSSVT17 - DA355A - Introduktion till CSS
VT17 - DA355A - Introduktion till CSS
 
HT16 - DA156A - Introduktion till HTML
HT16 - DA156A - Introduktion till HTMLHT16 - DA156A - Introduktion till HTML
HT16 - DA156A - Introduktion till HTML
 
HT16 - DA156A - Kursintroduktion
HT16 - DA156A - KursintroduktionHT16 - DA156A - Kursintroduktion
HT16 - DA156A - Kursintroduktion
 
HT17 - DA156A - Tabeller & Formulär
HT17 - DA156A - Tabeller & FormulärHT17 - DA156A - Tabeller & Formulär
HT17 - DA156A - Tabeller & Formulär
 
HT16 - DA156A - Ramverk och bibliotek
HT16 - DA156A - Ramverk och bibliotekHT16 - DA156A - Ramverk och bibliotek
HT16 - DA156A - Ramverk och bibliotek
 
HT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleHT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottle
 
HT20 - DA106A - Kursintroduktion
HT20 - DA106A - KursintroduktionHT20 - DA106A - Kursintroduktion
HT20 - DA106A - Kursintroduktion
 
Webbapplikationer - HTML
Webbapplikationer - HTMLWebbapplikationer - HTML
Webbapplikationer - HTML
 
JavaScript - Intro
JavaScript - IntroJavaScript - Intro
JavaScript - Intro
 
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
Webbapplikationer - Kursintroduktion (anton.tibblin@mah.se)
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScript
 
VT16 - DA355A - Layout med CSS
VT16 - DA355A - Layout med CSSVT16 - DA355A - Layout med CSS
VT16 - DA355A - Layout med CSS
 
HT16 - DA156A - CSS, layout
HT16 - DA156A - CSS, layoutHT16 - DA156A - CSS, layout
HT16 - DA156A - CSS, layout
 
jQuery & HTML5 Cache
jQuery & HTML5 CachejQuery & HTML5 Cache
jQuery & HTML5 Cache
 
13 cms ht14
13 cms ht1413 cms ht14
13 cms ht14
 
VT17 - DA355A - Kursintroduktion
VT17 - DA355A - KursintroduktionVT17 - DA355A - Kursintroduktion
VT17 - DA355A - Kursintroduktion
 

Similar to HT17 - DA156A - Sammanfattning av kursen

HT18 - DA156A - Extra
HT18 - DA156A - ExtraHT18 - DA156A - Extra
HT18 - DA156A - ExtraAnton Tibblin
 
VT18 - DA355A - Introduktion till CSS
VT18 - DA355A - Introduktion till CSSVT18 - DA355A - Introduktion till CSS
VT18 - DA355A - Introduktion till CSSAnton Tibblin
 
HT19 - DA156A - Introduktion till CSS
HT19 - DA156A - Introduktion till CSSHT19 - DA156A - Introduktion till CSS
HT19 - DA156A - Introduktion till CSSAnton Tibblin
 
HT18 - DA156A - Introduktion till CSS
HT18 - DA156A - Introduktion till CSSHT18 - DA156A - Introduktion till CSS
HT18 - DA156A - Introduktion till CSSAnton Tibblin
 
VT2019 - DA355A - CSS Grid & Webbramverk
VT2019 - DA355A - CSS Grid & WebbramverkVT2019 - DA355A - CSS Grid & Webbramverk
VT2019 - DA355A - CSS Grid & WebbramverkAnton Tibblin
 
HT19 - DA156A - Layout med CSS (2)
HT19 - DA156A - Layout med CSS (2)HT19 - DA156A - Layout med CSS (2)
HT19 - DA156A - Layout med CSS (2)Anton Tibblin
 
Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Martin Carlsson
 
HT18 - DA156A - Layout med CSS (2)
HT18 - DA156A - Layout med CSS (2)HT18 - DA156A - Layout med CSS (2)
HT18 - DA156A - Layout med CSS (2)Anton Tibblin
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSSAnton Tibblin
 
HT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appHT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appAnton Tibblin
 
HT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationHT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationAnton Tibblin
 
VT18 - DA355A/DA344A - Introduktion till HTML
VT18 - DA355A/DA344A - Introduktion till HTMLVT18 - DA355A/DA344A - Introduktion till HTML
VT18 - DA355A/DA344A - Introduktion till HTMLAnton Tibblin
 
VT18 - DA355A - Introduktion till JavaScript
VT18 - DA355A - Introduktion till JavaScriptVT18 - DA355A - Introduktion till JavaScript
VT18 - DA355A - Introduktion till JavaScriptAnton Tibblin
 
HT18 - DA156A - Kursintroduktion
HT18 - DA156A - KursintroduktionHT18 - DA156A - Kursintroduktion
HT18 - DA156A - KursintroduktionAnton Tibblin
 
HT19 - DA156A - Kursintroduktion
HT19 - DA156A - KursintroduktionHT19 - DA156A - Kursintroduktion
HT19 - DA156A - KursintroduktionAnton Tibblin
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxAnton Tibblin
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapAnton Tibblin
 

Similar to HT17 - DA156A - Sammanfattning av kursen (20)

HT18 - DA156A - Extra
HT18 - DA156A - ExtraHT18 - DA156A - Extra
HT18 - DA156A - Extra
 
VT18 - DA355A - Introduktion till CSS
VT18 - DA355A - Introduktion till CSSVT18 - DA355A - Introduktion till CSS
VT18 - DA355A - Introduktion till CSS
 
HT19 - DA156A - Introduktion till CSS
HT19 - DA156A - Introduktion till CSSHT19 - DA156A - Introduktion till CSS
HT19 - DA156A - Introduktion till CSS
 
HT18 - DA156A - Introduktion till CSS
HT18 - DA156A - Introduktion till CSSHT18 - DA156A - Introduktion till CSS
HT18 - DA156A - Introduktion till CSS
 
VT2019 - DA355A - CSS Grid & Webbramverk
VT2019 - DA355A - CSS Grid & WebbramverkVT2019 - DA355A - CSS Grid & Webbramverk
VT2019 - DA355A - CSS Grid & Webbramverk
 
HT19 - DA156A - Layout med CSS (2)
HT19 - DA156A - Layout med CSS (2)HT19 - DA156A - Layout med CSS (2)
HT19 - DA156A - Layout med CSS (2)
 
Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5Responsiv webbdesign + HTML5 + CSS5
Responsiv webbdesign + HTML5 + CSS5
 
HT18 - DA156A - Layout med CSS (2)
HT18 - DA156A - Layout med CSS (2)HT18 - DA156A - Layout med CSS (2)
HT18 - DA156A - Layout med CSS (2)
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
 
HT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appHT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web app
 
HT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationHT17 - DA354A - Webbapplikation
HT17 - DA354A - Webbapplikation
 
VT18 - DA355A/DA344A - Introduktion till HTML
VT18 - DA355A/DA344A - Introduktion till HTMLVT18 - DA355A/DA344A - Introduktion till HTML
VT18 - DA355A/DA344A - Introduktion till HTML
 
VT18 - DA355A - Introduktion till JavaScript
VT18 - DA355A - Introduktion till JavaScriptVT18 - DA355A - Introduktion till JavaScript
VT18 - DA355A - Introduktion till JavaScript
 
HT18 - DA156A - Kursintroduktion
HT18 - DA156A - KursintroduktionHT18 - DA156A - Kursintroduktion
HT18 - DA156A - Kursintroduktion
 
jQuery and Ajax
jQuery and AjaxjQuery and Ajax
jQuery and Ajax
 
HT19 - DA156A - Kursintroduktion
HT19 - DA156A - KursintroduktionHT19 - DA156A - Kursintroduktion
HT19 - DA156A - Kursintroduktion
 
Html 3 ht14
Html 3 ht14Html 3 ht14
Html 3 ht14
 
VT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och AjaxVT2019 - DA355A - jQuery och Ajax
VT2019 - DA355A - jQuery och Ajax
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & Bootstrap
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
 

More from Anton Tibblin

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdfAnton Tibblin
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingAnton Tibblin
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelAnton Tibblin
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerAnton Tibblin
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonAnton Tibblin
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringAnton Tibblin
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonAnton Tibblin
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionAnton Tibblin
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)Anton Tibblin
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1Anton Tibblin
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekAnton Tibblin
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptAnton Tibblin
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingAnton Tibblin
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)Anton Tibblin
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)Anton Tibblin
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulärAnton Tibblin
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTMLAnton Tibblin
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaAnton Tibblin
 

More from Anton Tibblin (20)

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - Media
 
jQuery & Ajax
jQuery & AjaxjQuery & Ajax
jQuery & Ajax
 

HT17 - DA156A - Sammanfattning av kursen

  • 1.
  • 3.
  • 4. Internet och Webben är inte samma sak Viktiga begrepp att hålla isär
  • 5. Tekniker i modern webbutveckling http://business-marketing-tips.com/wp-content/uploads/2013/07/Responsive-Web-Design1.jpg
  • 10. 2002-
  • 11. Nytt sätt att använda webben http://www.pbdink.com/blog/wp- content/uploads/2013/08/networks.jpg
  • 12. Webbläsare • Tolkar kod (html m.m.) och visar upp det för användaren.
  • 14. Resultat • En webbläsare visar oss en webbsida efter att ha renderat ett HTML- dokument
  • 15. Vad består en webbplats av? JavaScript CSS HTML Innehåll Interaktivitet Utformning Struktur Innehåll
  • 16. HTML • Hypertext Markup Language • Märkspråk • Används för att ge dokument en struktur – vad är vad? • HTML byggs upp utav element som märker upp vilken typ av innehåll som finns på sidan
  • 18. Element? • Det finns olika element som representerar olika innehåll, t.ex. rubriker, paragrafer, listor m.m. • Grundprincipen är att det finns en start- och ett sluttagg. Det innehåll som finns mellan dessa taggar tilldelas elementets formatiering. • Kan även ha attribut
  • 19. Ett HTML-dokuments struktur <!DOCTYPE HTML> <html> <head> <meta charset=utf-8"> <title>Min sida</title> </head> <body> <!-- Här kommer innehåll som visas för användaren ligga --> </body> </html> Element som alltid ingår i ett HTML-dokument: - <html>, rotelementet - <head>, dokumenthuvud (info om dokumentet) - <title>, dokukmentets titel - <body>, dokumentets innehåll
  • 22. 22
  • 24. Metadata • Beskriver vilket innehåll som finns på HTML-sidan • Det kan vara saker som: - Sidans titel - Vilken teckenkodning som används - Vilket språk sidan är på - Vilka författare som gjort sidan - Funktion & utseende på sidan • Detta skrivs inom <head>-taggen och berör hela dokumentet. 24
  • 25. Grundläggande element för tabeller • <table> Skapar en tabell • <caption> Beskrivning/rubrik för tabell • <tr> tabellrad (table row) • <th> Rubrik-kolumn (table header) • <td> Data-kolumn (table data) • Obs, alla taggarna har start- och slutttagg.
  • 26.
  • 27. … fler möjligheter med tabeller • Det finns lägen då man inte vill att alla rader/kolumner ska se exakt lika ut: • En kolumn som sträcker sig över x antar rader
  • 28.
  • 29. Översikt - olika element i ett formulär Knapp Text-fält (stort) Text-fält Checkboxar Radioknappar Drop-down meny
  • 30. Varför används formulär? • Ett sätt att skicka data från klienten (webbläsaren) till en server - Spara data - Validera data - Analysera data
  • 34.
  • 35. Samma innehåll – fast olika utseende
  • 36. Samma innehåll – fast olika utseende • Produkter – olika utssende, samma innehåll
  • 37.
  • 38. Olika typer av element • Det finns två huvudtyper av element (finns fler, mer om det sen). • Block • Inline • Block-element visas generellt (utan styling från css) upp över hela skärmen horisontellt, som ett block • Inline-element visas generellt (utan styling från css) endast upp där dess innehåll finns.
  • 39. CSS – Same same but different • Formgivning åt HTML-dokument • Typografi • Layout • Färger • Bildhantering m.m.
  • 40.
  • 41. Hur skriver man CSS? • Först måste man ange vad som ska stylas (s.k. selektor). T.ex. om man vill styla alla h1-taggar skriver man ”h1” följt av tecken {}. Mellan {} skrivs de egenskaper som <h1>-taggarna ska ha. T.ex. h1{ color: blue; text-align: center; }
  • 42. Olika egenskaper för text i css
  • 43. Boxmodellen Total bredd för en box är: Content (width) + Padding + Border. Margin är sedan marginalen från boxen
  • 44. Boxar
  • 45. Identifiera element genom id • I HTML kan man identifiera specifika element genom att ge dem ett unikt id • Ett id ges genom attributet ”id” samt namnet på id:t • T.ex. för att ange ett id för en paragraf kan man skriva: • Eller för att ge en rubrik ett id: • Eller för att ge en bild ett id:
  • 46. Identifiera element genom klasser • I HTML kan man identifiera element genom att ge dem en klass • En klass ges genom attributet ”class” samt namnet på klassen • T.ex. för att ange en klass för en paragraf kan man skriva: • Eller för att ge en rubrik ett id: • Eller för att ge en bild ett id:
  • 47. Att formge element genom att ange klasser i CSS • För att referera från CSS till de element som har tilldelat sig en viss klass skriver man . (punkt) och klassnamnet • T.ex. för att referera till paragraferna: Så skriver man i CSS: • Och för att ge texten i paragraferna med klassen ”blue” blå färg skriver man i CSS:
  • 48. CSS Repetition • För att referera till ett element skriver man: • element{egenskap:värde;} • För att referera till element med en klass skriver man: • .klassnamn{egenskap:värde;} • För att referera till ett element med ett id skriver man: • #id{egenskap:värde;}
  • 49.
  • 50. Elementet <div> “The <div> tag defines a division or a section in an HTML document.”
  • 51. Positionering • Visar elementen i den ordning de skrivs i HTML-koden • Static (standard) • Relative • Visar elementen i relation till förälder-elementet eller dokumentet • Absolute • Fixed
  • 52. Att lägga element bredvid varandra • Egenskapen ”float” • Gör så att man kan placera block-element bredvid varandra • Float:left; Flyttar elementet till vänster • Float:right; Flyttar elementet till höger • Gäller • postion: static • position: relative
  • 53. Hur skapar man en layout?
  • 54. Vi behöver alltså • Sidhuvud <header> • Navigation <nav> • Innehåll <main> • Sidfot <footer>
  • 56. Vad är flexbox? • Ett sätt att positionera ut element på en webbsida • Ett alternativ till att använda t.ex. float för att bygga layouter • Flexbox utgår från att positionerna ut barn-element i en ”container” på olika sätt.
  • 59. Dagens föreläsning • Vad innebär responsiv webbdesign? • Media queries? • Att designa för olika enheter
  • 60. Olika typer av stilmallar <link rel="stylesheet" type="text/css” media="screen" href=”style.css"> <link rel="stylesheet" type="text/css” media="print" href=”print.css">
  • 61. Att styla för olika upplösningar
  • 63. Ramverk & bibliotek för webbutveckling
  • 64. Dagens föreläsning • Hur har vi arbetat tidigare? • Hur brukar man arbeta? • Praktiska exempel på ramverk
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. De grundläggande tankarna bakom ramverk är enkla: Samla fungerande kod och gör den återanvändbar. Passa samtidigt på att presentera ett enhetligt sätt att skriva kod. http://computersweden.idg.se/2.2683/1.606077/ramverk-eller-inte-ramverk--det-ar-fragan
  • 70. Fördelar med ramverk • Utvecklare slipper skriva kod för grundläggande uppgifter själva • Koden i ett ramverk kan antas vara testad och tämligen felfri • Det blir enklare att få en struktur för hur kod ska skrivas • Medlemmar i utvecklarorganisationer och projekt kan enklare anamma ett enhetligt arbetssätt
  • 71.
  • 72.
  • 73. Dags att kolla in ramverk! - Bootstrap https://getbootstrap.com
  • 74.
  • 75.
  • 76.
  • 77.
  • 78. JavaScript Om JavaScript, om användningsområden, exempel
  • 79. Programmering handlar om att instruera en maskin eller del av en maskin […] att utföra ett visst arbete.
  • 80. Vad är JavaScript? • En teknik för att utveckla interaktiva webbsidor • Ett programspråk inbäddat i webbläsare http://en.wikipedia.org/w/index.php?title=File:Unofficial_JavaScript_logo_2.svg&page=1
  • 81. I vilket sammanhang används JavaScript? JavaScript CSS HTML Innehåll Interaktivitet Utformning Struktur Innehåll
  • 82. Exempel på JavaScript • Bildspel: http://wowslider.com/javascript-slideshow-quiet-rotate-demo.html • Dynamisk innehåll: http://gmail.com, http://facebook.com, https://twitter.com/ • Beräkningar: http://valuta.se • Validera formulär: http://yensdesign.com/tutorials/validateform/ • Interaktiva element: http://mrdoob.com/projects/chromeexperiments/ball_pool/ • Spel: http://www.phoboslab.org/ztype/ • Super mairo: http://mario5.florian-rappl.de • Animationer: http://codepen.io/juliangarnier/pen/idhuG • Blandade exempel: http://tibbelit.se/film
  • 83. JavaScript - Historik • Utvecklades av Netscape under mitten av 90-talet • Har inget med Java att göra – det är ett eget programmeringsspråk • Microsoft skapade sin egen version av JavaScript – Jscript • På senare dagar (2005) har ajax blivit en populärt • Lägger till extra funktionalitet för webben och webbläsare
  • 84. Vad kan man göra med JavaScript? • I princip vad du vill! (som har med webbsidor att göra) • Men det används ofta till att skapa interaktiva webbsidor • Med interaktiv menas: Reagera på användaras handlingar och modifiera webbsidans innehåll
  • 85. Programspråk • Programspråk är, till skillnad från t.ex. svenska och engelska, formella språk • De ska uttrycka något utan tvetydighet. • Men programspråk delar vissa likheter med naturliga språk – vokabulär och grammatik. • Även uttryck och instruktioner.
  • 86. Instruktion (statement) • Ett program består av en lista instruktioner • En instruktion består av minst ett uttryck och avslutas med ett semikolon ”;” 5; alert(”Hej och välkommen”); var birthYear = 2017 – age;
  • 87. Att skapa ett program • Uppgiftsformulering, vad är det för uppgift som ska lösas? • Vilka steg behöver utföras för att lösa uppgiften? • Vilka instruktioner kan användas för att utföra varje delsteg (algoritm)
  • 88. Algoritm • En beskrivning över hur man löser ett problem. Algoritmen består av ett antal instruktioner och beskriver i vilken ordning instruktionerna ska utföras. http://www.recepten.se/recept/pasta_carbonara.html
  • 90. Hur, var, när skiver man JavaScript-kod?
  • 91. Inbäddat skript • HTML-elementet <script> används för att definiera ett JavaScript- block. - Jämför detta med att inkludera inbäddad CSS-mall med hjälp av <style> • Elementet <script> kan placeras var som helst i HTML-dokumentet, inte bara i <head> • JavaScript-koden körs på den plats JavaScript-elementet finns.
  • 93.
  • 95. Definition av användbarhet (1) • “The extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency, and satisfaction in a specified context of use” (ISO)
  • 96. Definition av användbarhet (2) Använd- barhet Lätt att lära Effektiv Ändamåls- enlig Fel- tolerans Engage- rande
  • 97. Definition av användbarhet (3) • Effektivitet o Rätt funktionalitet o Stödjer användarens arbetsuppgifter o Lätt att lära och komma ihåg • Produktivitet o Gör sällan fel o Klarar många arbetsuppgifter o Snabb • Nöjda användare o Kanske rent av kul o Bra till mods o Ej ohälsosamt o Orsakar inte stress o Orsakar inte arbetsskador • Säkerhet o Användarna kan inte ”förstöra” av misstag o Man kan ångra sig
  • 98. Utvecklare är inte användare
  • 99. Användarna – vilka är de? • Demografisk information • Vad kan dem? • Vad kan de lära sig? • Vad är deras generella bakgrund? • Vad är deras domän?