2012-05-06 27 views
17

Jestem nowy w ExpressJS. Chcę utworzyć interfejsy API dla mojej usługi, które będą wykorzystywane bezpośrednio przez inne serwery, a także ich część przez aplikacje mobilne/przeglądarki. Właśnie odkryłem Restify, Node-PerfectAPI, Node-APIServer i nie wiem, jakie są różnice.Node-PerfectAPI vs Restify.js kontra ExpressJS vs Node-APIServer

Czy ktoś może uprzejmie opracować na temat różnic w każdej ramie i zalety/wady.

Dlaczego należy wybrać Express/NodeJS w porównaniu do innych frameworków do tworzenia API?

+0

Wygląda obiecująco i ma dobrą dokumentację. Jak się ma do innych aktywnych frameworków API JS? Btw, oto działający link: http://www.actionherojs.com/ – theoutlander

Odpowiedz

9

Nota prawna: Jestem autorem node-perfectapi.

Celem perfectapi jest ułatwienie programistom przejścia od początku do etapu produkcji. Jest bardziej abstrakcyjne niż node-restify. Wpływa to na mniejszą elastyczność w projektowaniu interfejsu API, ale jednocześnie można szybciej przygotować coś produkcyjnego i mniej doświadczenia.

Zarówno restify, jak i perfectapi mają porównywalną wydajność.

Linki w tej odpowiedzi prowadzą do stron, które podkreślają zalety każdego rozwiązania.

+0

Przeczytałem je, ale nadal nie jestem pewien, jaką zaletę zapewnia PerfectAPI w porównaniu z ExpressJS? Rozumiem, że Express ma framework sieciowy. Gdybym miał tylko 3-4 metody API, czy nadal chciałbym korzystać z PerfectAPI? Co musiałbym wprowadzić osobno, jeśli nie korzystam z PerfectAPI? Dzięki! – theoutlander

+2

Bez perfectapi musiałbyś napisać materiał http, tzn. Nagłówki HTTP, kody odpowiedzi, dane formatujące. W zależności od potrzeb może być konieczne zakodowanie strony testowej i dokumentacji. Jeśli chcesz obsłużyć obciążenie, musisz użyć skalowania w cpusie. –

+0

Ma sens, dzięki! – theoutlander

5

Pracuję również nad podobnym problemem. Jedną z głównych różnic, które mogą Cię zainteresować, jest wydajność. Właśnie znalazłem wpis na blogu od autora "perfect-api" porównując jego framework do 2 innych. http://blog.perfectapi.com/2012/benchmarking-apis-using-perfectapi-vs-express.js-vs-restify.js/

Komentarz stwierdza, że ​​Restify działa teraz znacznie lepiej.

Z mojego (ograniczonego) doświadczenia powiedziałbym, że express.js jest łatwiejszy w użyciu niż Restify i dostarcza kilka fajnych narzędzi, jak connect.js, który jest odsłonięty. Na przykład pozwoli to uniknąć problemów z pisaniem statycznego serwera plików, nawet jeśli Connect nadal można zintegrować z funkcją Restify.

Z drugiej strony funkcja Restify znacznie ułatwi wykonywanie typowych zadań API. Na przykład zapewnia silnik przepustnicy wraz z systemem konwersji API, który jest naprawdę potrzebny w środowisku, w którym masz do czynienia z klientami, nad którymi nie masz kontroli.

4

Jeśli pójdziesz do węzła-perfectapi w github zobaczysz ten komunikat w readme:

„Nie jestem obecnie prowadzący ten pakiet należy prawdopodobnie szukać innego narzędzia, co trzeba.”

Dlatego uważam, że lepiej będzie, jeśli użyjesz restify, ponieważ jest to aktywnie utrzymywane.