Tunnettu amerikkalainen Web-guru Aaron Gustafson piti 29.11.2011 päivän mittaisen workshopin iloisessa Amsterdamissa. Aiheena oli moderni progressiivinen web-kehitys. Paikalla oli reilut toistakymmentä Web-osaajaa ympäri Eurooppaa, Suomesta siis mukana Tieturi, osallistujajoukon ainoana koulutusyrityksenä. Tapahtuman ohjelma on täällä: http://inspireconf.com/
Workshop alkoi Web-kehityksessä vallitsevien työskentelytapojen läpikäymisellä.
Yhä edelleen tehdään paljolti Web-sivustoja hyödyntäen viimeisintä tekniikkaa ja uusimpien selaimien uusimpia ominaisuuksia. Siinä sinänsä ei ole mitään kummallista, kehittäjät ovat aina olleet innostuneita uusimmista jutuista. Valitettavasti tavalliset käyttäjät eivät ole samalla aikajanalla, vaan joutuvat usein käyttämään kehittäjien tekemiä sivustoja vanhemmilla laitteilla ja selaimilla. Tavallinen käyttäjä ei näe eikä koe sivustoa samalla tavalla kuin kehittäjä.
Tähän ”ongelmaan” kehittäjät ovat käyttäneet jo vuosia Graceful Degradation toteutustapaa, jolla on yritetty toteuttaa sivusto siten, että myös vanhemmilla selaimilla sisältö olisi edes jotenkin saavutettavissa, tai että ainakin pahimmilta virheilmoituksilta vältyttäisiin. Graceful Degradation –tyyppisessä toteutuksessa pääpaino on kuitenkin aina ollut uusissa selaimissa ja uusissa web-tekniikoissa sekä niiden ominaisuuksien hyödyntämisessä.
Progressive Web Design –tapa on hyvin samankaltainen kuin graceful degradation, mutta lähestyy samaa asiaa toisenlaisesta näkökulmasta.
Niin kuin Aaron Gustafson sanoi:
Uusia selaimia ja uusia tekniikoita tulee ja menee, mutta hyvä sisältö säilyy.
Workshopissa korostettiin sitä, että olennaista on rakentaa ensin hyvä sisältö, joka on kaikkien saavutettavissa, myös Lynx –selaimen käyttäjälle
Hyvän sisällön päälle voidaan rakentaa progressiivisesti parantavia kerroksia eri tekniikoin siten, että erilaiset päätelaitteet ja selaimet saavat kukin parhaan mahdollisen käyttökokemuksen. Uusimpia “hype”-ominaisuuksia voi ja pitääkin käyttää, kunhan vain huolehditaan, että niiden käyttö ei estä sisältöön pääsemistä vanhemmilta selaimilta.
Progressiivinen kehitys ei ole ajatuksena eikä terminä niinkään uusi, sen kehitti jo v. 2003 herra nimeltä Steven Champeon. http://en.wikipedia.org/wiki/Progressive_enhancement . Toteutustapana vain graceful degradation on ollut yleisempää. Nyt kuitenkin muutoksen tuulet puhaltavat selvästi enemmän progressiivisen Webin suuntaan.

Workshopissa käytiin yksitellen läpi progressiivisen Webin rakennuspalikoita, jotka ovat
- sisältö
- semantiikka
- design
- interaktiivisuus ja
- esteettömyys
Monessa kohtaa progressiivinen kehitys nojaa selaimien virheensietokykyyn, jonka avulla mm. uusia HTML ja CSS –ominaisuuksia voi käyttää ilman että siitä olisi haittaa vanhoille selaimille. http://en.wikipedia.org/wiki/Fault-tolerant_system
Skriptauksessa olennaisinta on käyttää unobtrusive scripting –tapaa. http://en.wikipedia.org/wiki/Unobtrusive_JavaScript
Workshoppiin osallistujana oli mukava huomata, että moni esitelty asia on jo nyt jollain tapaa mukana Tieturin HTML-, CSS- ja JavaScript -kursseilla, kartalla siis ollaan hyvinkin. Paljon uuttakin asiaa tarttui hihaan ja niitä tuodaan mukaan kurssisisältöihin sitä mukaa, kun kurssimateriaaleja pikapikaa päivitetään.
Jos et kerkiä kurssille, niin googlettamalla aiheesta löytyy paljonkin luettavaa, oivia hakufraaseja ovat mm. tämän artikkelin tagit. Poimin tähän muutaman malliksi:
- http://www.alistapart.com/articles/understandingprogressiveenhancement/
- http://easy-readers.net/books/adaptive-web-design/
Teuvo Väisänen
Web Specialist, Tieturi
