2012-05-30 10 views
5

लिबडक्स मुख्य रूप से एंड्रॉइड पर केंद्रित है और जावा में लिखा गया है लेकिन स्पष्ट रूप से यह ब्राउज़र (वेबजीएल?) पर ऐप्स चला सकता है। Three.js एक बहुत ही प्रभावशाली जावास्क्रिप्ट 3 डी लाइब्रेरी है जो वेबगेल (या 2 डी कैनवास) का उपयोग करता है साथ ही प्रतिपादन के लिए भी। अब तक मैंने इन दोनों के बीच कोई तुलना नहीं देखी है क्योंकि उनके पास अलग-अलग फ़ोकस हैं, लेकिन मैं अंतरों को जानना चाहता हूं, एक लाइब्रेरी क्या कर सकती है जो कोई नहीं कर सकता।3 डी वेब विकास के लिए तीन.जेएस बनाम libgdx

+0

इस तरह के प्रश्न एक उचित फैशन में जवाब देना मुश्किल है। प्रायः आपके द्वारा प्राप्त उत्तरों को एक लाइब्रेरी या किसी अन्य की ओर पक्षपातपूर्ण नहीं किया जाएगा जब तक कि आप क्षेत्र को थोड़ा संकीर्ण न करें। यदि आप विशिष्ट विशेषताओं के समर्थन के बारे में जानना चाहते हैं तो कृपया उन्हें सूचीबद्ध करें, अन्यथा आप शायद उतने ही सक्षम हैं जितना हम दोनों में बुलेट पॉइंट तुलना कर रहे हैं। – Toji

+0

मैं जो उत्सुक हूं, वह है, यदि वे दोनों वेबग्ल विकास के लिए जाने-माने और उपयुक्त हैं, तो आप Google पर उसी पृष्ठ पर 'libgdx' और 'three.js' को एक साथ क्यों नहीं ढूंढ सकते। – olanod

+2

क्योंकि libgdx डेस्कटॉप/एंड्रॉइड फ्रेमवर्क के रूप में शुरू हुआ और कुछ महीने पहले शुद्ध जावास्क्रिप्ट/वेबजीएल समर्थन जोड़ा गया था (गेम पहले से ही फेसबुक या Google क्रोम स्टोर पर तैनात किए जा रहे हैं)। लक्षित ऑडियंस भाषा के कारण भिन्न हो सकते हैं (libgdx के मामले में जावा, जावास्क्रिप्ट/तीन.जेएस के मामले में कॉफ़ेस्क्रिप्ट) और प्लेटफ़ॉर्म विकल्प (अधिकांश लोग या तो एंड्रॉइड या वेब गेम पर ध्यान केंद्रित करते हैं, लेकिन आम तौर पर दोनों, खासकर शौकिया नहीं) । – badlogic

उत्तर

3

मुझे नहीं लगता कि मैं थ्री.जेएस के बारे में बात करने के लिए बहुत योग्य हूं, लेकिन मैंने अपनी कई परियोजनाओं के लिए libGDX का उपयोग किया है और जब वेबगेल (ब्राउज़र निर्यात) की बात आती है तो इसके नुकसान पता है।

  1. पहले कारकों पर विचार करने Three.js का उपयोग करता है जावास्क्रिप्ट और libGDX जावा का उपयोग करता है, आप किस भाषा का उपयोग किया जाता है है। और यद्यपि libGDX वेबजीएल को निर्यात करता है, यह केवल इसलिए है क्योंकि यह जीडब्ल्यूटी का उपयोग करता है, फिर भी आप जावा में कोडिंग करते हैं।

  2. मोबाइल में और (कुछ हद तक) डेस्कटॉप अनुप्रयोगों में लिबजीडीएक्स विशेष रूप से (जैसा आपने कहा) है। यदि आपका लक्ष्य वेब पर काम करने वाला कुछ और मोबाइल और डेस्कटॉप बनाना है तो libGDX पर विचार किया जाना चाहिए। हालांकि, अगर आप केवल वेब के लिए चीजों को प्रोग्राम करना चाहते हैं, तो मैं वास्तव में उन कारणों के लिए केवल तीन.जेएस कर रहा हूं जिन्हें मैं बाद में समझाऊंगा।

  3. लिबजीडीएक्स मुख्य रूप से गेम विकास के लिए बनाया गया है, इसलिए यदि आप जो एप्लिकेशन बना रहे हैं वह एक गेम है, तो आप libGDX पर विचार कर सकते हैं, क्योंकि यह 3 डी अच्छा और आसान में गेम प्रोग्रामिंग करता है (और आप इसे बंद करने में सक्षम होंगे एकाधिक प्लेटफॉर्म पर, न केवल वेब, बल्कि मोबाइल और डेस्कटॉप)। लेकिन अगर आप कुछ और कर रहे हैं, तो तीन.जेएस बेहतर विकल्प हो सकता है।

  4. यदि वितरण के लिए आपका मंच आपका वेब संस्करण होगा, तो मैं थ्री.जेएस के साथ चिपकने का सुझाव दूंगा, क्योंकि libGDX अपने वेबजीएल निर्यात के लिए अच्छा नहीं है। सबसे बड़े मुद्दों में से एक (जो हल करने योग्य है, लेकिन इससे निपटने के लिए दर्द) यह है कि libGDX डिफ़ॉल्ट ब्राउज़र कुंजी का उपयोग होने से नहीं रोकता है। हालांकि, यदि आप libGDX का उपयोग करना चुनते हैं, तो सुनिश्चित करें कि आप उस समस्या को ठीक करने के लिए this पर एक नज़र डालें (अधिक या कम)।

  5. अधिकांश भाग के लिए, यदि आप मुख्य मंच हैं तो वेब होने जा रहे हैं, आप वेब विकास के लिए एक भाषा में प्रोग्राम करना चाहते हैं। यदि आप तीन.जेएस ढांचे का उपयोग कर जावास्क्रिप्ट में प्रोग्राम करते हैं तो कोड क्लीनर और चलाने के लिए तेज़ होगा। इस बीच, यदि आप libGDX का उपयोग करते हैं तो यह जावा कोड को जावास्क्रिप्ट कोडिंग में अनिवार्य रूप से बदलता है जिससे यह अक्षम और भारी हो जाता है और इसमें जावास्क्रिप्ट कोड की कई पंक्तियां होंगी जो या तो बेकार हैं या सरलीकृत हो सकती हैं। यह libGDX (या बल्कि जीडब्ल्यूटी) के साथ कोई मुद्दा नहीं है, बल्कि प्रोग्रामिंग भाषा अनुवाद स्वचालित करते समय केवल कुछ ऐसा नहीं बचा जा सकता है। प्रोग्रामिंग भाषा HaXe का उपयोग करके, उदाहरण के लिए, यदि आप हैलोवर्ल्ड HaXe से C++ संकलित करते हैं तो इसमें अनावश्यक चर और विधियों (सी ++ स्रोत कोड में) का एक समूह होता है जिसे आप छुटकारा पा सकते हैं। इस मामले में वही।

तो अंत में यह आपके लक्ष्य के आधार पर निर्भर करता है। यदि आप केवल वेब संस्करण के साथ चिपके रहने की योजना बनाते हैं तो तीन .js का उपयोग करें, अन्यथा libGDX पर विचार किया जाना चाहिए।

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