हम सभी ड्रिल पता है: आप एक (छोटे) मॉडल है, तो आप इसे लागू करने के लिए की जरूरत है, तो आप इसे (वेब, डेस्कटॉप, मोबाइल, पूर्व के कुछ, उन सभी को) के लिए एक यूआई की जरूरत है।क्या आरएडी उपकरण हैं?
यह ऐसी दोहराव प्रक्रिया है कि मैं मदद नहीं कर सकता लेकिन आश्चर्यचकित हूं कि हम अभी भी पीओजेओ, या मैपर और कोडिंग यूआई के साथ क्यों फंस गए हैं (क्योंकि अधिकांश यूआई "डिजाइनर" विरासत के बारे में भी नहीं जानते हैं और आप स्क्रैच से एक से अधिक फ़ील्ड के साथ हर ठीक/रद्द संवाद को बनाने की आवश्यकता है)। RAD उपकरण/प्लेटफॉर्म इसे ठीक करने का वादा करते हैं लेकिन मैंने अभी तक कुछ भी वास्तविक नहीं देखा है। इस विकी का विचार उन सभी उपकरणों को इकट्ठा करना है जो आपको कुछ मिनटों में एक विचार को दूर करने और वहां से निर्माण करने की अनुमति देते हैं। सरल चीजें (जैसे कि आपके मॉडल के लिए एक साधारण यूआई बनाना या इसे डेटाबेस में सहेजना) सरल होना चाहिए। इसे संपादित करने के लिए एक संवाद में एक काफी जटिल वस्तु को जोड़ने से कोड या कम की एक पंक्ति लेनी चाहिए;)
तो यहां चुनौती आती है: क्या आरएडी उपकरण बाहर हैं जो 8 घंटे के भीतर एक छोटा ऐप बनाने की अनुमति देते हैं । आपको यह विचार देने के लिए कि यह क्या करने में सक्षम होना चाहिए, यहां spec:
आपके पास "ज्ञान" नोड्स हैं। इस तरह के प्रत्येक नोड का नाम और एक लंबा विवरण है (सिंगल लाइन और मल्टी लाइन स्ट्रिंग)
प्रत्येक ज्ञान नोड में बच्चों के रूप में ज्ञान नोड्स की संख्या हो सकती है (1: * क्रमबद्ध अभिभावक/बाल संबंध)।
कोई दो: बाल नोड्स व्यवस्था बनाए रखने के (यानी एक सूची, नहीं एक सेट का उपयोग)
प्रत्येक ज्ञान नोड यह (* विभिन्न प्रकार के बीच अव्यवस्थित संबंध 1) से जुड़ी टैग के किसी भी संख्या में हो सकता है की जरूरत है (: मीटर संबंध एन)
इसे लोड/मॉडल/से कम प्रयास
उपयोगकर्ता के साथ एक डेटाबेस में/XML के रूप में और से बचाने के लिए संभव हो जाना चाहिए ज्ञान नोड्स संबंधों के किसी भी संख्या के साथ जोड़ा जा सकता है पूर्ववत/फिर से उम्मीद करें
यूआई मानक संचालन की पेशकश करनी चाहिए: बनाएँ, को पुन: व्यवस्थित और ज्ञान नोड्स को हटा दें। पुनरावृत्ति को ड्रैग'ड्रॉप का उपयोग करना चाहिए। इसे ज्ञान नोड्स से टैग जोड़ने/हटाने की अनुमति देनी चाहिए। एक संबंध द्वारा दो ज्ञान नोड्स को जोड़ने का एक आसान तरीका होना चाहिए (एक विशेष मोड में दूसरे पर एक नोड खींचकर कहें)।
यूआई भी certains टैग या संबंधों के साथ नोड्स के लिए खोज करने के लिए अनुमति चाहिए। बोनस अंक के लिए, इसे संबंध ग्राफ पर नेविगेट करने का एक आसान तरीका प्रदान करना चाहिए।
कुछ भी चुनौती? सामान्य रूप से, OSS पसंदीदा।
पृष्ठभूमि: मैं 25 से अधिक वर्षों के लिए सॉफ्टवेयर विकसित कर रहा हूँ, अब। Groovy, Java, Python, Tcl/Tk, Grails, OpenOffice, MS Access, TreeLine, [TurboGears] [10], [Enthought लक्षण: फिर भी, इस सरल आवेदन नहीं तो महीनों किसी भी भाषा जो मैं अब तक का सामना करना पड़ा में कोड करने के लिए कई सप्ताह लगते हैं ] [11], नेट।
दावेदार पर कुछ प्रतिक्रिया। ध्यान दें कि मैं मुख्य वाक्य को एक वाक्य में हाइलाइट करने का प्रयास करता हूं, इसलिए अगले खंड को नमक के अनाज के साथ लें, ठीक है?
ग्रोवी अच्छी भाषा, कॉम्पैक्ट कोड। बंद करें लेकिन यूआई विभाग में कमी। वे इस पर काम कर रहे हैं लेकिन बस वहां नहीं। दृढ़ता के लिए, बॉक्स से केवल जावा क्रमबद्धता।
जावा जावा दस साल पहले बाहर आया था, लेकिन यह इतना विकसित नहीं हुआ है। यह पुस्तकालयों के विशाल समूह के साथ एक वृद्ध भाषा है लेकिन आपको चीजों को पूरा करने के लिए बहुत अधिक कोड की आवश्यकता है और कोड की प्रत्येक पंक्ति को लिखने में समय लगता है।
पायथन लगभग सभी चीजों की आवश्यकता है, लेकिन किसी कारण से, यह वास्तव में जावा के रूप में मुख्यधारा के रूप में कभी नहीं बन गया। के साथ एक अच्छा यूआई सेट मिला, SQLAlchemy के साथ एक ठंडा या मैपर लेकिन फिर भी, हम इसे पूरी तरह से आगे खींचने के लिए थ्रॉटल को लात मारने को नहीं देखते हैं। केवल यूनिट परीक्षण के आगमन के साथ, बड़ी परियोजनाओं को लिखना संभव हो गया। कार्य के लिए बहुत कम स्तर।
टीसीएल/टी अच्छा विजेट सेट लेकिन कोड आकार एक निश्चित बिंदु से पहले बढ़ता है जब भाषा बेकार होती है। अब तक उसकी उम्र दिखाता है।
ओपनऑफिस 2.0 के बाद से, ओओ डेटाबेस में निर्मित और "एक्सेस-जैसी" टूल के साथ आता है। यह अपने बचपन में है लेकिन वे वहां पहुंच जाएंगे ... अंततः। माता-पिता/बाल संबंधों को संभाल नहीं सका क्योंकि यूआई उन्हें निर्दिष्ट करने की अनुमति नहीं देता है (see bug)। 3.1 में फिक्स्ड 3.1 के साथ, आप मॉडल बना सकते हैं लेकिन यूआई अभी भी बहुत समय लिखने में लगेगा।
एमएस एक्सेस लगभग कुछ भी हम आवश्यकता होगी लेकिन UI विकल्प बहुत सीमित हैं। निराशा होती।
treeline कोई रास्ता संबंधों को लागू करने और भी अधिकांश अन्य उपयोग के मामलों के लिए प्रतिबंधित (आप बस इसके साथ बहुत कुछ और नहीं कर सकता)
.net मैं इस एक के साथ कोई अनुभव नहीं है, जिसका मुख्य कारण यह केवल विंडोज़ है। मुझे लगता है कि यह बहुत करीब हो सकता है लेकिन चलिए इसका सामना करते हैं: मानव जाति की एक चौथाई को बंद करने का क्या मतलब है?
वाह। आपने 'प्रश्न में' उत्तर क्यों पोस्ट किया? यह सवाल पूछने का उद्देश्य लेता है। 'असली सवाल नहीं' के रूप में बंद करने के लिए वोटिंग। –
आपकी '.NET' टिप्पणी के संबंध में: आपको इसे 'अनुभव नहीं होने' के साथ छोड़ देना चाहिए था। आप ज्ञात दुनिया की एक चौथाई लॉक कर सकते हैं, लेकिन 91% से अधिक व्यवसाय विंडोज़ को अपने डेस्कटॉप पर चलाते हैं। –
यह वास्तव में केवल वेब पर काम करता है, लेकिन आप कोल्डफ्यूजन को भी देखना चाहते हैं। इसके अलावा, फ्लेक्स/एआईआर एक अच्छी आरएडी यूआई परत हो सकती है। –