2009-01-20 14 views
11

मैं एक अंधेरा कॉलेज छात्र हूं जो प्रोग्रामिंग कक्षा में परिचय ले रहा है जो उपयोगकर्ता इंटरफ़ेस डिज़ाइन पर केंद्रित है। कक्षा प्रसंस्करण का उपयोग कर रही है, जो पूरी तरह से पहुंच योग्य नहीं है। मैं एक ऐसी भाषा की तलाश में हूं जो मुझे ड्रैग और ड्रॉप के बिना जीयूआई बनाने की अनुमति देगी और उम्मीद है कि मुझे पिक्सल में नियंत्रण स्थिति निर्दिष्ट करने के लिए मजबूर किए बिना अधिकांश लेआउट करने के लिए पर्याप्त स्मार्ट हो।ड्रैग और ड्रॉप के बिना उपयोगकर्ता इंटरफेस को जल्दी से बनाने के लिए सबसे अच्छी भाषा?

मैं पर्ल, जावा, C/C++, सी #, और HTML पता है। मैं एचटीए अनुप्रयोग बनाने पर विचार कर रहा था। मेरी एकमात्र आवश्यकता यह है कि भाषा एमएस विंडोज के तहत चलनी चाहिए, और अंतर्निहित टूलकिट के रूप में SWING या GTK का उपयोग नहीं करना चाहिए।

+0

महान प्रश्न - यह सुनिश्चित करने के लिए हमें अपडेट करना सुनिश्चित करें कि आप कैसे पहुंचे! – Polsonby

उत्तर

2

एक अंधे प्रोग्रामर के रूप में बोलते हुए:

  • सी # + WinForms: आप या तो हाथ से कोड बना सकते हैं और लेआउट प्रबंधकों का उपयोग करें या अपने दिमाग में आकार की गणना, या आप जबड़े स्क्रीन रीडर का उपयोग कर रहे हैं तो वहां स्क्रिप्ट हैं जो WinForms डिजाइनर में आपकी सहायता करेंगे।
  • सी # + डब्ल्यूपीएफ: यहां आप एक्सएमएल में अपना यूआई परिभाषित करते हैं, लेकिन यह आपके सिर को पाने के लिए अधिक जटिल है। निश्चित रूप से इसे देखो क्योंकि यह एक बहुत अच्छा समाधान है। फिलहाल डब्ल्यूपीएफ के साथ दूसरी समस्या यह है कि सभी स्क्रीन पाठक इस नई तकनीक का समर्थन नहीं करते हैं।
  • www.EmpowermentZone.com पर जमाल Mazrui ने "लेआउट बाय कोड" नामक कुछ बनाया है, लेकिन मुझे इसके साथ कोई अनुभव नहीं है।
  • एचटीएमएल + जावास्क्रिप्ट अच्छा होगा, लेकिन मुझे संदेह है कि इसे आपके पाठ्यक्रम में अनुमति दी जाएगी।
  • WXWidgets: मुझे इस क्रॉस-प्लेटफ़ॉर्म, बहु-भाषा UI टूलकिट के साथ बहुत अधिक अनुभव नहीं है, लेकिन मेरा मानना ​​है कि इसमें लेआउट प्रबंधक हैं और इस प्रकार मुझे कई अंधे प्रोग्रामर द्वारा उपयोग किया जाता है।
  • अंत में, मैं हाथ से Win32 संसाधन स्क्रिप्ट डिज़ाइन करता था, मेरे सिर में आकारों की गणना करता था (कोई लेआउट प्रबंधक नहीं)। यदि आप इस मार्ग को लेना चाहते हैं तो यह निश्चित रूप से प्राप्त करने योग्य है।

संक्षेप में, डब्ल्यूपीएफ अच्छा है, लेकिन सुनिश्चित करें कि आपका स्क्रीन रीडर इस तरह के ऐप के साथ काम करता है। अगला सबसे अच्छा विकल्प शायद WinForms है। यदि आपको कोड द्वारा लेआउट पसंद है तो इसका इस्तेमाल करें, लेकिन यदि यह एक कौशल है जिसे आप रोज़गार चाहते हैं, तो इसे ध्यान में रखें।

