Saya menemukan Meteor dan meskipun tampaknya menarik, saya ingin tahu cara kerjanya. Maksud saya, aplikasi web konvensional bekerja seperti ini: Anda memiliki skrip di server yang mengambil data dari database dan menambahkannya secara dinamis ke halaman web dan data yang dikirimkan pengguna ditambahkan ke database melalui beberapa skrip lainnya.
Tapi bagaimana cara kerjanya di Meteor? Bagaimana bagian Meteor terkait satu sama lain?
Jawaban:
Meteor adalah framework yang memperbarui HTML secara realtime dengan elegan.
Keindahan Meteor adalah Anda hanya perlu membuat template dan model datanya. Sisa dari kode boilerplate biasa disembunyikan. Anda tidak perlu menulis semua kode sinkronisasi.
Potongan-potongan kunci Meteor dapat dibuat sendiri menggunakan potongan-potongan ini:
Ini menyediakan template yang diperbarui secara otomatis saat model data Anda melakukannya. Ini biasanya dilakukan menggunakan Backbone.js , Ember.js , Knockout.js , atau alat lain.
Pesan klien / server dilakukan melalui websockets menggunakan sesuatu seperti socks.js atau socket.io .
The koneksi sisi klien untuk MongoDB benar-benar dingin. Ini mereplikasi driver server MongoDB ke klien. Sayangnya, terakhir kali saya periksa, mereka masih bekerja untuk mengamankan koneksi database ini.
The kompensasi latency hanya memperbarui model client-side pertama, kemudian mengirimkan update ke server-server.
Mungkin ada potongan rapi lainnya yang dapat Anda temukan di situs Meteor , atau di GitHub .
sumber
Seperti yang disebutkan di dokumentasi Meteor Server, Meteor adalah implementasi dari Comet . Komet pada gilirannya adalah mitra dari AJAX .
Dalam kasus AJAX, Anda biasanya membuat permintaan saat klien melihat kebutuhan untuk melakukannya. Untuk menarik pembaruan dari server, Anda perlu memanggil server misalnya. setiap 5 detik.
Dalam kasus Comet, pembaruan dari server datang lebih cepat, karena koneksi tetap ada. Sambungan dibuat oleh klien, seperti di AJAX, tetapi server tidak merespons hingga memiliki beberapa pembaruan atau mencapai batas eksekusi (skrip di server mungkin memiliki batas eksekusi).
Dalam kasus Meteor Anda hanya mendapatkan aliran data konstan yang memerlukan beberapa kode sisi server tertentu (seperti Meteor Server) dan kode yang sesuai pada klien (dalam hal ini sepertinya kelas Meteor).
sumber
Semua keajaiban dengan pembaruan data langsung terjadi karena sistem pelacakan ketergantungan. Penjelasan tentang cara kerjanya dapat ditemukan di bagian Pelacak pada dokumentasi.
sumber