Και αν ξαναχτίζαμε το Web από το μηδέν; Η άποψη ενός developer για νέα web standards
Το Web που Έχουμε vs. Το Web που Θέλουμε
Θυμάστε εποχές που το web development ήταν απλό; Όταν μπορούσες να θυμάσαι τα βασικά specs από μνήμης; Σήμερα, το HTML spec φτάνει τα 18+ MB πυκνής τεκμηρίωσης που αλλάζει συνέχεια. Το μοντέλο "living standard" φέρνει αλλαγές κάθε εβδομάδα. Τα browsers εφαρμόζουν διαφορετικά κομμάτια. Όλοι φτιάχνουμε workarounds για προβλήματα που δεν θα έπρεπε να υπάρχουν.
Και εκεί αναρωτιέσαι: τι γίνεται αν ξανασχεδιάζαμε το web από την αρχή;
Το Κύριο Πρόβλημα: Η Πολυπλοκότητα ως Προστατευτικός Τείχος
Η υπερβολική πολυπλοκότητα του web δεν είναι τυχαία. Όταν τα standards γίνονται ακατανόητα σύνθετα, μόνο μεγάλες εταιρείες με λεφτά μπορούν να φτιάξουν browsers. Αυτό σκοτώνει τον ανταγωνισμό, πνίγει την καινοτομία και δίνει στα μονοπώλια τον έλεγχο για να διαμορφώνουν το web προς όφελος κέρδους, όχι χρηστικότητας.
Σκέψου το game theory: ένα φουσκωμένο standard με εκατοντάδες περίεργα features και bugs στο rendering σημαίνει:
- Χρειάζεσαι ολόκληρες ομάδες engineers για νέο browser.
- Μικρές ομάδες μένουν εκτός.
- Οι μεγάλοι ελέγχουν τα πάντα.
- Η πρόοδος σταματάει.
Αυτό δεν είναι bug. Είναι feature – αν είσαι ήδη πρώτος.
Πώς Θα Ήταν Ένα Απλούστερο Web;
Φαντάσου ένα spec που χωράει σε zip αρχείο. Κάτι που τυπώνεται εύκολα. Με semantic versioning (1.2.3, όχι "living standard") που δεν αλλάζει μετά την έκδοση. Παίρνεις το 1.2.0, πας σε έρημο νησί και φτιάχνεις compliant browser μόνο με αυτό.
Ακριβής Γραμματική Αντί για Χάος Συγχώρεσης
Η φιλοσοφία "error correction" του τωρινού web είναι εφιάλτης για parsers. Τα browsers έχουν περίπλοκους κανόνες για σπασμένα HTML, γιατί "έτσι είναι το web". Και αν το γυρίσουμε ανάποδα;
Ένα spec με τυπική, ξεκάθαρη γραμματική. Οι σελίδες είτε υπακούν είτε όχι. Χωρίς ερμηνείες. Αυτό πιέζει τα standards να είναι ακριβή και εύκολα parseable από οποιονδήποτε.
Το αποτέλεσμα; Οι developers πάνε σε απλά formats όπως Markdown ή YAML που παράγουν έγκυρο markup. Το tooling γίνεται παιχνιδάκι. Κερδίζουν όλοι.
Semantic Versioning ως Σύμβαση
Οι εβδομαδιαίες αλλαγές στα living standards κάνουν αδύνατο το σταθερό development. Το semantic versioning το λύνει:
- Patch: Διορθώσεις τυπογραφικών, grammar ίδιο.
- Minor: Νέα features συμβατά με παλιά.
- Major: Σπάει compatibility.
Γράφεις για 1.2.0 και δουλεύει σε 1.2.x-1.3.x browsers. Αποφασίζεις συνειδητά. Σχεδιάζεις χωρίς άγχος.
Text First: Το Κλειδί της Επιτυχίας
Η εμμονή με media και scripts φούσκωσε το web άσκοπα. Και αν βάζαμε το text και τη δομή στο κέντρο;
Το text είναι φορητό, μεταφράσιμο, accessible, ελαφρύ. Μια σελίδα βασισμένη σε text:
- Προσαρμόζεται σε κάθε οθόνη.
- Διαβάζεται από screen readers χωρίς triξ.
- Μένει αναγνώσιμη χωρίς CSS.
- Συμπιέζεται σε ελάχιστα bytes.
Δεν είναι οπισθοχώρηση. Είναι επιστροφή στην ουσία: ανταλλαγή πληροφοριών μεταξύ ανθρώπων.
Το Ζήτημα των Scripts
Πρόκληση: τα scripts ήταν λάθος.
Πριν θυμώσεις, άκου. Δεν λέω ότι η διαδραστικότητα είναι κακή. Λέω ότι το να τρέχεις πλήρη programming language σε κάθε σελίδα δημιούργησε τρελό security και complexity φορτίο. Κώδικας από άγνωστο site με πρόσβαση στο σύστημα; Τρελό.
Και αν η δυναμικότητα ερχόταν με περιορισμένα declarative συστήματα; Και τα βαριά apps ως ξεχωριστά προγράμματα, όχι browser scripts;
Γιατί Μας Αφορά Σήμερα
Δεν είναι θεωρία. Επηρεάζει τη δουλειά σου:
Για domain registrars και hosting: Απλό web = καλύτερη security, εύκολη compliance, βελτιστοποιημένη infra. Στο NameOcean, ξοδεύουμε ώρες σε browser quirks. Καθαρά standards ελαφρύνουν το φορτίο.
Για developers: Λιγότερα bugs, γρηγορότερο development, εύκολο debug. Targetάρεις versions με σιγουριά.
Για startups: Χαμηλή πολυπλοκότητα = ευκαιρίες. Περισσότερος ανταγωνισμός, καινοτομία, εργαλεία.
Για users: Μικρά αρχεία, γρήγορα loads, accessibility, security από default.
Η Αντίσταση στην Κατάληψη Standards
Το κλειδί: τα standards εξελίσσονται από power dynamics, όχι μόνο τεχνική. Η πολυπλοκότητα είναι τείχος για incumbents. Γι' αυτό διορθώνεται δύσκολα.
Game theory: Πώς κρατάς standards απλά όταν υπάρχουν λεφτά για φούσκωμα; Απαντήσεις: όρια μεγέθους αρχείων, governance, backwards compatibility, community έλεγχος. Δεν είναι τεχνικό. Είναι πολιτικό.
Τι Κάνουμε Τώρα
Δεν φορκάρεις το web αύριο (αν και κάποιοι προσπαθούν). Αλλά:
- Φτιάξε απλά. Περιόρισε JS. Χρησιμοποίησε semantic HTML. Κάνε sites να δουλεύουν χωρίς CSS.
- Target browsers versions. Καταγράψτε compatibility.
- Text-first. Κάνε sites αναγνώσιμα σαν plain text. Markdown για content.
- Αμφισβήτησε bloat features. Δεν πρέπει να τα χρησιμοποιείς όλα.
- Υποστήριξε open standards. Μικρά browsers, open-source, community projects.
Η Πραγματική Ερώτηση
Το web δεν χρειάζεται να είναι τόσο περίπλοκο. Το ότι είναι, δείχνει πώς εξελίσσονται standards κάτω από καπιταλισμό. Η τεχνική λύση είναι απλή. Η πολιτική δύσκολη.
Δεν πειράζει αν δεν δούμε "forked web". Σημασία έχει να ρωτάμε. Μας κρατάει ειλικρινείς. Το web δεν είναι αναπόφευκτο – είναι επιλογή. Και επιλογή αλλάζει.
Επόμενη φορά που παλεύεις με browser bugs ή φουσκωμένα features, θυμήσου: δεν είναι έτσι πρέπει να είναι.