+0

मैंने एक पाठक के साथ प्रसंस्करण का उपयोग किया क्योंकि कार्यक्रम इतना आसान थे कि ऐसा करना जल्दबाजी में था और फिर यूआई बनाने का एक और तरीका सीखें। मैंने हालांकि जबड़े स्क्रिप्ट के साथ सी # का उपयोग किया और यह सुलभ इंटरफेस बनाने के लिए अच्छा था। – Jared

1

एक्सएएमएल पर एक नज़र डालें। मुझे लगता है कि यह आधुनिक विंडोज और वेब यूआई निर्माता दोनों के लिए एक अच्छी शुरुआत हो सकती है।

+0

मैं यह कहने के लिए यहां आया था कि यह कहने के लिए ही कहा गया था। :) –

+0

मुझे वास्तव में –

1

टीसीएल/टीसी वही करेगा जो आप चाहते हैं। पैक और ग्रिड लेआउट प्रबंधकों विजेट का तार्किक सापेक्ष नियुक्ति के आधार पर कर रहे हैं।

हालांकि "मूल" टी की भाषा Tcl है, कई अन्य भाषाओं एक टी बाध्यकारी है।

label .l -text "this is a label" 
button .b -text 'quit' -command "exit" 
pack .l .b 
0

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

0

मैं जावा में कार्यक्रम नहीं है, लेकिन मुझे पता है कि जावा यूआई के कार्यक्रम संबंधी निर्माण के लिए प्रदान करता है और (जोरों की आवश्यकता के बिना जावा के लिए मूल निवासी) कुछ अद्भुत लेआउट प्रबंधन घटकों प्रदान करता है। एक्स एक्स टूलकिट्स (किसी को भी मोटीफ, ओपन लुक, एचपी ओपन व्यू याद है?) के साथ एक्स 11 के अच्छे पुराने दिनों में लेआउट मैनेजर्स के सामने पहली बार लेआउट मैनेजर्स के संपर्क में आया और जावा ने इसी तरह की तकनीक को अपनाया है।

आप सभी सरल लेआउट प्रबंधकों से विंडोज, संवाद और मेनू बना सकते हैं।

0

होने के नाते देखा अपने आप को और नहीं कुछ भी है कि कभी या पहुँच के लिए लेखा परीक्षित किया गया भारी अंधा उपयोगकर्ताओं द्वारा पहुँचा, मुझे नहीं लगता कि मेरा उत्तर बहुत पूरी तरह से हो जाएगा पर बहुत बारीकी से काम किया है। मेरी पहली वृत्ति हालांकि कहना है कि कि सी #, पीएचपी या ColdFusion तरह HTML उत्पन्न करता है गतिशील वेब सर्वर वास्तुकला के कुछ प्रकार है कि आप पिक्सेल में नियंत्रण स्थान निर्धारित की आवश्यकता के बिना आप के लिए लेआउट के सबसे निपटने में अपने विवरण फिट करने के लिए जा रहा है है। निश्चित रूप से सीएसएस के माध्यम से पिक्सल में नियंत्रण पदों को निर्दिष्ट करने की उपलब्धता है, लेकिन इसकी आवश्यकता नहीं है। और मुझे पता है कि एचटीएमएल में अभिगम्यता के लिए अच्छी तरह से परिभाषित मानक भी हैं, जबकि मुझे यकीन नहीं है कि स्थिति अन्य प्रकार के सॉफ़्टवेयर के साथ पहुंच मानकों पर क्या है।

3

मैं कहूँगा कि XAML एक अच्छा विकल्प होगा:

  • पिक्सेल हेरफेर कोड में
  • आइटम कार्यक्षमता की जरूरत नहीं है के पीछे
  • वहाँ पर नियंत्रण बाद के लिए बदल रहा है पिक्सल जोड़ सकते हैं पर इसका बहुत से दस्तावेज हैं

मई अगर आप हमें इस बारे में एक विचार दें कि आपको भाषा की क्या आवश्यकता होगी, तो हम आपको बेहतर सुझाव दे सकते हैं।

