Saya akan memulai proyek sampingan untuk membangun aplikasi web "satu halaman". Aplikasi harus real-time, mengirimkan pembaruan kepada klien ketika perubahan terjadi.
Apakah ada sumber daya yang baik untuk pendekatan praktik terbaik dan arsitektur untuk aplikasi semacam ini. Sumber daya terbaik yang saya temukan sejauh ini adalah artikel arsitektur trello di sini: http://blog.fogcreek.com/the-trello-tech-stack/
Bagi saya, arsitektur ini, walaupun sangat seksi, mungkin terlalu direkayasa untuk kebutuhan spesifik saya - walaupun saya memiliki persyaratan yang sama. Saya ingin tahu apakah saya perlu repot dengan sub / pub di sisi server, dapatkah saya tidak hanya mendorong pembaruan dari server ketika sesuatu terjadi (misalnya ketika klien mengirim pembaruan ke server, menulis pembaruan ke db, dan kemudian mengirim pembaruan ke klien).
Secara teknis, saya mungkin ingin membangun ini di Node.JS atau mungkin Ruby, meskipun pedoman arsitektur harus sampai batas tertentu berlaku untuk teknologi server yang mendasarinya.
sumber
Saya mungkin akan pergi dengan kerangka kerja javascript MV * untuk ujung depan. Saya sendiri sedang membangun aplikasi web satu halaman dan setelah menyelidiki sejumlah solusi, saya akhirnya pergi dengan Backbone.js. Saya menemukan sementara solusi ini tidak memberikan yang terbaik dari fungsionalitas kotak, itu memang memberi saya fondasi inti untuk memulai dan jauh lebih fleksibel daripada solusi lain yang saya lihat (yang penting bagi saya).
Solusi populer lainnya adalah Ember.js dan Knockout.js yang memang memberikan lebih banyak fungsi di luar kotak namun Anda harus mengikuti konvensi mereka untuk menggunakan fungsionalitas thT (yang mungkin atau mungkin tidak bekerja untuk Anda).
sumber
Ini adalah IMO no brainer. AngularJS untuk ujung depan karena mengagumkan. NodeJS / express / SocketIO untuk backend yang dinamis dan seksi dengan pub / sub goodness dan minimum keributan. Dan sebagai bonus, Anda dapat menggunakan satu bahasa untuk bagian depan dan belakang!
Lihatlah penerapan https://github.com/hackify/hackify-server saya yang sama untuk contoh
Satu peringatan, beberapa orang merekomendasikan alternatif NodeJS ke socketio yang disebut sockjs tapi saya belum memeriksanya jadi saya tidak bisa merekomendasikannya
sumber
Kedengarannya seperti yang Anda lihat adalah Apache 2.2 dengan server aplikasi PHP atau Tomcat dengan servlet sederhana yang menangani permintaan. Ini setara dengan tukang kayu dari palu dan paku. Tidak ada yang rumit tapi itu menyelesaikan pekerjaan. Jika Anda perlu memperluas fungsionalitas, Anda selalu dapat melakukannya karena Tomcat dapat mendukung jsp dan jsf jika Anda memerlukannya.
Untuk masalah ujung depan, saya akan merasa nyaman hanya menggunakan jQuery ( $ .post , $ .load , $ .ajax ) karena itu cukup berguna untuk menggandakan sebagai cara untuk menambahkan fungsionalitas ke halaman Anda dalam kombinasi dengan jQuery UI
sumber
Jika Anda ingin pembaruan klien waktu nyata, maka Anda harus mengimplementasikan panggilan "AJAX" yang lama memblokir, atau lebih baik menggunakan soket web modern. Ini memungkinkan Anda untuk mendorong pembaruan ke klien yang terhubung yang akan ditangani oleh sedikit javascript.
Saya mengerti bahwa state-of-the-art (atau mode terbaru) saat ini adalah AngularJS oleh Google. Sebagian dirancang untuk membuat penulisan SPA lebih mudah.
sumber
Jika Anda menginginkan sesuatu yang dekat dengan tumpukan rata-rata (node.js, mongo ...) untuk membangun aplikasi halaman tunggal yang perlu reaktif, saya akan memilih meteor . Apalagi jika Anda sedang membangun prototipe dan mulai dari awal.
Rail dengan frontend sudut akan menjadi pilihan yang bagus, tetapi Anda akan kesulitan "mengirim pembaruan kepada klien saat perubahan terjadi", karena Anda perlu menginstal permata tertentu, merangkai beberapa polling panjang atau perpustakaan sockjs .. .
sumber