2008-10-09 7 views
5

जाहिर है, कोई भी एकल समाधान नहीं है जो हर किसी की जरूरतों को पूरा करेगा; एक वास्तुकला हमेशा एक व्यापार बंद है। मैं मूल रूप से वेब गेम के आरएडी के उद्देश्य से एक ढांचा बनाना चाहता हूं। लक्ष्य भाषा PHP है, हालांकि वास्तुकला व्यापक रूप से लागू होना चाहिए।वेब विकास के लिए सबसे लचीला ढांचा वास्तुकला?

मेरे पास इस ढांचे के लिए सिर में लक्ष्य हैं: परिणाम प्राप्त करने के तरीके में लचीलापन; डेवलपर्स के लिए अधिकतम आराम; LEGO ® ब्लॉक जैसे मॉड्यूल कनेक्ट करना; कई प्रकार के इनपुट, कई प्रकार के आउटपुट, प्रसंस्करण के लिए एक प्रारूप।

लक्ष्य जो प्राथमिकता नहीं हैं गति, उद्यम उपयोग और पैसे कमाने हैं। यह एक ओपन सोर्स प्रोजेक्ट माना जाता है।

इस डिजाइन की आधारशिला यह है कि रूपांतरण से पहले सभी सामग्री एक्सएमएल में संसाधित की जाती है (ईएआई सिस्टम के आधार पर विचार, मैंने ईजीएटी के साथ काम किया है)। डेटा अबास्ट्रक्शन लेयर - उम्मीद है कि कुछ स्मार्ट ओआरएम - अब महत्वपूर्ण नहीं है। पुराने ब्राउज़र के लिए एचटीएमएल, एचटीएमएल/एचटीएमएल 5, मोबाइल क्लाइंट्स के लिए एचटीएमएल, एजेक्स/एक्सएमएलआरपीसी आदि के लिए एक्सएमएल

मुख्य कारणों के लिए एक्सएसएलटी या किसी अन्य कस्टम मॉड्यूल का उपयोग करके आउटपुट उत्पन्न किया जाएगा। XML का उपयोग के लिए कर रहे हैं:

  • यह नेविगेट करने और संशोधित सामग्री
  • XSLT किसी भी टैग में कोड को बदलने के लिए एक शक्तिशाली और एकीकृत तरीका प्रदान करने के लिए एक प्रसिद्ध मानक
  • XPath, SimpleXML और डोम की तरह मौजूदा उपकरणों है सूप
  • मुझे एक्सएमएल मार्कअप बहुत आसानी से मिलता है पढ़ने योग्य, इसलिए मुझे नहीं लगता कि जेएसओएन या वाईएएमएल के फायदे यहां एक अंतर डालते हैं
  • सामग्री को आसानी से ढंका जा सकता है, और सामग्री का क्रम वास्तव में तब तक कोई फर्क नहीं पड़ता जब तक यह XSLT
  • के साथ सही ढंग से परिवर्तित हो जाता है

पेज पीढ़ी प्रक्रिया इन चरणों को मिलाकर होगा:

  1. पूर्व प्रसंस्करण: मॉड्यूल प्रारंभ करने, GPCS डेटा संसाधित, लागू करने डिफ़ॉल्ट [एक्सएमएल] टेम्पलेट्स
  2. प्रसंस्करण/पीढ़ी: व्यापार तर्क का मुख्य हिस्सा, पैदा अधिकतम डेटा के साथ bloated एक्सएमएल (हालांकि उम्मीद है कि अनुकूलित बाला उत्पन्न नहीं करने के लिए)
  3. प्रसंस्करण: कुछ अतिरिक्त व्यावसायिक तर्क, उदा। कुछ मार्कअप को कम करना, परिवर्तन, रिपोर्टिंग, आंकड़े इत्यादि की तैयारी करना
  4. पोस्ट-प्रोसेसिंग: ट्रांसफॉर्मेशन इंजन (संभवतः केवल एक्सएसएलटी), आउटपुट के माध्यम से एक्सएमएल को पार्स करना।

सामग्री मेटा-डेटा (जैसे टैग, अनुमतियां, महत्व, आवश्यकता, उद्देश्य आउटपुट प्रकार) के साथ उत्पन्न की जाएगी, जो पोस्ट-प्रोसेसिंग के दौरान छीन ली जाएगी।

तो, मेरा सवाल है: गति को छोड़कर, इस समाधान का पतन क्या है? ढांचे के विकास/रखरखाव, और उसके अनुप्रयोगों के दौरान यह गलत हो सकता है? इस वास्तुकला के डाउनसाइड्स क्या हैं?

उत्तर

3

एक्सएसएलटी प्रबंधन के लिए भारी हो सकता है, और अनिवार्य रूप से एक अतिरिक्त प्रोग्रामिंग भाषा जोड़ता है जिसे डेवलपर्स को काम करना होगा (कम से कम अगर मैं आपके विवरण को सही ढंग से समझता हूं)। मेरा अनुभव यह रहा है कि अपेक्षाकृत कम लोग इसे जानते हैं, और यहां तक ​​कि कम भी इसे वही कर सकते हैं जो वे चाहते हैं।

+0

एक्सएसएलटी के साथ मेरा अनुभव इन दोषों में से कोई भी नहीं दिखाया गया है। – dacracot

+0