+0

के साथ काम करने के लिए अविश्वसनीय रूप से कठिन लगता है: यह एक अच्छा वातावरण है जो आपको टाइप करते समय संकेत देता है (इंटेलिजेंस)। – Ria

0

आप जावास्क्रिप्ट और एचटीएमएल का उपयोग कर सकते हैं।जावास्क्रिप्ट पर प्रसंस्करण का एक बंदरगाह है, इसलिए आप जानते हैं कि यह उन चीजों के लिए पर्याप्त शक्तिशाली है जो आपकी कक्षा कवर करेंगे। आप ऐसा दिखने के बारे में एक चीज़ को जानने के बिना एचटीएमएल लेखक लिख सकते हैं। वास्तव में एचटीएमएल लेखक के लिए पसंदीदा तरीका है।

जावास्क्रिप्ट का मुख्य नकारात्मक भाग जावास्क्रिप्ट नहीं है, लेकिन ब्राउज़र डोम है। एचटीएमएल तत्वों को नियंत्रित करने में यह इंटरफ़ेस है। हालांकि, jquery, या mootools, या dojo जैसी लाइब्रेरी उन समस्याओं में से अधिकांश का ख्याल रख सकती है।

accessiblity का सवाल है, .एक

WAI ARIA WAI ARIA भी opera's intro to WAI ARIA पर एक नजर है, जबकि स्क्रीन रीडर के साथ अच्छा खेल रहे हैं अमीर जावास्क्रिप्ट अनुप्रयोगों के निर्माण के लिए एक रास्ता है। यह बहुत अच्छा है। मैंने किसी अन्य प्रोग्रामिंग स्टैक में वेब स्टैक को सुलभ बनाने में अधिक काम और जुनून नहीं देखा है।

1

कोडप्लेक्स पर इस प्रोजेक्ट को देखें। यह आप http://bling.codeplex.com/

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

* Declarative constraints that maintain dynamic relationships in the UI without the need for complex event handling. For example, button.Width = 100 - slider.Value causes button to shrink as the slider thumb is moved to the right, or grow as it is moved to the left. Constraints have many benefits: they allow rich custom layouts to be expressed with very little code, they are easy animate, and they support UIs with lots of dynamic behavior. 
* Simplified animation with one line of code. For example, button.Left.Animate.Duration(500).To = label.Right will cause button to move to the right of label in 500 milliseconds. 
* Pixel shader effects without the need to write HLSL code or boilerplate code! For example, canvas.CustomEffect = (input, uv) => new ColorBl(new Point3DBl(1,1,1) - input[uv].ScRGB, input[uv].ScA); defines and installs a pixel shader on a canvas that inverts the canvas's colors. Pixel shading in Bling takes advantage of your graphics card to create rich, pixel-level effects. 
* Support for multi-pass bitmap effects such as diffuse lighting. 
* An experimental UI physics engine for integrating physics into user interfaces! The physics supported by Bling is flexible, controllable, and easy to program. 
* Support for 2.5D lighting. 
* A rich library of geometry routines; e.g., finding where two lines intersect, the base of a triangle, the area of triangle, or a point on Bezier curve. These routines are compatible with all of Bling's features; e.g., they can be used in express constraints, pixel shaders, or physical constraints. Bling also provides a rich API for manipulating angles in both degrees and radians. 
* And many smaller things; e.g., a frame-based background animation manager and slide presentation system. 
* As a lightweight wrapper around WPF, Bling code is completely compatible with conventional WPF code written in C#, XAML, or other .NET languages. 

ब्लिंग एक खुला स्रोत डिजाइन रैपिड प्रोटोटाइप में सहायता करने के लिए शॉन McDirmid और दोस्तों के द्वारा बनाई गई परियोजना है:

निम्नलिखित के रूप में Bling अमीर UI का रैपिड प्रोटोटाइप में है कि सहायता की सुविधा है। हमने अपनी उत्पादकता बढ़ाने के लिए ब्लिंग का उपयोग किया और इसे अन्य WPF UI डिज़ाइन प्रोटोटाइप के साथ साझा करना चाहते हैं।

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