... Μου φαίνεται ότι η ήδη αρνητική άποψη που είχα για την HTML5 μόλις χειροτέρεψε. Ως ιδέα είναι ενδιαφέρουσα, σαφής βελτίωση από τα απαρχαιωμένα cookies, αλλά αναλογιστείτε τα εξής:
- Ακόμα αντιμετωπίζουμε προβλήματα ασφαλείας με τα cookies, τα οποία δεν έχουμε καταφέρει να λύσουμε σε πλήρες βαθμό - ειδικά οι νεότεροι developers. Τι νέα προβλήματα ασφάλειας θα εισάγει μια SQL-like client database?
- Τα cookies είναι απλό κείμενο, και δεν επιτρέπουν μεγάλη αποθήκευση πληροφοριών. Από την άλλη (ακόμα και σε rich εφαρμογές) χρειαζόμαστε όντως τόσο χώρο αποθήκευσης στον client, σε μια εποχή που τα δεδομένα διατηρούνται όλο και περισσότερο προς τους servers (η εξάπλωση του web σε βάρος των desktop εφαρμογών νομίζω συνηγορεί σε αυτό);
- Σε συνδυασμό με το πρώτο, τι είδους abuse μπορεί να δεχθεί μια τέτοια βάση από κακοπρογραμματισμένες web εφαρμογές. Κινδυνεύω να καταλήξω ξαφνικά να έχω ένα αρχείο που πιάνει 1GB στα καλά καθούμενα, τον browser να χτυπάει 100άρια στην CPU προσπαθώντας να κάνει αναζήτηση και indexing (στο εν λόγω DB αρχείο) γιατί πλέον ό,τι bad practice βλέπαμε στο thedailywtf.com τώρα θα συμβαίνει και στο client-side? Έχουμε ήδη αρκετά sites που κάνουν απίστευτη χρήση σε CPU μόνο και μόνο για μερικά εφεδάκια με το jQuery.
Η κυριότερη γκρίνια μου με την HTML 5 που δικαιολογεί τα παραπάνω είναι ότι πρόκειται για ένα πολύ κακό spec. Παραδείγματα:
- Η όποια προσπάθεια είχε γίνει με την XHTML για να σταματήσει το χάλι με το κακογραμμένο HTML markup που έβγαζε διαφορετικό αποτέλεσμα σε κάθε browser, φαίνεται να επανέρχεται. Σίγουρα, υποστηρίζεται η XHTML5 ως μια πιο strict μορφή της HTML5, αλλά κάτι μου λέει ότι δεν θα γίνει ιδιαίτερα δημοφιλής.
Και να μην μιλήσουμε τι γίνεται στην πλευρά του development, όταν ένας νέος προγραμματιστής θα πρέπει να "κληρονομήσει" μια κακογραμμενη σούπα από tags που με ιδιαίτερη χαρά δημιούργησε ένας προηγούμενος προγραμματιστής χρησιμοποιώντας κάποιον WYSIWYG editor, επιλέγοντας "HTML 5 web page". Εφιάλτης, που ήδη αντιμετωπίζουμε ως έναν βαθμό σήμερα.
- Προσθέτει χαζά tags τα οποία φαίνεται να έχουν περισσότερη σημασία απ' όσο θα έπρεπε. Χρειαζόμαστε πραγματικά ένα comments tag το οποίο θα "υποδηλώνει τα σχόλια ενός blog μηνύματος"; Χρειαζόμαστε πάλι το font tag το οποίο ήδη από την HTML 4.01 είχε καταργηθεί για προφανείς λόγους; Αυτό δεν είναι λύση απέναντι στο "div soup", απεναντίας η καλύτερη λύση είχε προταθεί στην XHTML 2.0, χρησιμοποιώντας το role attribute. Πχ <div role="comments"></div>.
- Σε άλλα tags πάλι, πχ i και small αλλάζει η σημασία τους, και τώρα ξαφνικά... σημαίνουν κάτι άλλο.
- Το μεγαλύτερο σφάλμα της HTML 5.0 είναι ότι δεν έχει ξεκαθαρίσει αν θέλει να είναι evolutionary ή revolutionary. Δεν έχει ξεκαθαρίσει αν θέλει να προσφέρει κάτι διαφορετικό το οποίο να μην βασανίζεται από τα λάθη του παρελθόντος, όπως αποπειράθηκε να κάνει η XHTML 2.0, αλλά ούτε ξεκαθαρίζει αν θέλει να βελτιώσει το υπάρχον χάος που υπάρχει στο Web. Στην τελική φαίνεται σαν μια απόπειρα να κάνει και τα δύο, αλλά με ιδιαίτερα βιαστικά και τσαπατσούλικα βήματα. Νομίζω ότι η ιδέα του client database αποτελεί ένα από αυτά τα βήματα.
Μην αφήνετε τα media να σας "ταΐζουν"!