आप एक्सएसएलटी मास्टरिंग करने वाले लोगों की मात्रा के बारे में एक वैध बिंदु उठाते हैं; एक्सएसएलटी के साथ PHP युग्मन में कुछ डिचोटोमी है, लेकिन यह एक्सएमएल को बदलने के लिए एकमात्र औपचारिक भाषा प्रतीत होती है। मैं शायद एक्सएसएलटी के लिए एक विकल्प पेश करना चाहता हूं। धन्यवाद। – analytik

-2

मैंने अतीत में कुछ वेब गेम पर काम किया है और ईमानदार होने के लिए, उनमें से किसी को कभी भी इस जटिल और अनावश्यक चीज़ की आवश्यकता नहीं है।

+1

और यही कारण है कि अधिकांश वेब गेम गधे चूसते हैं, और बनाए रखने में कठोर होते हैं, और नई सुविधाओं के लिए महीनों लगते हैं। – analytik

1

मुझे लगता है कि आप एक बेहद जटिल समाधान को देख रहे हैं। स्कीमा के डिजाइन और निर्माण के लिए यह एक बड़ा प्रयास है जिसका आप उपयोग करेंगे। यदि आपके पास ऐसी परियोजना पर 5-6 से अधिक लोगों को शामिल किया गया है, तो संभवतः आपको एक संगठित स्कीमा डिज़ाइन प्रयास करने की आवश्यकता है। मुझे लगता है कि यह एक बिंदु है जिसके बारे में आप जानते हैं।

मैं सवाल करता हूं और संभवतः फ्रंट एंड पर PHP के चयन का मुद्दा उठा सकता हूं। मुझे यह भी लगता है कि आप एक्सएमएल पर गलत तरीके से एक्सएमएल पर निर्णय ले रहे हैं।

  1. Grails.org
  2. का उपयोग कर हर संसाधन है कि बाकी
  3. उपयोग में आरामदायक हो सकता है Grails बाहर का निर्माण करने में एक्स-आग प्लगइन रखें एक सेवा परत बिल्ड:

    यहाँ मैं क्या करते हैं किसी भी एसओएपी सेवाओं को बनाने की आवश्यकता है जिसे

  4. विकास के समय को कम करने के लिए ग्रिल और जीएडी की आरएडी कार्यक्षमता का लाभ उठाएं।
  5. इन सेवाओं का उपभोग करने के लिए एक्स या वाई भाषा या मंच में क्लाइंट का निर्माण करें।

मैं निश्चित रूप से शुद्ध जावा की गति को अपने सभी एक्सएमएल अनुवाद/प्रसंस्करण कर रहा हूं। यदि आपके पास बड़े दस्तावेज़ हैं तो इन्हें प्रोसेसिंग करने में काफी समय लगेगा।

आप किसी के मुकाबले अपने पर्यावरण की ताकतों को बेहतर समझते हैं, लेकिन मैं आपको सबसे सरल काम करने के लिए सावधान करता हूं जो पहले काम करता है और अधिक आर्किटेक्ट नहीं।

+0

राय के लिए धन्यवाद। हालांकि, यहां तक ​​कि जब मेरा विचार एक साधारण सीएमएस के लिए अत्यधिक जटिल होता है, इसमें लंबी दस्तावेज़ प्रसंस्करण शामिल नहीं होगी - मुझे पूरा यकीन है कि PHP में एक्सएसएलटी के साथ मेरे एक्सएमएल को प्रोसेस करना बहुत तेज़ होगा और एक webservice को कॉल करने से बहुत कम जटिल होगा YET एक और लैंग का उपयोग कर बनाया गया था। – analytik

2

मुझे यकीन नहीं है कि आपको "लचीला ढांचा" क्या सुझाव देता है। यह सब कुछ इस बात पर निर्भर करता है कि आप किसके साथ सहज हैं और आपका व्यक्तिगत स्वाद।

एक बात मुझे पता है कि, यह पहली बार कितनी आकर्षक लग सकती है, एक्सएसएलटी से दूर रहना है। एक्सएसएलटी के साथ हैलो वर्ल्ड टाइप सामान और सरल उदाहरण करना काफी सीधे है। हालांकि, एक्सएसएलटी के साथ, अधिक जटिल परियोजनाएं पूरी तरह से अप्रबंधनीय (अपठनीय उल्लेख नहीं है) बन जाती हैं। मेरा अनुभव यह है कि यह परियोजना पर भारी तनाव डालता है।

+1

एक्सएसएलटी के साथ मेरा अनुभव इन दोषों में से कोई भी नहीं दिखाया गया है। – dacracot

+0

चेतावनी के लिए धन्यवाद, बहुत सराहना की। – analytik

1

जो आप वर्णन करते हैं वह tox का उपयोग करके लागू किया जा सकता है। यह एक संकर MVC-ARS आर्किटेक्चर का उपयोग करता है। बाधा जो मैं देखता हूं वह लागत बिंदु tox ओरेकल पर निर्भरता के कारण प्रस्तुत करता है। बेशक, चूंकि यह खुला स्रोत है, तो आप convert it to Postgresql कर सकते हैं।

+0

अभी इसमें देख रहे हैं, धन्यवाद। – analytik

+0

मुझे बताएं कि क्या आपके पास टोक्स के बारे में कोई प्रश्न है, तो वेब साइट का प्रश्न बटन मेरे पास आता है – dacracot

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

  • कोई संबंधित समस्या नहीं^_^