2011-08-19 23 views
6

Görünümleri ve kullanıcı arayüzünü yapmak için php/codeigniter kullanacak bir sohbet uygulaması oluşturmak istiyorum. Node.js veya socket.io önerilen stackoverflow üzerinde çok sayıda yazı okuyorum. Yine de APE (Ajax Push Engine) ile karşılaşıyorum. Gerçekten de pek bir şey bilmiyorum ve hangisini kullanacağımı merak ediyordum.sohbet uygulaması: node.js veya APE?

node.js'yi okudum ve bu konuda çok iyi şeyler gördüm, ancak bu konuda beni endişelendiren en önemli şey, göreceli olarak yenidir ve onu test eden/kullanan çok sayıda gerçek dünya web sitesine sahip olmamasıdır. Öte yandan, APE yapar. Ve node.js. benzer görünüyor. Ama dediğim gibi, hangisini tercih edeceğimi bilmem.

Sohbet uygulaması oluştururken hangisi daha iyidir?

Teşekkürler!

+0

Discalaimer: socket.io/node kullandım (Pek çok proje için socket.io/Tornadio'nun yanı sıra APE'yi hiç kullanmadı. Bir sohbet uygulaması oluştururken "daha iyi" olan açısından, her ikisi de mükemmel yetenekli. Gördüğüm gibi, socket.io biraz daha güçlü (örneğin WebSockets'ı kullanıyor), APE biraz daha kararlı (socket.io'nun API'si geçen ay içinde radikal olarak değişti). Daha fazla bilgiye buradan ulaşabilirsiniz: http://stackoverflow.com/questions/6513367/what-are-the-main-differences-between-ape-and-node-js –

cevap

2

Sizin gibi, APE'ye aşina değilim, ancak node.js üzerindeki socket.io, chat app as it's main example app ile birlikte gelir.

Doğru, şu anda Node.js kullanan pek çok site yok. Ancak, Socket.io, muhtemelen, Node'un 'Katil Uygulaması' olarak kabul edilir ve bu nedenle, onunla nispeten çok fazla konuşma/iş çıkışı vardır.

APE'nin kararlı API'leri olduğunu varsayıyorum, bununla birlikte hangi socket.io'nun zorunlu olmayabilir - Örneğin, 0.7 sürümü oldukça geniş, API değiştiren bir güncelleştirmedir. Bu, socket.io spec'un yayınlanmasıyla daha seyrek olabilir.

+0

Yorum yazmadan önce bunu yazdınız ... hala alakalı yine de bence. Socket.io-spec yayını daha istikrarlı hale geldiğini ve hatta birden fazla sunucu uygulamasına doğru ilerlediğini öne sürüyor, ancak bu biraz spekülatif. – Stoive

+0

node.js kullanırken neredeyse her zaman socket.io kullanmalı mıyım? – Derek

+1

Hayır, 'push' işlevini bir şeye entegre etmem gerekirse, zaten var olan arka uçla (PHP/.NET/JSP/neyse) Node.js + Socket.io'nun entegrasyon çabalarına giderdim. kullanarak. Örneğin, .NET ile bir şey bulmayı denedim ve soket ile bir 'soket' katmanı oluşturmanın daha iyi olacağına karar verdim.io – Stoive

6

node.js ile biraz çaldım, socket.io denedim - ama sonunda APE ile büyük bir proje yaptı.

Sanırım her zaman olduğu gibi, neyi başarmak istediğinizle ilgili bir soru var. Sadece sunucu parçalarını karşılaştırmak: node.js ile kendi başına bir şey yapmayacak bir makine alırsınız, kendiniz yazmanız gerekir (veya kütüphaneleri kullanın) APE ile, kanalların ve bağlantıların kullanımı zaten hazırlanmıştır (derlenmiştir). C). Yine de, kendi mantığınızın bir kısmını JS ile oluşturmalısınız - veya örnekleri kullanın. İstemci tarafında

, socket.io üç komutlarla bir istemci çerçeve sağlar - ve APE o Şahsen

(socket.io ilgili kanallarından daha fazla işlevsellik getiriyor) bağlantıları kolları APE_JSF var sahiptir, ben APE tercih Yeni başlayanlar için dokümantasyon eksikliği olsa da. Ancak, APE'nin dosyaları/görüntüleri sunmayacağını unutmayın, tam bir Web Sunucusu değil, ancak gerçek zamanlı itme için optimize edilmiş ~ 10K eşzamanlı kullanıcılarla başa çıkabilir nerede

+0

Mesajlarınızı takip ediyorum ve node.js'nin yerel C/C++ modüllerini desteklediğini, yazma zor olduğunu ve bunların bulunmasının zor olduğunu itiraf ettiğimi, ancak C'deki MongoDB BSON ayrıştırıcısının iyi bir örnek olduğunu gördüm. yerel düğümün – ShrekOverflow

+1

'u nasıl alabileceğine inanıyorum APE'nin NodeJS'den çok daha kararlı olduğuna, ancak kafa karıştırıcı belgelerin yükseltilmesi gerektiğine veya yeni geliştiricilerin bunu kullanmasından memnun olmayacağına katılıyorum. – ShrekOverflow

+0

Her iki yorumda da haklısınız: JS 'u yazmanın yanı sıra node.js seçeneklerine çok fazla girmedim ve APE belgelerinin epeyce eksikliği var ve konuya girmesi zor. onunla etkileyici şeyler yapabilirsiniz. Düğüm ile aynı sonucu elde edebilecek olursanız, sadece saf performans söz konusu olduğunda (> 10K kullanıcıları) düğümün kendi problemlerini alacağını düşünürsek – Xosofox