2011-12-08 18 views
32

हम अपने Django प्रोजेक्ट के लिए एक सामान्य रीस्टफुल एपीआई समाधान की तलाश में हैं। हम पहले एपीएक्स कॉल के लिए वेब साइट पर और बाद में मोबाइल ऐप, बाहरी ऐप्स और उस तरह की चीजों के लिए एपीआई का उपयोग करेंगे।Django ReSTful API - django-piston बनाम django-tastypie

मुझे दो मॉड्यूल मिले जो व्यापक रूप से उपयोग किए जाने लगते हैं। django-piston और django-tastypie

जो मैंने पढ़ा है, उससे पिस्टन बड़ा लगता है और इस प्रकार अधिक परिपक्व हो सकता है लेकिन शायद थोड़ा पुराना हो सकता है ?! जबकि स्वादिष्ट अपेक्षाकृत नया और अच्छी तरह से प्रलेखित है।

साथ जाने के लिए सबसे अच्छी बात क्या होगी? django-piston या django-tastypie? हमारे लिए महत्वपूर्ण (प्राथमिकता द्वारा आदेश दिया गया): स्रोत, दस्तावेज़ीकरण, स्थिरता, उपयोग में आसानी का निरंतर रखरखाव।

संपादित करें (2013 जुला 16 वीं):

अब एक वर्ष से अधिक बाद में हम एक स्पष्ट विजेता है। पहले हम tastypie के साथ चला गया। जिसे हम पसंद करते थे। लेकिन आधे साल बाद या तो हम आने वाले django-rest-framework पर स्विच कर चुके थे और कभी पीछे नहीं देखा।

क्या हम इसके बारे में सबसे अधिक पसंद:

  • अच्छा प्रलेखन

  • सक्रिय समुदाय

  • साफ डिजाइन (Django के वर्ग आधारित विचारों का निर्माण)

  • ब्राउज़ करने योग्य एपीआई के लिए विकास और डिबगिंग

हम एपीआई पर बहुत भरोसा करते हैं (भविष्य में) हमारी मुख्य चिंताओं में से एक है। हम रखरखाव से मिले - टॉम क्रिस्टी - (ऑन और ऑफ़लाइन) और वह इस परियोजना के प्रति बहुत प्रतिबद्ध हैं। तो हम django-rest-framework का उपयोग करके बहुत सहज महसूस करते हैं।

उत्तर

28

एक अच्छा संसाधन उनकी तुलना करने के http://www.djangopackages.com/grids/g/api/

Django-tastypie यकीन है कि अभी चुनाव बचाने के है।

व्यक्तिगत रूप से मैं django-rest-framework पर एक नज़र डालने का समर्थन करता हूं यदि आप django 1.3 का उपयोग करते हैं, क्योंकि यह नए वर्ग आधारित विचारों का उपयोग करता है। djangopackages.com के तुलना पृष्ठ से पता चलता है कि इसमें अच्छी भागीदारी और गतिविधि है। और, वाह, यह सुनिश्चित करें कि एपीआई में nice browsable interface है।

+2

मुझे इसे एक टिप्पणी के रूप में छोड़ना होगा, क्योंकि कुछ कारणों से * सही जगह पर * बिंदुओं को अपडेट करने के लिए * को अस्वीकार कर दिया गया था क्योंकि 'यह संपादन समीक्षाकर्ताओं द्वारा बहुत छोटा है'। डॉक्स: http://django-rest-framework.org/ ब्राउज़ करने योग्य एपीआई उदाहरण: http: //restframework.herokuapp।कॉम/ –

+0

अद्यतन लिंक के लिए धन्यवाद; मैंने उन्हें ठीक कर दिया है। –

+0

+1: वह तुलना पृष्ठ वास्तव में अच्छा है। ऐसा लगता है कि डीजेंगो-रेस्ट-फ्रेमवर्क निश्चित रूप से सही विकल्प है - इसमें गिटूब पर अब तक की सबसे अधिक गतिविधि है (इसलिए यह अभी भी सक्रिय रूप से बनाए रखा गया है) और यह केवल एकमात्र है जिसे उत्पादन के लिए तैयार किया गया है। – ArtOfWarfare

24

मैं इस के साथ कोई अनुभव नहीं है, लेकिन मैं इस में Pydanny पर भरोसा:

