Kerkivad ehk küsimused:
Mis asjad on HTML, CSS ja JS
Miks need kolmetähelised lühendid on olulised?
HTML - Hypertext Markup Language - Hüperteksti märgisekeel
Tim Berners-Lee-ta oleksime tänini pimeduses. Aga 1989 kirjutas ta järgmise
ETTEPANEKU:
Information Management - a proposal
Ülemus - Mike Sendall sai ka ajalukku, sest kirjutas sellele asjale peale
"Vague - but exciting" ja ettepanek läks käiku.
Hüperteksti mõte oli juba ammu ammu olemas -
Ted Nelson kasutas seda mõistet ja arendas isegi projekti nimega
XANADU. See oli üsna utoopiline projekt ja ei saanud kunagi teoks, kuigi arendati seda juba
alates aastast 1965 kusagil 90-ndateni.
Märgisekeeled eksisteerisid ka juba ammu ammu, ainult ühe arvuti süsteemidena.
HTML võttis oma aluseks juba tollal standardina kehtiva SGML - Standard Generalized Markub Language.
Berners Lee versioonis oli vaid 11 märgist. Ka praegu, kui on jõutud HMTL versioonini numbriga 5, on neid
alla 100.
Lihtsus, realistlikkus on väga tähtsad asjad. XANADU oli mõttelt tohutult parem asi, kui HTML, aga see oli
realiseerimatu. SGML on tänini korralikult realiseerimata, selle alamhulka XML (EXTENDED MARKUP LANGUAGE) üritatakse tuua netti, aga tehniline keerukus on selle projekti pannud toppama.
Praegu ehk, 10 aasta jooksul jõutakse ka XML-ni Internetis (praeguseni on see veel haruldane).
Kui Ted Nelson (loe linki) oli hüperaktiivist visionäär, kes tahtis Internetti luua selleks, et kõik tema tegemised
ei jääks pooleli (hüperaktiiv võtab meeletult ette, kuid ei vii midagi lõpuni), siis vahest kõige olulisem visionäär
arvutimaailmas enne TimBL -i oli
Douglas Engelbart. Lingil näete tema presentatsioonis 1968 nägemust arvutimaailma tulevikust. Selle mehe ideesid on värskendav tänapäevalgi uurida!!
Kuid aitab ajaloost.
TimBL-i prohvetlikkus on pigem paaris lihtsas tões:
1) Mõned fantaseerivad (ja väga palju). Teised teevad ära, palju lihtsamalt, palju ebatäisulikumalt, kuid teevad ära. HTML ei olnud loomise ajal sugugi täiuslik asi, aga lihtne.
2) TimBL projekt oli avatud. Ta ei küsinud kelleltki raha, tema Internet oli avalik. Ei salastatust, isegi vist
mitte Interneti patenti ei olnud.
3) Kasutati juba olemasolevaid ideesid. Ei maksa leiutada jalgratast.
4) Interneti edasine ajalugu vaid kinnitab, et lihtsus võidab. XML-i taheti 2000-2009 juurutada, aga ei
õnnestunud. Alternatiivsena arendatud HTML5 - HTML4 täiendus, aga jäi.
5) Samm sammult, lisandades juppe jõutakse pigem keerukuseni, uskumatult hästi toimivate asjadeni,
mitte korraga kõige kõige täiuslikumat püüeldes.
Interneti osiseid lisandub iga aastaga. Neist kõige tähtsamad aga on HTML (Algul ainult see, koos
HTTP-ga), lisandus CSS ja siis tuli js (JavaScript). Küllap lisandub juppe veelgi.
ja nii edasi ja nii edasi ...
Personaalses plaanis ma saavutasin enam, kui loobusin idee fix-est, et minu näidis HTML tekst ei oleks täiendatud lisaridadega. Iga päev natuke tööd kindlas suunas on palju olulisem, kui üks kord nädalavahetusel
48 tundi järjest programmeerida ...
Ei maksa taga ajada täiuslikkust. Nii paljud asjad, s.h. armastused, elud üldiselt jäävad olemata, sest ...
tahetakse täiuslikku... ja nii edasi ...
Minu praeguses relvastuses on üks kataloog, (mille alla tuleks teha projektide täienemises veelgi alamkatalooge,
XP tüüpi vana arvuti, millele lisaks on abx Mac Air. Üldiselt peate oma pottide ja pannidega ise
hakkama saama, see on omaette pusimine, oma arvuti ja kuidas seal asju käima saada. Pikad manuaalid on siin lausa kasutud.
Olemas olgu Chrome ja Firefox sirvik, need peavad olema viimase peal, muidu HTML5 ja moodsamad javascript asjad ei pruugi käia. Mul praegu Firefox 30...
IE on arvutis niikuinii ja ei maksa oma elu liiga keeruliseks ajada - alguseks ajame koodi käima näiteks Firefox
30 peal ja ignoreerime muid kaeblemisi (IE-s ei käi, Opera ei tööta etc...). See ei tähenda, et te ei pea
neist muredest teadlik olema, lihtsalt pole see aeg veel käes.
Firefox-iga kaasas käib hea koodi uurimise jubin Firebug(midagi on teistel ka, aga alustage sellest ehk, ignoreerige igasuguseid
vilesid, millest aru ei saa ja eriti neid, millest ei tundu kasu olevat.
Üleüldse, võib piirduda sellega, et saate minu lehekülje või mistahes teise lehekülje avatud, vajutate korra F12 ja siis panete kogu selle hiina mõistatusena näiva asja algatuseks kinni tagasi.
Väga hea soovitus on otsida ja laadida alla Notepad++ - jälle unustage hirmuäratav hulk vilesid ja vidinaid.
Jätke kõik rahule ja proovige sisse tippida ja salvestada HTML mall oma harjutuste kataloogi.
Igal juhul kodeeringuks olgu utf-8, see peaks olema praegu standard, kunagi tulevikus tulevad veel
"vingemad" UTF-d. Ajaloolastele lisaksin et igat sorti muud asjad, ASCII, ANSI etc... on juba OUT.
Võimalik, et TE PEATE oma töös neid elus hoidma, sest keegi on teinud kunagi ammu ammu mingi lehekülje ja seda koodilasu ei ole keegi võimeline nii ümber tegema, et töötav asi vussi ei läheks ...
Ka Notepad-ga tasub nalja pärast harjutada, seal peate salvestama ka tulemi UTF-8-ks. Võib juhtuda, et olete
kusagil pommiaugus ja teil on kasutada kellegi arvuti ja pole internetti - jälle hea harjutus hakkama saada
lihtsaimate vahenditega, mis võimalik.
Päris alustuseks tegelikult peaks sobima (eriti õpilastele, sihtgupp on see) Codeacademy all olevad online kursused HTML, CSS ja JSCRIPT kohta. Seal peate kohe ise ka midagi tegema, mida ei saa öelda muude teoreetiliste materjalide kohta. (google Codeacademy on lihtsaim moodus selleni jõudmiseks).
Siis või siia või mujale tagasi tulla ja proovida arvutis mingit mängu aretada.
Alustuseks piisab oma kataloogis käima aetud juppidest.
HTML faili laiend:
See on kas html või htm, tänapäeval ei olevat vahet.
Vanasti oli MS-l failide nimetamise süsteem 8.3, s.t. 8 tähte failinimele,
ja 3 tähte laiendile. Korrektne HTML ei mahtunud ära, seda tuli lühendada.
Unix võimaldas 4 tähte. Serverite suhtlemisel peaks seetõttu, kuna htm on jäänuk vanast ajast,
korrektne olema pigem html. Teoreetikud ütlevad, et laiendil ei olevat üldse tähtsust, kui
html dokument on õige. Aga ta alati ei ole ja seetõttu siin topelt ei kärise, teeme
sirvikule ja ka serverile elu lihtsamaks korrektse laiendiga.
HTML dokument minu arvutis on praegu html laiendiga ja punkt.
samamoodi olgi Cascading Style Sheet (stiilifail) laiendiga .css ja javascript programmide kogumik
laiendiga .js
Laiend ei tee aga sellest failist kuidagi HTML faili, seda teeb sisu ja seal peavad asjad paigas olema.
Setõttu peabki HTML faile tegema Notepadi või Notepad++, näiteks Wordpad keerab selle sisu praegu nässu,
sest ei oska hakkama saada Utf-8 -ga (võimalik, et mina ei oska wordpadiga hakkama saada) ja veel hullemad
tagajärjed on wordiga HTML tegemisel (isegi kuigi uuematel wordi-del on mingi selline võimalus).
Mis on märgis ehk tag ?
PS! Kellel kiire, libisega diagonaalis üle, aga ma pidasin vajalikuks selle kirja panna:
HTML vanavana...isast SGML-ist (ülal võite leida desifreeringu) pärineb idee (seal oli vist neid
veel, erinevaid märgiste sorte) mingeid märgiseid kirja panna nii
märgise koha peale võib siis kirjutada
html, body, head, p, a, img,
j.m.s. HTML-s ära defineeritud märgiseid.
Keerukama variandi korral võib olla märgisele omistada mitmesuguseid omadusi (attribuute).
Selline puhtalt hüpoteetiline näide märgise
mingi_märgis jaoks:
Omadusi võib märgisel olla ka 20, kui vajalik. Omadus, nagu näha, pannakse nii
kirja -
omaduse_nimi = "omadus ise, pandud JUTUMÄRKIDESSE"
Märgis võiks tänapäeva viisakal HTML kirjutajal
olla alati lõpetatud, s.t. lõpetada väiksem-suurem märkide vahele pandud
ära lõpetava märgiga
Lõpetamiseks on lihtsalt murrujoone märk on ette pandud.
HTML keeles oli algul kusagil 20 märgist. Praegu vahest 100.
TimBL-le ja teistele HTML arendajatele ei meeldinud HTML algelisus.
Ilmselt tänu jumalale ja ka praktilistel kaalutlustel nad loobusid ÜLIKEERUKA
SGML netti juurutamisest.
Selle asemel nad leiutasid SGML lihtsustatud variandi, tõsi,
lisandatud asjadega, mida SGML loojad ei osanud ette näha - netilingid jpm...
XML - eXtended Markup Language
See on õieti öeldes teatud reeglistik, mille järgi igaüks võiks luua oma märgiste
keele.
Selle keele reeglistikule tuleb viidata ja netisirvik võiks selle reeglistiku
järgi kirja pandud
märgiste ja märgiste vahelise sisu järgi kasutajale näidata seda sisu nii, nagu
selle keele looja on tahtnud.
Praeguseks ei ole XML utoopia päriselt realiseerunud, aga sellest oli kasu. Mõnda
aega üritati HTML-ist
saada XML reeglitele alluv keel, kus ainult
W3C
konsortsiumis defineeritud
kirjelduste järgi sirvik (browser)
näitaks netilehe looja mõtete järgi seda sisu.
Alustuseks nõuti, et nagu XML-s, oleksid märgised väikeste tähtedega kirja pandud.
Ei ole põhjust selle
vastu protesteerida, miks mitte. Kuigi HTML ise lubab ka märgiseid HTML, BODY
etc..., pange märgised
kirja väikeste tähtedega.
Teine nõue oligi märgise lõpetamine. Mõni eriline märgis HTML-s võis olla selline,
mida ei pidanud, ja ka HTML-s ei pea, lõpetama.
Lõpetage sellest hoolimata oma märgised ära.
(Ei maininud, et
üks võimalus märgise lõpetamiseks on mõnel puhul ka märgise sees.)
Siin br märgise lõpetab kohe "suurem märgi" ees olev murrujoon /.
Kolmandaks ei tohtinud kirja panna selliseid asju (toon näiteks HTML märgised
p ja
div.
selle asemel peab kirjutama nii
Märgised võivad ja ongi üksteise sees, aga lõpetused peavad olema õiges
järjestuses, täpsemalt teisipidi,
kui neid alustati.
Juba need tagasihoidlikud nõuded (ja veel mitmed) ei täitunud ja unistus HTML-st
saada XML reeglitele alluv keel,
millele võiks lisandada teisi XML keelekesi, ei täitunud.
Sellest hoolimata on suuremad netisirvikud (IE, CHROME, FIREFOX) õppinud XML-st
aru saama ja seetõttu
võivad nad juba avada mitmesuguseid XML dokumente, peale HTML keeles vormistatud
asjade.
See segaduste periood, kus HTML -i, versioonist 4.01, enam ei arendatud, ja
arendati
mingit XML- keeles kirja pandavad netistandardit, kestis peaaegu 10 aastat.
Paralleelne grupp (peamiselt suured arvutihiiud) arendasid praktilisemat
standardit HTML5
Lõpuks jõuti kompromissini - netis kehtib HTML5 praeguseks ja XML- reeglitele
alluvate asjadeni jõutakse
ehk ka mingis tulevikus järk järgult.
Selleks võiks olla kasu praegu laiutavate pdf-de, doc, docx-de jpt.
failiformaatide KAOTAMISEKS. Lihtsalt
kõik dokumendid ongi netis XML formaadis (ja miks ka mitte mujal).
Kuid
rõhutan - see on UTOOPIA. Sellest hoolimata võidakse 20 aasta pärast
olla sellele veidi ligemal...
Saladuslik !DOCTYPE
Alustame lõpuks ometi sellest paarirealisest mallist. Kõige saladuslikum
rida selles mallis on kahtlemata
See ei ole märgis (kui oleks, siis ei oleks õieti tehtud, ei ole lõpetatud)
Võite kontrollida - see ei ole absoluutselt vajalik, jätke see ära, lehekülg
toimib edasi, kuigi mõni asi võib hakata korrutama, näe, viga sees ...
Kuna see on kasutu, on hea selle ümber juttu veeretada ja seda tõesti jätkub
kauemaks...
Pärineb see XML standardist, kus selline rida on esimesena alati vajalik, sest
XML-i tõlgendav programm peab leidma allpool olevate märgiste kirjelduse, selleks
on
spetsiaalne fail, tüübiga
DTD (mitte DDT!). Äraseletatult
Document Type Description - Dokumendi Tüübi Kirjeldus
Seal peab olema selge jutt kõigi märgiste kohta, mis allolevas dokumendis
ette võivad tulla.
Lihtsamal juhul võib faili asemele sellesse märgisesse ise kõik tarkuse, mis
märgiste kohta öelda, kirja panna...
HTML-ist taheti teha ka head XML-i le alluvat keelt. Kuigi see ei õnnestunud,
pidi DOCTYPE sees olema, mis viitas kohusetundlikult
W3C kodusaidil
olevatele
kirjeldustele. Sirvik seda iial ei kasutanud, aga programmeerijad pidid
HTML kirjeldustega oma programmis arvestama.
Sellejuures ei olnud HTML 4.01 standardis, mis õnneks minevik, neid kirjeldusi
mitte üks, vaid mitu. Kõige karmimal variandil ei lastud läbi halbu
kodulehekülgi, ingl. keeles "strict"
(vähemalt halvasti vormindatud osiseid neist), vähem karmimal juhul lasti
vanemad leheküljed läbi, veel tuli
seal mõnikord öelda, kas leheküljel on olemas mingid freimid
(võivad nüüdki ette tulla, siis peabki see !DOCTYPE selliseks segaseks asjaks
seal jääma aegade lõpuni...
aga ärge ise freime kasutage, kasutage
iframe
, nii on targad öelnud)
või ei ole... ja nii edasi. DOCTYPE kirjeldusi tuli
kui seeni ja veel hullemaks ajamiseks võtsid kõik algajad HTML päistest need
tuimalt üle, kuna mitte keegi ei olnud võimeline aru saama, milleks see DOCTYPE
hea oli. Enamasti kõik toimiski, ainult et lehekülg oli täienenud
mittevajaliku spämmiga.
Kõige selle kamaga tegi HTML5 standard resoluutse lõpu ja jättis alles rea
Ka siia võiksite lisada mitmesuguseid täiendusi, aga ärge seda tehke.
Näiteks ärge lisage sinna keeleks eesti keelt
et
- see võiks idee järgi öelda,
et HTML
kirjeldus on tehtud eesti keeles. EI OLE, on tehtud inglise
keeles...
Teie teksti kohta ei ütle ta mitte midagi - keel tuleks lisada soovi korral
html märgisesse ja seda ka siis, kui tõesti terve lehekülg on kindlalt
eestikeelne.
Minu blogi ei ole, on paar inglise keelset teksti ka sees ja seetõttu see ei
kõlba. Google üritabki keele kindlaks määrata oma algoritmi põhjal.
Ärge seda rida ka ära jätke, seda hakkab siis vaja minema, kui XML dokumendid ka
netti tulevad suuremal määral.
Üsna tõenäoliselt võivad vanemate kodulehekülgede haldajad mõne pisitäienduse
hinnaga varasema !DOCTYPE
kama asendada selle lakoonilise reaga, kui muidugi nad ei kasuta neid
saladuslikke freime. Loodan, et pääsen neist vähemalt esialgu...
Ja kõige lõpuks saate läbi päris ilma selle reata ka vähemalt esialgu.
Aga ärge veel seda rida ära jätke.
Kõige kurja juur - "html" märgis
ning "html" järelpõlv.
Ma loodan, et ma pole teid veel meeleheitele
ajanud.
Jõuame teise rea juurde, esimest ei
olnudki vaja.
Ka html märgis on vajalik teoreetikutele ning
rohkem arvutile, sest ainuke mõte sellel märgisel on olla
kõikide teiste märgiste esiemaks (root element inglise keeles).
Nii et see märgis ütleb lõplikult - kõik, mis
minu sees, on html dokument. Ja kõik need elemendid minu sees on
ka minu järeltulijad.
Minu toodud mallis (ja ka kõigis teistes
korralikes
html dokumentides omab html 2 last: "head" ja "body".
"head" märgiste vahele pannakse dokumendi kohta vajalikud andmed -
kõige tähtsam laps on sellel muidugi
title, tiitel.
Seda kuvatakse sirvikul vastaval "tab-il" selle lehe avamisel.
Head tütreke
meta ütleb ära, mis tähemärgisüsteemi tuleks
kasutada.
See rida peab seal kindlasti olema ja meile sobib utf-8.
Enamikele eurooplastele muuseas sobib...
Igasuguseid "meta" märgiseid (tütrekesi) võib olla veel,
kuid algul see küll oluline pole.
Piisab charset märkimisest.
Korralikes
HTML dokumentides on vaja aga ka järgmisi lapsi:
lapsuke
link viitab stiililehele nimega
lihtne_stiil.css.
Miks ta seda nii keerukalt teeb? Küsige TimBL-lt.
Teine laps
script (kus omadust type="text/javascript" ei pruugigi
kasutada, src kindlasti peab olema) viitab aga selles html dokumendis
kasutatavale programmile nimega
lihtne_js.js
Programmeerimise keeleks on
javascript, just HTML "elavdamiseks" kasutusele
võetud programeerimiskeel. Ei väsi korrutamast: javascriptil ei ole mingit
pistmist Java programeerimise keelega (vahest väga kauge mõtteline sugulus,
kuid samahästi võib teda nimetada ka Fortrani järeltulijaks)
Vaatame lühidalt üle ka järgmise lapse
body järelpõlve.
'Seal midagi muud peale blogi poolt genereeritud spämmi ja ühe pealkirja ei
olegi.
nii et päris lapsi on 1:
h1 päise märgis koos päisega.
Nii et selline see HTML lihtsaima dokumendi struktuur on.
Head märgiste vahele pannakse programmid (ei pea ainult jscript olema,
tänapäev saab ka muid
asju lisada, näiteks php) ning viited stiililehtedele, mis nagu nimigi ütleb,
määrab
kujunduse. HTML- enda sees üritage kujundada võimalikult vähe, põhitöö tuleb ära teha css lehtedega.
Igasugused dünaamilised efektid peaksid jääma javascript toimetada...
body sisaldab aga sisu - näiteks pealkirja, paragrahvide vahele pandav sisu
tuleb siin veel välja mõelda.
Miks aga ma kasutan sellist imelikku geneaoloogide keelt, pannes HTML dokumendi elemente või objekte
sugupuusse?
Ma ei ole just suguvõsa uuringute fänn, kuna peamiselt ühe vanaema tõttu on minu sugupuus iga päev
mõni sünnipäev toimumas ja postkast seetõttu alati umbes.
Kogu selle asja puussepaneku
põhjuseks on arvuti - arvutile meeldib asju uurida, aga ka muuta just sellel moel, vaadeldes kogu
html dokumenti kui puud.
Ülalpool toodud jutt peaks veenma, et see on alati võimalik märgiste keele
puhul.
Kui kogu HTML dokument niimoodi puusse panna, nimetatakse saadud asja
DOM puuks (Document Object Model tree)
Illustreeriv näide ühest lihtsast DOM puust all kahjuks ei kajasta minu dokumendi malli puud,
aga peaks olema selgitusteta arusaadav.
Mis puudutab aga minu sugupuud, siis see ei mahu ära ühegi mõistliku arvuti ekraanile...
Meie sugupuus aga leidub isikuid, kellel see aga on ilma mingite probleemidega
täielikult peas.
Trips-traps trulli järgmises osas toon ehk välja juba koodi ja hiljem katsume lisada vilesid ka.
Üheks partneriks peaks mängule saama arvuti ja vastavalt mängija soovile võiks see olla
kas
- a) geniaalne lausidioot, kes teeb alati HALVIMA käigu
- b) juhusliku õnne peale lootev idioot
- c) JUMAL, kes teeb alati õigeima käigu
2 Comments:
Ma üritasin mõni aasta tagasi samuti veebiprogrammeerimist õppida ja minu, kui õppuri jaoks, oli kõige parema lahendusega see leht. Vaata seda, ehk saad sealt vormistamiseks eeskuju.
+ see mõte veel, et kõige raskemaks minu jaoks osutus see, et pea kõigile küsimustele on internetis näidised olemas. Aga mina tahtsin ju ISE teha. Kõige suurem puudus oligi näidisülesannetest, mille kallal võiks pusida.
http://metshein.com/index.php/veeb/html5
Aitäh, Mario Metshein on sellel lehel tõesti tänuväärset tööd teinud. Seda tüüpi juhendeid ka liigub rohkem, enam-vähem põhjalikult asju kajastavad. Seetõttu ma püüan ise otsida üles rohkem probleemidele orienteeritud lähenemist - on püstitatud ülesanne ja kuidas seda võiks lahendada.
Siin on mdx ka ämbrisse paneku tõenäosus võrdlemisi suur.
Sain aga kohe abi viitega Notepad++-le. Veel tahaks uurida, kuhu see materjal kõige mugavam oleks paigutada (blogiruum selleks ei sobi, siin on kõike - muusikat, niisama targutust ja filosoofiat.
Aga alguseks käib küll ja vahest näitab, et saab tegelikult arendada projekte üsna suvalise pinna peal ka.
Postita kommentaar
<< Home