Προγραμματισμός

9 χρήσεις killer για WebSockets

Για όλους τους αναγνώστες μου: Ευτυχώς για μένα βρίσκομαι σήμερα στα συστήματα κλιμάκωσης της Βραζιλίας, απορροφώντας τον καιρό των 90º F (32,2º C) και έχω γεμίσει με τα feijoada και caipirinha. Εν τω μεταξύ, για να διατηρήσω αυτό το ιστολόγιο σύμφωνα με τα πρότυπά σας, έχω στρατολογήσει τον κύριο μου Jonathan Freeman για να σας εκπαιδεύσω ενώ είμαι μακριά. Χωρίς άλλη παραλλαγή, εδώ είναι ο Jonathan - γκουρού front-end, ειδικός σε μεγάλα δεδομένα και μουσικός τζαζ. Απολαύστε και θα σας δούμε σε μερικές εβδομάδες! - ACO

Οι χρήστες ζητούν τώρα πληροφορίες μόλις είναι διαθέσιμες. Εάν πρέπει να ανανεώσετε τη σελίδα για να λάβετε νέες πληροφορίες, είναι ήδη πολύ αργά. Ευτυχώς, ένα πρωτόκολλο που υποστηρίζεται από όλα τα σύγχρονα προγράμματα περιήγησης επιτρέπει την άμεση ανταλλαγή δεδομένων: WebSockets.

Δεν υπάρχει άλλη λύση που να παρέχει αληθινή αμφίδρομη επικοινωνία όπως το WebSockets, ωστόσο πολλοί προγραμματιστές Ιστού εξακολουθούν να βασίζονται σε παραβιάσεις όπως το AJAX long poll. (Προς καταγραφή, νομίζω ότι η μακρά ψηφοφορία είναι εξαιρετικά δημιουργική και λειτουργική, αλλά παραβιάζει.) Η έλλειψη ενθουσιασμού για το WebSockets μπορεί να σχετίζεται με μια ευπάθεια ασφαλείας πριν από χρόνια ή την έλλειψη υποστήριξης του προγράμματος περιήγησης τότε, αλλά και τα δύο ζητήματα έχουν απευθύνεται.

[Εργαστείτε πιο έξυπνα, όχι πιο δύσκολα - πρέπει να γνωρίζουν οι συμβουλές και οι τάσεις που πρέπει να γνωρίζουν οι προγραμματιστές στον Οδηγό επιβίωσης των προγραμματιστών. Κατεβάστε το PDF σήμερα! | Παρακολουθήστε τις τελευταίες ειδήσεις προγραμματιστών με το ενημερωτικό δελτίο του Developer World. ]

Ο καθορισμός του εάν θα χρησιμοποιήσετε το WebSockets για τη συγκεκριμένη εργασία είναι απλός:

  • Η εφαρμογή σας περιλαμβάνει πολλούς χρήστες που επικοινωνούν μεταξύ τους;
  • Είναι η εφαρμογή σας ένα παράθυρο σε δεδομένα διακομιστή που αλλάζουν συνεχώς;

Εάν απαντήσατε ναι σε οποιαδήποτε από αυτές τις ερωτήσεις, σκεφτείτε να χρησιμοποιήσετε το WebSockets. Εάν δεν είστε ακόμα σίγουροι και θέλετε κάποια έμπνευση, ακολουθούν μερικές περιπτώσεις χρήσης δολοφόνων.

1. Κοινωνικές τροφές

Ένα από τα πλεονεκτήματα των κοινωνικών εφαρμογών είναι να γνωρίζετε τι κάνουν όλοι οι φίλοι σας όταν το κάνουν. Σίγουρα, είναι λίγο ανατριχιαστικό, αλλά το λατρεύουμε όλοι. Δεν θέλετε να περιμένετε λεπτά για να μάθετε ένα μέλος της οικογένειας κέρδισε έναν διαγωνισμό ψησίματος πίτας ή ότι ένας φίλος έχει εμπλακεί. Είστε συνδεδεμένοι στο διαδίκτυο, επομένως η ροή σας πρέπει να ενημερώνεται σε πραγματικό χρόνο.

2. Παιχνίδια για πολλούς παίκτες

Ο Ιστός έρχεται γρήγορα ως δικός του ως πλατφόρμα παιχνιδιών. Χωρίς να χρειάζεται να βασίζομαι σε προσθήκες (σας βλέπω, Flash) Οι προγραμματιστές ιστού είναι πλέον σε θέση να εφαρμόσουν και να πειραματιστούν με παιχνίδια υψηλής απόδοσης στο πρόγραμμα περιήγησης. Είτε ασχολείστε με στοιχεία DOM, κινούμενα σχέδια CSS, καμβά HTML5 ή πειραματιστείτε με το WebGL, είναι απαραίτητη η αποτελεσματική αλληλεπίδραση μεταξύ παικτών. Δεν θέλω να ανακαλύψω ότι ο αντίπαλός μου έχει μετακινηθεί αφού τραβήξω τη σκανδάλη.

3. Συνεργατική επεξεργασία / κωδικοποίηση

Ζούμε στην εποχή των κατανεμημένων ομάδων dev. Δουλεύοντας σε ένα αντίγραφο ενός εγγράφου που ήταν αρκετό, αλλά τότε έπρεπε να βρεις έναν τρόπο να συγχωνεύσεις όλα τα επεξεργασμένα αντίγραφα. Τα συστήματα ελέγχου εκδόσεων όπως το Git μπορούν να βοηθήσουν σε ορισμένα αρχεία, αλλά θα πρέπει να παρακολουθείτε τους ανθρώπους όταν το Git εντοπίσει μια διένεξη που δεν μπορεί να αντιμετωπίσει. Με μια λύση συνεργασίας όπως το WebSockets, μπορούμε να εργαστούμε στο ίδιο έγγραφο και να παραλείψουμε όλες τις συγχωνεύσεις. Είναι εύκολο να δείτε ποιος επεξεργάζεται τι και αν εργάζεστε στο ίδιο τμήμα ενός εγγράφου με κάποιον άλλο.

4. Δεδομένα ροής κλικ

Η δυνατότητα ανάλυσης του τρόπου με τον οποίο οι χρήστες αλληλεπιδρούν με τον ιστότοπό σας είναι ζωτικής σημασίας για τη βελτίωσή του. Το κόστος του HTTP μας ανάγκασε να δώσουμε προτεραιότητα και να συλλέξουμε μόνο τα πιο σημαντικά δεδομένα. Στη συνέχεια, έξι μήνες στο κάτω μέρος, συνειδητοποιούμε ότι έπρεπε να συλλέξουμε μια διαφορετική μέτρηση - μια που φαινόταν ασήμαντη, αλλά τώρα θα ρίξει φως σε μια κριτική απόφαση. Χωρίς τα γενικά αιτήματα HTTP, μπορείτε να είστε λιγότερο περιοριστικοί σχετικά με το είδος των δεδομένων που στέλνετε από τον πελάτη. Θέλετε να παρακολουθείτε την κίνηση του ποντικιού εκτός από τις φορτώσεις σελίδας; Απλώς στείλτε τα δεδομένα μέσω σύνδεσης WebSocket στο πίσω μέρος και διατηρήστε τα στο αγαπημένο σας κατάστημα NoSQL. (Το MongoDB είναι καλό για καταγραφή συμβάντων όπως αυτό.) Τώρα μπορείτε να αναπαράγετε αλληλεπιδράσεις πελατών για να δείτε τι πραγματικά συνέβαινε.

$config[zx-auto] not found$config[zx-overlay] not found