HTML 5 programmeringsspråk | |
---|---|
Forfatter | Tim Berners Lee |
Opprinnelsesdato | 1989 |
Siste versjon | HTML5 |
Bruk | programmering av nettsider |
Skriving | Høyt |
Vanlige utvidelser | html og htm |
Referanseimplementering | |
Operativsystem | Windows, macOS, Android, iOS, Linux. |
Tillatelse | Åpen kilde |
Nettsted | www.w3.org/TR/html5/ |
HTML er det mest brukte markup-språket på nettet. I utgangspunktet brukes det til å lage og strukturere nettsider. Versjon 5 ble utgitt siden oktober 2014, designet for å definere funksjonelle standarder (f.eks. video-/lydspiller) og API-er for programmering på tvers av plattformer. Det er i stadig utvikling.
Utviklingen ble initiert av Web Hypertext Application Technology Working Group ( WHATWG ) (grunnlagt i 2004 av utviklere som tilhører Apple , Mozilla Foundation og Opera Software ) som satte seg som mål å designe spesifikasjoner for utvikling av webapplikasjoner, med fokus på forbedringer og tillegg til HTML og relaterte teknologier.
I utgangspunktet i motsetning til World Wide Web Consortium for tregheten i utviklingsprosessen av html-standarden og for beslutningen til W3C om å orientere standardiseringen mot XHTML 2 som ikke garanterte bakoverkompatibilitet, anerkjente den samme W3C disse grunnene som gyldige , kunngjør å opprette en spesiell gruppe for standardisering av HTML5 og å forlate XHTML 2.0 [1] .
Siden 2007 har WHATWG samarbeidet med W3C i denne standardiseringsprosessen, og bestemte seg deretter i 2012 for å skille seg fra W3C standardiseringsprosessen [2] , og har i realiteten laget to versjoner av HTML5: versjonen av WHATWG er definert som "HTML Living Standard" og derfor i kontinuerlig utvikling, mens den for W3C vil være en enkeltversjon som tilsvarer et "øyeblikksbilde" av Living Standard.
Den første kandidatanbefalingen ble publisert av W3C 17. desember 2012, og den første versjonen av standarden ble publisert som en anbefaling 28. oktober 2014.
HTML 5.1-versjonen ble publisert av W3C som en anbefaling 1. november 2016.
HTML 5.2-versjonen ble publisert av W3C som en anbefaling 14. desember 2017 [3]
HTML 5.3-versjonen ble publisert av W3C som en anbefaling 28. januar 2021. [4]
HTML5 avviklet følgende tagger og attributter funnet i HTML4 ettersom funksjonen deres nå håndteres av CSS3 [5] :
HTML5 og CSS3 (utviklingen av CSS2) utgjør et komplett turing -språk [6] [7] , en tilstrekkelig betingelse for at et språk kan anses som et programmeringsspråk .
HTML5 er utviklet for å forbedre SEO i forhold til tidligere versjoner av HTML.
Ved fødselen av HTML5 var Webkit -gjengivelsesmotoren (Chrome og Safari) den første som tolket mange av de nye kodene riktig, den andre som oppdaterte fra det synspunktet var Gecko (Firefox) og til slutt Trindent (Internet Explorer). I noen år ble nettsteder som brukte de nye HTML-taggene som var tilgjengelige sett på forskjellig avhengig av nettleseren som ble brukt av brukeren [8] . Dette problemet ble delvis løst ved hjelp av teknikker som alternativ CSS spesifikt for Internet Explorer , betingede kommentarer skreddersydd for det, og JavaScript -biblioteker som Modernizr [9] [10] [11] . Fra og med 2019 støtter Microsoft Edge de fleste HTML5-spesifikasjoner [12] .
Innovasjonene introdusert av HTML5 sammenlignet med HTML4 er fremfor alt rettet mot å forbedre avkoblingen mellom struktur, definert av markering, gjengivelsesegenskaper (font, farger, etc.), definert av stildirektiver og innholdet på en nettside, definert av den faktiske tekst. Videre gir HTML5 støtte for lokal lagring av store datamengder lastet ned fra nettleseren , for å tillate bruk av nettbaserte applikasjoner (som Google - postbokser eller andre lignende tjenester) selv i fravær av Internett-tilkobling.
Spesielt [13] :
TAG [13] | OMFANG |
Nye strukturelle og semantiske elementer | |
Overskrift | |
Bunntekst | |
Seksjon | |
Nav | |
Artikkel (når det gjelder artikler på hjemmesiden) | |
Til side (innhold relatert til hoved) | |
H-gruppe | Grupper Overskrift-taggene |
<figur> og <figcaption> | Bildetekster for innhold |
Bygg inn | Sett inn interaktivt eller multimedieinnhold |
Rubin | Spesifiser Ruby-kommentarer |
Wbr | Nettleseren kan sette inn en ny linje |
<kommando> og <meny> | De definerer verktøylinjer eller kontekstmenyer |
<detaljer> og <sammendrag> | Informasjonswidget for brukere |
merke | En del av teksten er merket eller uthevet for brukeren |
<time> og pubdate og datetime attributter | 24-timers tid eller en dato i den gregorianske kalenderen |
Måler | Skalært mål for et kjent område eller brøkverdi |
Framgang | Status for fullføring av en oppgave |
Bilde | Beholder for bilder |
Mikrodata | Semantiske attributter kan spesifiseres for hver HTML-tag |
Nye attributter og inndatatyper for skjemaer | |
autofokus, plassholder og form | |
Inndatatype: tlf | |
Inndatatype: søk | |
Inndatatype: url | |
Inndatatype: e-post | |
Inndatatype: nummer | |
Inndatatype: område | |
Inndatatype: farge | |
Dataliste | Autofullfør på et skjemaelement |
Autofullfør | Tillater eller forbyr nettleseren å fylle ut feltene
av skjemaet automatisk |
Min, maks | De definerer minimum og maksimum tillatt verdi |
Flere | Den lar brukeren legge inn flere verdier for samme inngang |
Mønster | Bekreft at den angitte verdien samsvarer med visse regler |
Obligatorisk | Det gjør det obligatorisk å fylle ut et mellomrom i skjemaet |
Steg | Den definerer avstanden mellom en verdi og den neste |
keygen | Numerisk nøkkelgenerator i et skjema |
produksjon | Returnerer resultatet av en beregning |
API for nettapplikasjoner | |
Frakoblet nettapplikasjoner (.manifest-fil) | Etter den første nettlesingsøkten,
noen objekter vil også forbli tilgjengelige i fravær av nettverkstilkobling. |
Indexed Database API | Opprett og manipuler en database i nettleseren |
WebStorage API | Du kan for eksempel holde dem åpne samtidig
to sosiale kontoer eller e-postkontoer i samme nettleser og hver navigering på den første vil det resultere i utlogging av den andre og omvendt |
Web Workers API | De tillater kjøring av deler av Javascript-kode
uten å påvirke ytelsen til nettsiden |
WebSocket API | De etablerer og vedlikeholder en dataforbindelse mellom nettlesere
og ekstern server for å sende meldinger i begge retninger |
Dra og slipp | Dra og slipp objekter |
Geolocation API | Geolokalisering |
Multimedia | |
SVG og MathML | Vektorbilder og matematiske formler |
Lerret / WebGL | API egnet for å tegne linjer, sirkler, rektangler, bilder og 3D-objekter |
Video | Sett inn videofiler (tidligere bare mulig med Adobe Flash ) |
Lyd | Sett inn lydfiler |
WAI-ARIA ( Web Accessibility Initiative - Accessible Rich Internet Applications ) er et sett med dokumenter publisert av W3C ( World Wide Web Consortium ) som spesifiserer hvordan man kan øke tilgjengeligheten til dynamisk innhold og brukergrensesnittkomponenter utviklet med AJAX , HTML , JavaScript og andre relaterte teknologier. HTML5 la til nye WAI ARIA -regler [15] .
Hendelsen deviceorientationoppstår når nye data er tilgjengelige fra en orienteringssensor om enhetens gjeldende orientering i forhold til jordkoordinatrammen . Disse dataene samles inn av et magnetometer inne i enheten. I praksis, når du roterer enheten som nettsiden vises på, roterer objektet som inneholder denne API-en i henhold til x-, y- eller z-aksen til enheten [16] [17] .
Grunnkode:
vindu . addEventListener ( 'deviceorientation' , function ( hendelse ) { var a = hendelse . alpha ; var b = hendelse . beta ; var g = hendelse . gamma ; }, falsk );Bevegelseshendelser håndteres på samme måte som orienteringshendelser, bortsett fra at de har sitt eget hendelsesnavn: devicemotion[18] [19] .
Eksempel:
vindu . addEventListener ( "devicemotion" , handleMotion , true );Med hensyn til deviceorientationinformasjonen som er gitt i objektet DeviceMotionEvent, blir de parametere for HandleMotion- funksjonen .
Bevegelseshendelsen inneholder fire egenskaper:
Objekter DeviceMotionEventgir informasjon om hastigheten på endringer i enhetens posisjon og orientering. Modifikasjonene er gitt langs tre akser [20] .
For accelerationog accelerationIncludingGravitydisse aksene tilsvarer:
For rotationRateinformasjon tilsvarer:
intervalrepresenterer tidsintervallet, i millisekunder, der dataene hentes fra enheten.
HTML5test er en nettapplikasjon for å evaluere nøyaktigheten til en nettleser ved implementering av HTML5 webstandarder og Web SQL Database (utviklet av World Wide Web Consortium ), samt WebGL -standarden (utviklet av Mozilla Foundation og Khronos Group ) [ 21] .
Testpakken ble utviklet av den nederlandske nettprogrammereren Niels Leenheer og utgitt i mars 2010. For å teste en nettleser, må brukeren besøke nettsidens hjemmeside på . Applikasjonen returnerer en heltallsscore på opptil 555 poeng. Summen av poeng har endret seg flere ganger gjennom utviklingen av programvaren; Leenheer introduserte deretter et poengsystem som en del av en større testredesign som ble introdusert i november 2013 [23] . html5test.com[22]
HTML5test evaluerer nettleserstøtte for nettlagring, W3C geolocation API, HTML5-spesifikke HTML-elementer (inkludert Canvas -elementet ) og andre funksjoner [24] [25] . Den evaluerer ikke nettleserens samsvar med andre nettstandarder, for eksempel Cascading Style Sheets , ECMAScript , Scalable Vector Graphics eller Document Object Model . Samsvarstesting for disse standardene er ansvaret til Acid3 , en automatisert test publisert av Ian Hickson i 2008 [26] . Acid3 evaluerer heller ikke nettleserens HTML5-samsvar. Testomfanget til HTML5test og testomfanget til Acid3 utelukker hverandre.
Responsiv og interaktiv tabell i HTML5 og CSS3 som tilpasser seg enheten
Eksempler på interaktive diagrammer, interaktive kart og HTML5-tegneapper
Eksempel på interaktiv 3D WebGL