2013-08-10 6 views
8

मैं क्लोजर में एक http फ़ाइल डाउनलोडर लिखने की कोशिश कर रहा हूं, और one of my other questions में, किसी ने टिप्पणी की है कि समर्पित http क्लाइंट लाइब्रेरी का उपयोग क्लोजर और जावा के स्वयं के एपीआई के साथ कोडिंग से बेहतर है। मैंने कुछ शोध किया और कुछ पाया, लेकिन मैं प्रत्येक की सुविधाओं, पेशेवरों और विपक्ष को समझ नहीं पाया। तो अगर कोई यह समझा सकता है कि वे अलग कैसे हैं और कौन सा मेरे प्रोजेक्ट के लिए एक अच्छा मैच है, तो इसकी बहुत सराहना की जाएगी। जावा में मूल रूप से :-Dक्लोजर http क्लाइंट पुस्तकालयों के पेशेवरों और विपक्ष

पुस्तकालय, और इसी Clojure रैपर:

Apache HttpClient और उसके Clojure आवरण clj-http

Apache HttpAsyncClient और किसी भी Clojure आवरण नहीं पा सके।

Netty और क्लोजर "रैपर" Aleph है, मुझे लगता है?

Async Http Client और उसके Clojure आवरण http.async.client

अंतिम नहीं लेकिन कम से कम, एक Clojure पुस्तकालय:

http-kit

+0

मैंने सुझाव नहीं दिया कि क्लोजर एपीआई जावा एपीआई बीटीडब्ल्यू से बेहतर है।मैंने क्या कहा कि क्लोजर एपीआई अधिक प्राकृतिक लगता है! :) – Chiron

+0

@ चेरॉन इसे जोड़ने के लिए धन्यवाद! :-D –

उत्तर

7

मैं पुस्तकालयों आप के बाद से तैनात के बीच एक पूर्ण तुलना देने के लिए नहीं जा रहा हूँ मैंने उन सभी का उपयोग नहीं किया है। लेकिन मैंने पहले http-kit लाइब्रेरी का उपयोग किया और यह वास्तव में अच्छा है।

http-kit का उपयोग करना आसान है, जिस तरह से clj-http लाइब्रेरी के बाद मॉडलिंग किया गया है और यह वास्तव में निष्पादक है। हालांकि यह तुलना सीधे आपके प्रश्न के बारे में नहीं है, यह अभी भी कुछ प्रकाश डाल सकती है: TechEmpower Frameworks Round 2

9

मैं केवल http-kit और clj-http की तुलना कर सकता हूं।

CLJ-http:

  • सरल एपीआई
  • HTTP ग्राहक केवल
  • अपाचे HttpComponents के लिए एक आवरण

http-किट:

  • async
  • के लिए बनाया गया
  • HTTP क्लाइंट और सर्वर, अधिक शक्तिशाली
  • ग्राहक एपीआई के बाद मॉडलिंग की CLJ-http लेकिन इतना संज्ञानात्मक लोड अधिक है क्योंकि एक बेहतर विकल्प

आप, निर्भरता के बारे में परवाह है, तो http-किट हो सकता है इसे और अधिक कपोल-कल्पना कहते हैं यह clojure.core की तुलना में कोई अन्य निर्भरता के साथ एक स्टैंडअलोन लाइब्रेरी है। इसके कारण यह छोटे uberjars पैदा करता है।

clj-http: 

1.2M clj-http-test-0.1.0-SNAPSHOT.jar 
6.7M clj-http-test-0.1.0-SNAPSHOT-standalone.jar 

http-kit: 

65K  http-kit-test-0.1.0-SNAPSHOT.jar 
3.8M http-kit-test-0.1.0-SNAPSHOT-standalone.jar 

दूसरी ओर अगर आप बड़ा जावा समुदाय से लड़ाई का परीक्षण किया अपाचे HttpComponents और संभवतः बेहतर समर्थन पर भरोसा करना पसंद करते हैं आप चुन सकते हैं CLJ-http पर: एक नमूना HTTP GET परियोजना के लिए।

संबंधित मुद्दे