Каковы основные различия между APE и Node.js?
Может ли кто-нибудь, кто использовал оба, поделиться своим опытом? Каковы основные отличия и какую вы предпочитаете? Спасибо.
3 ответа
Разное socket.io против APE:
- socket.io кодируется в javascript(node.js), а APE - в C. Я считаю, что большая разница, когда вы хотите внести свой вклад. Может быть, потому что вам нравится проект или может быть, потому что вы хотите больше функциональности. Я думаю, что будет проще внести Socket.io, потому что вы программируете Javascript, который легче понять по мнению многих людей (я согласен, хотя C также очень крутой язык).
- Я считаю, что socket.io поддерживает гораздо больше браузеров / транспорта по сравнению с APE, но я не уверен. Информация Socket.io против информации со страницы APE:
Сервер APE - это сервер Comet, реализующий методы POST и GET протокола HTTP. Он не заменяет обычный веб-сервер (такой как Apache, Lighttpd или Nginx), однако сервер APE используется только для AJAX Push.
Поэтому я думаю, что APE поддерживает меньше транспорта, чем socket.io.
Как сказал Рейнос, трудно сравнить эти два продукта, и я считаю, что вам стоит поиграть с ними обоими, а затем решить, какой из них вам больше нравится.
Тот же Socket.io/APE:
- Вы можете использовать оба кода в Javascript для связи с сервером. Я думаю, что у вас будет больше свободы при использовании socket.io, потому что все раскрывается через Javascript.
Опыт:
У меня есть только опыт работы с socket.io, и мне он очень нравится.
Потратив некоторое время на разработку с Node.js, я не могу сказать, что APE выглядит лучше, чем узел. Исходя из явной популярности, кажется, что Node.js, вероятно, является выбором разработчика - и node.js также выглядит более универсальным.
Узел по сути, вы делаете полный на HTTP или TCP/IP. Таким образом, все, что вам нужно делать с вашим кодом, - это обработка типов MIME, буферизация данных, заголовки ответов и маршрутизация на стороне сервера. Node также выполняет потоковую передачу. Я не уверен, считается ли это менее проблематичным, чем обычный ajax long polling на данный момент.
Пройдя по поиску, я обнаружил, что люди считают, что APE - это больше, чем просто старый push-сервер, на котором функциональность комет уже есть, а не Node, который заставил бы вас написать свой собственный. Не бойтесь перспективы писать что-то с помощью node, у них очень подробная документация, и их методы очень просты в освоении. У меня была серьезная функциональность, написанная за несколько минут.
Проверьте это также: http://groups.google.com/group/nodejs/browse_thread/thread/9d9b301479851b1f?pli=1
Я немного поиграл с node.js, попробовал socket.io - но в итоге сделал большой проект с APE.
Я думаю, как всегда, возникает вопрос, чего вы хотите достичь. Только сравнение серверных частей: с node.js вы получаете машину, которая ничего не будет делать самостоятельно, вам нужно написать ее самостоятельно (или использовать библиотеки). С APE обработка каналов и соединений уже встроена (скомпилирована С). Тем не менее, вам нужно строить части своей собственной логики с JS - или использовать примеры.
На стороне клиента socket.io предоставляет клиентскую среду с тремя командами - и у APE есть свой APE_JSF, который обрабатывает соединения (что дает больше функциональных возможностей, чем socket.io в отношении каналов)
Лично я предпочитаю APE, хотя для начинающих не хватает документации. Однако имейте в виду, что APE не будет доставлять файлы / изображения, это не полноценный веб-сервер, а оптимизированный для работы в режиме реального времени, где он может обрабатывать ~10K одновременных пользователей.