9 pembunuh menggunakan WebSockets

Kepada semua pembaca saya: Untungnya bagi saya, saat ini saya berada di sistem penskalaan Brasil, menyerap cuaca 90º F (32,2º C), dan menikmati feijoada dan caipirinha. Sementara itu, untuk menjaga agar blog ini sesuai dengan standar Anda, saya telah meminta orang utama saya Jonathan Freeman untuk mendidik Anda selama saya pergi. Tanpa basa-basi lagi, inilah Jonathan - front-end guru, spesialis data besar, dan musisi jazz. Selamat menikmati dan sampai jumpa dalam beberapa minggu! - ACO

Pengguna sekarang meminta informasi segera setelah tersedia. Jika Anda harus menyegarkan halaman untuk mendapatkan informasi baru, itu sudah terlambat. Untungnya, protokol yang didukung oleh semua browser modern memungkinkan pertukaran data langsung: WebSockets.

Tidak ada solusi lain yang menyediakan komunikasi dua arah yang sebenarnya seperti WebSockets, namun banyak pengembang Web masih mengandalkan peretasan seperti polling lama AJAX. (Sebagai catatan, menurut saya polling yang lama sangat kreatif dan fungsional, tetapi tetap saja peretasan.) Kurangnya antusiasme untuk WebSockets mungkin terkait dengan kerentanan keamanan beberapa tahun yang lalu atau kurangnya dukungan browser pada saat itu, tetapi kedua masalah tersebut telah terjadi. ditangani.

[Bekerja lebih cerdas, bukan lebih keras - memiliki tip dan tren yang perlu diketahui pemrogram dalam Panduan Bertahan Hidup Pengembang. Unduh PDF hari ini! | Ikuti terus berita pengembang terbaru dengan buletin Dunia Pengembang. ]

Menentukan apakah akan menggunakan WebSockets untuk pekerjaan yang sedang ditangani itu sederhana:

  • Apakah aplikasi Anda melibatkan banyak pengguna yang berkomunikasi satu sama lain?
  • Apakah aplikasi Anda merupakan jendela ke data sisi server yang terus berubah?

Jika Anda menjawab ya untuk salah satu pertanyaan ini, pertimbangkan untuk menggunakan WebSockets. Jika Anda masih tidak yakin dan menginginkan inspirasi, berikut adalah beberapa kasus penggunaan yang mematikan.

1. Umpan sosial

Salah satu manfaat aplikasi sosial adalah mengetahui apa yang dilakukan semua teman Anda saat mereka melakukannya. Tentu, ini sedikit menyeramkan, tapi kita semua menyukainya. Anda tentu tidak ingin menunggu beberapa menit untuk mengetahui ada anggota keluarga yang memenangkan kontes membuat kue atau seorang teman bertunangan. Anda sedang online, jadi umpan Anda harus diperbarui dalam waktu nyata.

2. Game multipemain

Web dengan cepat menjadi miliknya sendiri sebagai platform game. Tanpa harus bergantung pada pengaya (saya melihat Anda, Flash) Pengembang web sekarang dapat menerapkan dan bereksperimen dengan permainan berkinerja tinggi di peramban. Baik Anda berurusan dengan elemen DOM, animasi CSS, kanvas HTML5 atau Anda sedang bereksperimen dengan WebGL, interaksi yang efisien antar pemain sangatlah penting. Saya tidak ingin menemukan lawan saya telah bergerak setelah saya menarik pelatuknya.

3. Pengeditan / pengkodean kolaboratif

Kita hidup di era tim pengembang terdistribusi. Mengerjakan salinan dokumen biasanya sudah cukup, tetapi kemudian Anda harus mencari cara untuk menggabungkan semua salinan yang diedit menjadi satu. Sistem kontrol versi seperti Git dapat membantu dengan file tertentu, tetapi Anda masih harus melacak orang ketika Git menemukan konflik yang tidak dapat diatasi. Dengan solusi kolaboratif seperti WebSockets, kami dapat mengerjakan dokumen yang sama dan melewati semua penggabungan. Sangat mudah untuk melihat siapa yang mengedit apa dan jika Anda mengerjakan bagian dokumen yang sama dengan orang lain.

4. Data clickstream

Mampu menganalisis bagaimana pengguna berinteraksi dengan situs web Anda sangat penting untuk meningkatkannya. Biaya HTTP telah memaksa kami untuk memprioritaskan dan mengumpulkan hanya data yang paling penting. Kemudian, enam bulan kemudian, kami menyadari bahwa kami seharusnya mengumpulkan metrik yang berbeda - metrik yang terlihat tidak penting tetapi sekarang akan menjelaskan keputusan penting. Dengan kelebihan permintaan HTTP, Anda dapat mengurangi pembatasan tentang jenis data yang Anda kirim dari klien. Ingin melacak pergerakan mouse selain pemuatan halaman? Cukup kirim data melalui koneksi WebSocket ke bagian belakang dan simpan di toko NoSQL favorit Anda. (MongoDB bagus untuk mencatat peristiwa seperti ini.) Sekarang Anda dapat memutar ulang interaksi pelanggan untuk melihat apa yang sebenarnya terjadi.