Έχουν περάσει πάνω από 20 χρόνια από τότε Τιμ Μπέρνερς-Λι και Robert Cailliau καθορισμένο HTML , η οποία έγινε η τυπική γλώσσα σήμανσης που χρησιμοποιείται για την κατασκευή του Διαδικτύου. Από τότε, το Κοινότητα ανάπτυξης HTML έχει ζητήσει βελτιώσεις σε αυτήν τη γλώσσα, αλλά αυτή η κραυγή ακούστηκε ως επί το πλείστον από προγραμματιστές προγράμματος περιήγησης ιστού που προσπάθησαν να διευκολύνουν τα θέματα HTML των συναδέλφων τους. Δυστυχώς, αυτό οδήγησε σε ακόμη περισσότερα προβλήματα που προκαλούσαν πολλά προβλήματα συμβατότητας μεταξύ προγραμμάτων περιήγησης και επανάληψη εργασιών ανάπτυξης. Κατά τη διάρκεια αυτών των 20 ετών, η HTML αναβαθμίστηκε 4 φορές, ενώ τα περισσότερα προγράμματα περιήγησης έλαβαν διψήφιο αριθμό σημαντικών ενημερώσεων συν πολλές μικρές ενημερώσεις κώδικα.
Το HTML5 έπρεπε να λύσει επιτέλους τα προβλήματά μας και να γίνει ένα πρότυπο για όλους τους κανόνες (προγράμματα περιήγησης) . Αυτή ήταν ίσως μια από τις πιο αναμενόμενες τεχνολογίες από τη δημιουργία του World Wide Web. Έχει συμβεί; Λάβαμε επιτέλους μια γλώσσα σήμανσης που θα είναι πλήρως συμβατή μεταξύ των προγραμμάτων περιήγησης και θα λειτουργεί σε όλες τις πλατφόρμες επιτραπέζιων και κινητών, δίνοντάς μας όλες αυτές τις δυνατότητες που ζητήσαμε; Δεν γνωρίζω! Πριν από λίγες μέρες (16 Σεπτεμβρίου 2014) λάβαμε μια ακόμη πρόσκληση για έλεγχο από το W3C οπότε η προδιαγραφή HTML5 παραμένει ελλιπής.
Ας ελπίσουμε ότι, όταν η προδιαγραφή οριστικοποιηθεί μία μέρα, τα προγράμματα περιήγησης δεν θα έχουν ήδη σημαντικό παρωχημένο κώδικα και θα εφαρμόσουν εύκολα και σωστά εξαιρετικές δυνατότητες όπως Εργαζόμενοι στο Διαδίκτυο , Πολλαπλά συγχρονισμένα στοιχεία ήχου και βίντεο και άλλα στοιχεία HTML5 που χρειαζόμαστε για μεγάλο χρονικό διάστημα.
Έχουμε, ωστόσο, χιλιάδες εταιρείες που έχουν βασίσει τις επιχειρήσεις τους σε HTML5 και κάνουν εξαιρετικές. Υπάρχουν επίσης πολλές εξαιρετικές εφαρμογές και παιχνίδια που βασίζονται σε HTML5 και χρησιμοποιούνται από εκατομμύρια ανθρώπους, επομένως η επιτυχία είναι προφανώς δυνατή και το HTML5 χρησιμοποιείται και θα συνεχίσει να χρησιμοποιείται ανεξάρτητα από την κατάσταση των προδιαγραφών του.
Ωστόσο, η συνταγή που ανέφερα μπορεί εύκολα να ανατινάξει στα πρόσωπά μας, και έτσι έχω τονίσει ορισμένα από τα πιο βασικά λάθη HTML5 που μπορούν να αποφευχθούν. Τα περισσότερα από τα λάθη που αναφέρονται παρακάτω είναι συνέπεια της ελλιπούς ή ελλιπούς εφαρμογής ορισμένων στοιχείων HTML5 σε διαφορετικά προγράμματα περιήγησης και θα πρέπει να ελπίζουμε ότι στο εγγύς μέλλον θα καταστούν παρωχημένα. Μέχρι να συμβεί αυτό, προτείνω να διαβάσετε τη λίστα και να τη λάβετε υπόψη κατά τη δημιουργία της επόμενης εφαρμογής HTML5, είτε είστε αρχάριος HTML5 είτε έμπειρος κτηνίατρος.
Αφήστε τους να φάνε κέικ! Αυτή η προσέγγιση αποτελεί επιβάρυνση για προγραμματιστές εδώ και αιώνες. Λόγω λογικά λογικού φόβος για παραβιάσεις της ασφάλειας και την προστασία των υπολογιστών, στις «σκοτεινές εποχές», όταν φοβόταν πολλοί από το Διαδίκτυο, οι διαδικτυακές εφαρμογές είχαν τη δυνατότητα να αφήνουν αδικαιολόγητα μικρές ποσότητες δεδομένων σε υπολογιστές. Είναι αλήθεια ότι υπήρχαν πράγματα όπως δεδομένα χρήστη που μας έδωσαν οι 'σπουδαίοι πλοίαρχοι προγράμματος περιήγησης από τη Microsoft (r)' ή πράγματα όπως το Local Shared Objects στο Flash, αλλά αυτό δεν ήταν καθόλου τέλειο.
Είναι επομένως λογικό ότι μία από τις πρώτες βασικές δυνατότητες HTML5 που υιοθετήθηκε από το προγραμματιστές ήταν Αποθήκευση Ιστού . Ωστόσο, να προσέχετε ότι το Web Storage δεν είναι ασφαλές. Είναι καλύτερο από τη χρήση cookie, επειδή δεν θα μεταδοθεί μέσω του καλωδίου, αλλά δεν είναι κρυπτογραφημένο. Σίγουρα δεν πρέπει ποτέ να αποθηκεύετε μάρκες ασφαλείας εκεί. Τα δικα σου πολιτική ασφαλείας δεν πρέπει ποτέ να βασίζεστε σε δεδομένα που είναι αποθηκευμένα στο Web Storage καθώς ένας κακόβουλος χρήστης μπορεί εύκολα να την τροποποιήσει localStorage
και sessionStorage
τιμές ανά πάσα στιγμή.
Για να λάβετε περισσότερες πληροφορίες σχετικά με το Web Storage και πώς να το χρησιμοποιήσετε, προτείνω να διαβάσετε αυτήν την ανάρτηση .
Το HTML5 είναι κάτι περισσότερο από μια απλή γλώσσα σήμανσης. Έχει ωριμάσει αρκετά για να συνδυάσει τη συμπεριφορά με τη διάταξη και θα πρέπει να θεωρήσετε το HTML5 ως εκτεταμένο HTML με προηγμένο JavaScript στην κορυφή. Εάν κοιτάξετε όλα τα προβλήματα που είχαμε πριν απλώς για να κάνετε έναν στατικό συνδυασμό HTML + CSS να μοιάζει πανομοιότυπος σε όλα τα προγράμματα περιήγησης, είναι δίκαιο να υποθέσετε ότι περισσότερη πολυπλοκότητα θα σημαίνει απλώς περισσότερη προσπάθεια που διασφαλίζει τη συμβατότητα μεταξύ των προγραμμάτων περιήγησης.
Η ερμηνεία HTML5 σε διαφορετικά προγράμματα περιήγησης απέχει πολύ από την ίδια, όπως συνέβη με το JavaScript. Όλοι οι μεγάλοι παίκτες στους πολέμους του προγράμματος περιήγησης έδωσαν το χέρι τους στις προδιαγραφές HTML5, επομένως είναι δίκαιο να υποθέσουμε ότι οι αποκλίσεις μεταξύ των προγραμμάτων περιήγησης θα μειώνονται με την πάροδο του χρόνου. Αλλά ακόμη και τώρα ορισμένα προγράμματα περιήγησης αποφάσισαν να αγνοήσουν πλήρως ορισμένα στοιχεία HTML5 καθιστώντας πολύ δύσκολο να ακολουθήσετε ένα βασικό και ένα κοινό σύνολο λειτουργιών. Εάν προσθέσουμε περισσότερες συσκευές και πλατφόρμες συνδεδεμένες στο Διαδίκτυο στην εξίσωση, η κατάσταση γίνεται ακόμη πιο περίπλοκη, προκαλώντας προβλήματα με το HTML5.
Για παράδειγμα Κινούμενα σχέδια Ιστού είναι εξαιρετικό χαρακτηριστικό που υποστηρίζεται μόνο από Chrome και Opera , ενώ Ειδοποίηση Ιστού λειτουργία που επιτρέπει την ειδοποίηση του χρήστη εκτός του πλαισίου μιας ιστοσελίδας για ένα συμβάν, όπως η παράδοση email, αγνοείται πλήρως από Internet Explorer .
Για να μάθετε περισσότερα σχετικά με τις δυνατότητες HTML5 και υποστήριξη από διαφορετικά προγράμματα περιήγησης, ανατρέξτε στον οδηγό HTML5 στη διεύθυνση www.caniuse.com .
Επομένως, το γεγονός παραμένει ότι, παρόλο που το HTML5 είναι νέο και καλά καθορισμένο, θα πρέπει να περιμένουμε πολλά προβλήματα συμβατότητας μεταξύ προγραμμάτων περιήγησης και να τα σχεδιάσουμε εκ των προτέρων. Υπάρχουν πάρα πολλά κενά που πρέπει να συμπληρώσουν τα προγράμματα περιήγησης και είναι δίκαιο να περιμένουμε ότι δεν μπορούν να ξεπεράσουν όλες τις διαφορές μεταξύ των πλατφορμών.
Ανεξάρτητα από το γεγονός ότι το HTML5 εξακολουθεί να εξελίσσεται, είναι μια πολύ ισχυρή τεχνολογία που έχει πολλά πλεονεκτήματα έναντι των εναλλακτικών πλατφορμών που χρησιμοποιήθηκαν πριν από την ύπαρξή του. Αλλά, με μεγάλη δύναμη έρχεται μεγάλη ευθύνη , ειδικά για αρχάριους HTML5. Το HTML5 έχει υιοθετηθεί από όλα τα μεγάλα προγράμματα περιήγησης σε πλατφόρμες επιτραπέζιων και κινητών. Έχοντας αυτό υπόψη, πολλές ομάδες ανάπτυξης επιλέγουν το HTML5 ως την προτιμώμενη πλατφόρμα τους, ελπίζοντας ότι οι εφαρμογές τους θα εκτελούνται εξίσου σε όλα τα προγράμματα περιήγησης. Ωστόσο, η ανάληψη λογικής απόδοσης τόσο σε επιτραπέζιες όσο και σε φορητές πλατφόρμες μόνο και μόνο επειδή το λέει η προδιαγραφή HTML5, δεν είναι λογικό. Πολλές εταιρείες (khm! Facebook khm!) έβαλαν τα στοιχήματά τους σε HTML5 για την πλατφόρμα τους για κινητά και υπέφεραν από το HTML5 να μην λειτουργεί όπως σχεδίαζαν.
Και πάλι, ωστόσο, υπάρχουν μερικές μεγάλες εταιρείες που βασίζονται σε μεγάλο βαθμό στο HTML5. Απλώς ρίξτε μια ματιά στα πολυάριθμα διαδικτυακά στούντιο ανάπτυξης παιχνιδιών που κάνουν καταπληκτικά πράγματα ενώ ωθούν το HTML5 και τα προγράμματα περιήγησης στα όριά τους. Προφανώς, αρκεί να γνωρίζετε τα θέματα απόδοσης και να τα αντιμετωπίζετε, μπορείτε να είστε σε εξαιρετικό μέρος κάνοντας εκπληκτικές εφαρμογές.
Ο Ιστό έχει γίνει πολύ σημαντικό κομμάτι της ζωής μας. Κάνοντας τις εφαρμογές προσβάσιμες σε άτομα που βασίζονται στην υποστηρικτική τεχνολογία είναι ένα σημαντικό θέμα που συχνά παραμερίζεται στην ανάπτυξη λογισμικού. Η HTML5 προσπαθεί να το ξεπεράσει εφαρμόζοντας μερικές από τις προηγμένες δυνατότητες προσβασιμότητας. Περισσότεροι από μερικοί προγραμματιστές το αποδέχτηκαν ως επαρκές και δεν έχουν ξοδέψει πραγματικά χρόνο για την εφαρμογή πρόσθετων επιλογών προσβασιμότητας στις εφαρμογές τους. Δυστυχώς, σε αυτό το στάδιο η HTML5 έχει προβλήματα που την εμποδίζουν να κάνει τις εφαρμογές σας διαθέσιμες σε όλους και θα πρέπει να περιμένετε να επενδύσετε επιπλέον χρόνο εάν θέλετε να συμπεριλάβετε ένα ευρύτερο φάσμα χρηστών.
Μπορείς να ελέγξεις αυτό το μέρος για περισσότερες πληροφορίες σχετικά με την προσβασιμότητα σε HTML5 και την τρέχουσα κατάσταση των πιο κοινών δυνατοτήτων προσβασιμότητας.
Το HTML5 έχει επεκτείνει σημαντικά το τυπικό σύνολο ετικετών HTML / XHTML. Εκτός από τις νέες ετικέτες, έχουμε αρκετούς νέους κανόνες και συμπεριφορές. Πάρα πολλοί προγραμματιστές πήραν λίγες βελτιώσεις και έχουν παραλείψει μερικές από τις πολύ ωραίες νέες δυνατότητες του HTML5.
Ένα από τα πιο όμορφα πράγματα στο HTML5 είναι η επικύρωση από την πλευρά του πελάτη. Αυτή η δυνατότητα ήταν πιθανώς ένα από τα πρώτα στοιχεία του HTML5 που πήραν τα προγράμματα περιήγησης ιστού. Δυστυχώς, μπορείτε να βρείτε περισσότερους από λίγους προγραμματιστές που προσθέτουν novalidate
από προεπιλογή στις φόρμες τους. Οι λόγοι για αυτό είναι λογικό και είμαι απόλυτα σίγουρος ότι θα έχουμε μια συζήτηση για αυτό. Λόγω της συμβατότητας με παλαιότερες εκδόσεις, πολλές εφαρμογές εφάρμοσαν προσαρμοσμένους επικυρωτές JavaScript και ότι η επικύρωση από τα προγράμματα περιήγησης έγινε από τα προγράμματα περιήγησης και αυτό είναι ενοχλητικό. Ωστόσο, δεν είναι πολύ δύσκολο να διασφαλιστεί ότι δύο μέθοδοι επικύρωσης δεν θα συγκρούονται και η τυποποίηση της επικύρωσης χρήστη θα εξασφαλίσει κοινή εμπειρία, ενώ θα βοηθήσει στην επίλυση ζητημάτων προσβασιμότητας που ανέφερα νωρίτερα.
Ένα άλλο εξαιρετικό χαρακτηριστικό σχετίζεται με τον τρόπο χειρισμού της εισαγωγής χρήστη σε HTML5. Πριν έρθει το HTML5, έπρεπε να διατηρήσουμε όλα τα πεδία φόρμας μέσα στην ετικέτα. Τα νέα χαρακτηριστικά φόρμας το καθιστούν απολύτως έγκυρο για να κάνετε κάτι σαν αυτό:
First name:
Last name:
Ακόμα κι αν lname
δεν βρίσκεται μέσα στη φόρμα, θα δημοσιευτεί μαζί με fname
.
Για περισσότερες πληροφορίες σχετικά με νέα χαρακτηριστικά φόρμας και βελτιώσεις, μπορείτε να ελέγξετε το Δίκτυο προγραμματιστών Mozilla .
Κατανοώ ότι οι προγραμματιστές ιστού είναι παράπλευρη ζημιά στους πολέμους του προγράμματος περιήγησης, καθώς πολλά από τα παραπάνω λάθη είναι άμεση συνέπεια της προβληματικής εφαρμογής HTML5 σε διαφορετικά προγράμματα περιήγησης. Ωστόσο, εξακολουθεί να είναι ζωτικής σημασίας να αποφεύγουμε κοινά ζητήματα HTML5 και να αφιερώνουμε λίγο χρόνο στην κατανόηση των νέων δυνατοτήτων του HTML5. Μόλις τα έχουμε όλα υπό έλεγχο, οι εφαρμογές μας θα χρησιμοποιούν εξαιρετικές νέες βελτιώσεις και θα μεταφέρουν τον Ιστό στο επόμενο επίπεδο.
μυαλό χάρτη για το σχεδιασμό ιστοσελίδωνΟι προγραμματιστές Ιστού είναι παράπλευρη ζημιά στους πολέμους του προγράμματος περιήγησης. Τιτίβισμα