2011-08-19 13 views
6

Chcę utworzyć aplikację do czatu, która wykorzystywałaby php/codeigniter do wyświetlania widoków i interfejsu użytkownika. Czytałem wiele postów na stackoverflow, które zalecały node.js lub socket.io. Mimo to korzystam również z APE (Ajax Push Engine). Tak naprawdę nie wiem zbyt wiele i zastanawiałem się, którego użyć.aplikacja czatu: node.js lub APE?

Przeczytałem na node.js i zobaczyłem wiele dobrych rzeczy na ten temat, ale najważniejsze, że martwi mnie to to, że jest stosunkowo nowy i nie ma wielu prawdziwych stron internetowych testujących/używających go.

Z drugiej strony APE ma. I wygląda podobnie do node.js. Ale tak jak powiedziałem, nie wiem wystarczająco dużo o tym, aby wiedzieć, który wybrać.

Który z nich jest lepszy w tworzeniu aplikacji do czatu?

Dzięki!

+0

Discalaimer: Użyłem socket.io/node (jak również socket.io/Tornadio) dla wielu projektów, ale nigdy nie korzystały z APE. Pod względem tego, co jest "lepsze" w tworzeniu aplikacji czatu, obaj są doskonale przygotowani. Jak widzę, socket.io jest nieco potężniejszy (na przykład wykorzystuje WebSockets), podczas gdy APE jest nieco bardziej stabilny (interfejs API socket.io zmienił się radykalnie w ciągu ostatniego miesiąca). Sprawdź więcej informacji tutaj: http://stackoverflow.com/questions/6513367/what-are-the-main-differences-between-ape-and-node-js –

Odpowiedz

2

Podobnie jak ty, nie jestem zaznajomiony z APE, jednak socket.io na node.js pochodzi z chat app as it's main example app.

Prawda, w tej chwili nie ma zbyt wielu witryn korzystających z Node.js. Socket.io jest jednak prawdopodobnie uważany za "Killer App" Node, a zatem ma stosunkowo dużo rozmów/pracy z nim.

Ja zakładając APE ma stabilne API, chociaż, który socket.io niekoniecznie mają - Wersja 0.7 była dość szeroka, API zmieniających zmiana, na przykład. To może zdarzyć się rzadziej w przypadku publikacji socket.io spec.

+0

Napisałem to zanim zobaczyłem twój komentarz ... nadal istotne choć myślę. Publikacja socket.io-spec sugeruje, że staje się bardziej stabilna, a nawet zmierza w kierunku implementacji wielu serwerów, jednak jest to nieco spekulatywne. – Stoive

+0

Czy powinienem prawie zawsze używać socket.io podczas korzystania z node.js? – Derek

+1

Nie, raczej gdybym potrzebował zintegrować funkcjonalność "push" w coś, chciałbym przejść do integracji Node.js i Socket.io z jakimkolwiek istniejącym backendem (PHP/.NET/JSP/cokolwiek). za pomocą. Próbowałem znaleźć coś na przykład w .NET i doszedłem do wniosku, że lepiej byłoby po prostu utworzyć warstwę "socket" z gniazdem.io – Stoive

6

grałem trochę z node.js, starał się socket.io - ale w końcu zrobił duży projekt z APE.

Myślę, że zawsze istnieje pytanie, co chcesz osiągnąć. Porównywanie tylko części serwera: dzięki node.js otrzymujesz maszynę, która nie zrobi nic sam, musisz ją napisać samodzielnie (lub użyć bibliotek) W APE obsługa kanałów i połączeń jest już wbudowana (skompilowana DO). Nadal musisz zbudować części własnej logiki na wierzchu z JS - lub skorzystać z przykładów.

Po stronie klienta, socket.io zapewnia ramy klienta z trzech poleceń - i APE ma to APE_JSF który obsługuje połączenia (co przynosi większą funkcjonalność niż socket.io dotyczących kanałów)

Osobiście wolę APE , chociaż brak jest dokumentacji dla początkujących. Jednak należy pamiętać, że małpy nie dostarczy plików/zdjęć, to nie jest pełny Web-Server, ale zoptymalizowane dla czasu rzeczywistego naciśnięciem gdzie może obsłużyć ~ 10k jednoczesnych użytkowników

+0

Podążałem za Twoimi wpisami i wygląda na to, że nie czytałeś node.js obsługuje natywne moduły C/C++, są one trudne do napisania i przyznaję, że są trudne do znalezienia, ale parser MongoDB BSON w C jest dobrym przykładem jak natywny węzeł może uzyskać – ShrekOverflow

+1

Zgadzam się, APE jest o wiele bardziej stabilny niż NodeJS, ale myląca dokumentacja musi zostać zaktualizowana, inaczej nowi programiści nie będą zadowoleni z jej używania. – ShrekOverflow

+0

Masz rację w obu komentarzach: Nie pisałem zbyt głęboko w opcjach node.js poza napisaniem JS A dokumentacja APE nie zawiera wielu rzeczy i ciężko jest dostać się do tematu Jednak, gdy już to zrozumiesz możesz dzięki temu robić imponujące rzeczy. Nadal będziesz w stanie osiągnąć to samo z węzłem, po prostu myślę, że jeśli chodzi o czystą wydajność (> 10 000 użytkowników), węzeł dostanie swoje problemy – Xosofox