Django पिस्टन मुश्किल से लगभग दो साल के लिए समर्थित किया गया है। यह एक अनंत काल है, और कई मुद्दों को हल करने के लिए कांटे की संख्या अलार्म के कारण है। इसके कारण, इस समय में इस स्थान पर मैं django-tastypie की अनुशंसा करता हूं। यह अद्यतित है, दस्तावेज़ीकरण बहुत अच्छा है, ओएयूटीएच का समर्थन करता है, और Django पैकेजों में थंडरडोम (यह लगभग 3x के रूप में लगभग अंक मिला है) में दूसरा स्थान मिला है। एक अन्य टूल पर विचार करने के लिए Django Rest Framework है, जो django-tastypie जितना अच्छा है लेकिन इसमें OAUTH समर्थन की कमी है।

डीजेंगो-पिस्टन फ्रंट पर, जोशुआ गिन्सबर्ग ने पर कब्जा कर लिया है और हमें उम्मीद है कि कुछ आंदोलन फिर से देखेंगे। इस मामले में मैं ब्लॉग पोस्ट के इस खंड को हटाने में सक्षम होगा।

Pydanny के blog से।

+3

पायदानी के ब्लॉग से अद्यतन: http://pydanny.com/choosing-an-api-framework-for-django.html। सारांश: django-piston मृत है, लंबे समय तक रहते हैं tastypie और django-rest-framework। –

18

डीजेंगो पिस्टन, tastypie और django webmachine Django tastypie चट्टानों के साथ एपीआई लागू करने के बाद! ऐसा कहकर, मुझे लगता है कि जब आपकी एपीआई आपके मॉडल के करीब मॉडलिंग की जाती है तो स्वादिष्ट वास्तव में अच्छा होता है, लेकिन जब आप बॉक्स से बाहर निकलना चाहते हैं तो चीजों को करने के लिए थोड़ा और जटिल होता है। कुछ issues पर कामकाज हैं, अन्य लोगों के साथ आपको इमारत से अधिक झुकना पड़ता है। यह शायद, अभी भी 90% django उपयोग मामलों को कवर करेगा।

अफैक वेबमाचिन को लोकप्रिय एरलांग वेबमाचिन के बाद मॉडलिंग किया गया था, लेकिन हाल ही में बहुत सक्रिय नहीं हुआ है। तो जो पिस्टन छोड़ देता है, जो कुछ गतिविधि उठा रहा है, और स्वादिष्ट, जिसमें बहुत गति और गतिविधि है। पिस्टन थोड़ा अधिक लचीला है, लेकिन स्वादिष्ट तेजी से आगे बढ़ रहा है और मेरी राय में वास्तव में एक आसान एपीआई है।

मेरी सिफारिश टिपीपी में एपीआई के प्रोटोटाइप को त्वरित रूप से कार्यान्वित करने के लिए होगी, और देखें कि क्या आप इसे करना चाहते हैं या नहीं।

5

Django REST framework 2.0 anounced in Oct 2012 था और अब बॉक्स के बाहर OAuth का समर्थन करता है। मुझे वास्तव में पसंद है Web browseable API, जो आपके एपीआई को विकसित करते समय वास्तव में सहायक होता है, लेकिन जब कोई आपके एपीआई को लागू करता है। यह आपके मॉडल की संरचना और डेटा का निरीक्षण करने के लिए Django व्यवस्थापक साइट का उपयोग करने के साथ तुलनीय है, लेकिन फिर आपके एपीआई के लिए। दस्तावेज भी बहुत अच्छा है।

अपनी वेबसाइट से:

Django बाकी ढांचा एक शक्तिशाली और लचीला टूलकिट यह आसान वेब APIs का निर्माण करने के बनाता है।

कुछ कारणों से आप बाकी ढांचे का उपयोग करना चाह सकते हैं:

  • वेब ब्राउज़ करने योग्य एपीआई अपने डेवलपर्स के लिए एक बहुत बड़ा प्रयोज्य जीत है।
  • बॉक्स से बाहर OAuth1a और OAuth2 सहित प्रमाणीकरण नीतियां।
  • सीरियलाइजेशन जो ओआरएम और गैर-ओआरएम डेटा स्रोत दोनों का समर्थन करता है।
  • सभी तरह से अनुकूलन योग्य - यदि आपको अधिक शक्तिशाली सुविधाओं की आवश्यकता नहीं है तो केवल नियमित फ़ंक्शन-आधारित दृश्यों का उपयोग करें।
  • व्यापक दस्तावेज, और महान सामुदायिक समर्थन। यह कैसे काम करता की त्वरित जानकारी प्राप्त करने के लिए अपने Quickstart गाइड

चेक बाहर।

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