Verwijderd schreef op donderdag 16 juli 2009 @ 12:45:
De toekomst is de browser.
[...]
Web based applicaties ZIJN de toekomst.
Mensen die daar bedenkingen bij hebben omdat web-based applicaties zich op het moment nog niet kunnen meten met lokale applicaties hebben een te kortzichtige visie en meten zich teveel aan wat er nu voor handen is. (en hebben waarschijnlijk nooit van Google Gears gehoord)
Web based applicaties gaan over http, en http is niet handig voor heel veel applicaties:
- het is stateless, wat oa betekent dat iedere keer opnieuw authenticatiegegevens verstuurd moeten worden.
- Opera heeft een extentie die de http verbinding openhoudt waardoor http in de praktijk statefull is, maarja, zolang dat alleen opera is gaat het niet gemeengoed worden.
- dat is nog een probleem aan het web als platform, er worden veel aannames gedaan over de capabiliteis van de client, HTML5 video is fantastisch, maar aangezien IE het niet ondersteunt zullen er maar weinig websites zijn die overgaan. De grootste gemene deler zal meestal gebruikt worden, en dat maakt het platform als geheel traag.
- gerelateerd aan het vorige punt: het is erg lastig om een applicatie te maken die geschikt is om te draaien op verschillende devices, bijvoorbeeld dat het op kleine schermen nog steeds prettig werkt. Zelfde geldt voor devices met minder CPU-kracht, hoge DPI-schermen, touchscreen of niet (een uitklapmenu on mouseover gaat dan niet werken), minder bandbreedte, enz.
- een verbinding wordt enkel en alleen geinitiliseerd vanaf de client, de server kan niet een berichtje aan de client sturen dat er een nieuw mailtje is (vergelijk IMAP push), maar de client moet pollen.
- de klassieke protocollen worden omzeild of niet gebruikt waar ze voor bedoeld zijn, dus je krijgt bijvoorbeeld problemen als je de back-knop van je browser gebruikt.
- Internet is voor de meeste mensen nog niet overal, en het gaat nog wel een decennium of wat duren voor dat wel zo is. Ik wil ook bij mijn data kunnen als ik geen internet heb, en ik wil mn accu niet onnodig leeg maken door de hele tijd over wireless dezelfde informatie te versturen.
- het internet is per definitie gedecentraliseerd, waardoor het lastig is om een centrale index aan te leggen. De enige reden dat ik mijn mail kan doorzoeken met Spotlight is omdat ik mijn google mail gedownload heb mbv IMAP.
- doordat alles in een applicatie zit, weet mijn OS bijvoorbeeld niet dat als ik een video aan het kijken ben, hij mijn screensaver uit moet zetten.
- webapplicaties stellen je vaak in staat een database te doorzoeken, het eerste probleem is dat je afhankelijk bent van de server, die er bijvoorbeeld lang over kan doen de query uit te voeren. Het tweede probleem is dat het erg lastig is om in een webapp de volledige kracht van bijvoorbeeld SQL aan te bieden in een makkelijk te gebruiken interface.
Veel van deze problemen zijn niet fundamenteel onoplosbaar, maar het maakt het maken van een goede webapp wel een heel stuk lastiger. Wat je dan krijgt is bijvoorbeeld waar ik erg veel last van heb als ik via het web een vliegreis of treinreis wil boeken: ten eerste ben ik aan mijn laptop gebonden, op mijn T-mobile G1 werkt het zo onhandig dat ik het niet eens meer probeer. Als ik een reis zoek, heb ik vaak meerdere websites open, en meerdere tabs van dezelfde website, bijvoorbeeld omdat ik op meerdere datums zoek. Als ik dan in een van de tabs op de knop "boeken" klik, blijkt vaak dat die website mijn eerdere zoekopdracht heeft vervangen door een nieuwe, en moet ik dus opnieuw de oorspronkelijke zoekopdracht herhalen.
Oftewel: ik ben het helemaal eens met Aaron Seigo, een van de lead developers van het KDE project. Hij geeft in oa
deze en
deze blogposts nog wat argumenten waarom webbased applications misschien toch niet de toekomst zijn.
Natuurlijk zie ik ook de voordelen, en ik heb er geen problemen mee als het een tussenstap is richting betere systemen. Ik weet ook niet wat Google gaat doen met Chrome OS, als je bijvoorbeeld naar Android kijkt zie je dat youtube en gmail, twee van de meestgebruikte webapps op desktops/laptops, zijn ondergebracht in native applicaties, het zou me niet verbazen als Google zoiets ook met Chrome OS gaat doen.