أفضل لغة لإنشاء واجهات المستخدم بسرعة دون السحب والإفلات؟[مغلق]

StackOverflow https://stackoverflow.com/questions/460085

  •  19-08-2019
  •  | 
  •  

سؤال

أنا طالب جامعي كفيف وأحضر مقدمة لفصل البرمجة الذي يركز على تصميم واجهة المستخدم.يستخدم الفصل المعالجة، والتي لا يمكن الوصول إليها تمامًا.أنا أبحث عن لغة تسمح لي بإنشاء واجهات المستخدم الرسومية بدون السحب والإسقاط، وآمل أن أكون ذكيًا بما يكفي للقيام بمعظم التخطيط دون إجباري على تحديد مواضع التحكم بالبكسل.

أعرف لغات Perl وJava وC/C++ وc# وHTML.كنت أفكر في إنشاء تطبيقات HTA.متطلباتي الوحيدة هي أن اللغة يجب أن تعمل ضمن نظام التشغيل MS Windows، ويجب ألا تستخدم SWING أو GTK كمجموعة الأدوات الأساسية.

هل كانت مفيدة؟

المحلول

التحدث كمبرمج أعمى:

  • C# + وينفورمز:يمكنك إما إنشاء التعليمات البرمجية يدويًا واستخدام مديري التخطيط أو حساب الأحجام في رأسك، أو إذا كنت تستخدم قارئ الشاشة JAWS، فهناك نصوص برمجية ستساعدك في مصمم WinForms.
  • سي # + وبف:هنا تقوم بتعريف واجهة المستخدم الخاصة بك في XML، ولكن الأمر أكثر تعقيدًا.انظر بالتأكيد إلى هذا لأنه حل لطيف للغاية.المشكلة الأخرى في WPF في الوقت الحالي هي أنه ليس كل برامج قراءة الشاشة تدعم هذه التقنية الأحدث.
  • قام جمال المزروعي من موقع www.EmpowermentZone.com بإنشاء شيء يسمى "التخطيط حسب الكود"، لكن ليس لدي أي خبرة في هذا.
  • قد يكون HTML+Javascript أمرًا رائعًا، ولكن أشك في أنه سيتم السماح به في الدورة التدريبية الخاصة بك.
  • أدوات WX:ليس لدي الكثير من الخبرة في استخدام مجموعة أدوات واجهة المستخدم متعددة المنصات واللغات، لكنني أعتقد أنها تحتوي على مديري تخطيط وبالتالي يتم استخدامها من قبل العديد من المبرمجين المكفوفين الذين أعرفهم.
  • أخيرًا، اعتدت على تصميم البرامج النصية لموارد Win32 يدويًا، وحساب الأحجام في رأسي (بدون مديري تخطيط).وهذا أمر يمكن تحقيقه بالتأكيد إذا أردت أن تسلك هذا الطريق.

باختصار، WPF رائع، ولكن تأكد من أن قارئ الشاشة لديك يعمل مع هذا النوع من التطبيقات.ربما يكون البديل الأفضل التالي هو WinForms.إذا كنت تحب Layout By Code، فاستخدمها، ولكن إذا كانت هذه مهارة تريدها للتوظيف، فضع ذلك في الاعتبار.

نصائح أخرى

أود أن أقول أن xaml سيكون اختيارًا جيدًا:

  • ليست هناك حاجة للتلاعب بالبكسل
  • وظيفة العنصر في التعليمات البرمجية وراء
  • يمكن إضافة تغيير وحدات البكسل للتحكم في وقت لاحق
  • هناك الكثير من الوثائق حول كيفية استخدامها

ربما إذا أعطيتنا فكرة عما ستحتاج إليه من لغة يمكننا أن نقدم لك اقتراحات أفضل.

ونلقي نظرة على XAML. أعتقد أنه يمكن أن يكون بداية جيدة لكل من ويندوز واجهة الويب الحديثة المبدعين.

سوف تقوم شركة Tcl/Tk بما تريده بالضبط.ال علية و شبكة يعتمد مديرو التخطيط على الموضع النسبي المنطقي للعناصر المصغّرة.

على الرغم من أن اللغة "الأصلية" لـ Tk هي Tcl، إلا أن العديد من اللغات الأخرى لها رابط Tk.

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

وتحقق من هذا المشروع على كود بلاكس. وقد يكون من المفيد لك (كبديل للمعالجة وجافا) http://bling.codeplex.com/

وينغ هو C # المستندة إلى مكتبة بسهولة برمجة الصور والرسوم المتحركة، والتفاعلات، وتصورات على مايكروسوفت WPF / .NET. توجه نحو بلينغ التكنولوجيين تصميم، أي المصممين الذين البرنامج في بعض الأحيان، للمساعدة في النماذج الأولية السريعة من الأفكار الغنية تصميم واجهة المستخدم. سيقوم الطلاب والفنانين والباحثين والهواة تجد أيضا بلينغ مفيدة كأداة للتعبير عن الأفكار بسرعة أو تصورات. هي الأمثل واجهات برمجة التطبيقات بلينغ وبنيات للبرمجة السريعة لرمي بعيدا كود بدلا من البرمجة متأنية لرمز الإنتاج.

وبلينغ كما يلي الميزات التي تساعد في النماذج الأولية السريعة الغنية معهد اليونسكو للإحصاء:

* 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 والأصدقاء للمساعدة في تصميم النماذج الأولية السريعة. كنا بلينغ لتعزيز إنتاجيتنا وترغب في مشاركتها مع الآخرين prototypers تصميم WPF UI.

وكنت على الارجح حاول استخدام C #. لديه معقولة واجهات صديقة للنوافذ الضوابط المشتركة وما شابه ذلك حتى من دون الاستفادة من السحب والإسقاط. فقط لا تجعل استخدام مصمم ورمز كالمعتاد.

وأنا لا برنامج بلغة جافا لكنني أعرف أن جافا ينص على إنشاء البرنامجي للUI ويوفر بعض مكونات إدارة تخطيط رائعة (الأم إلى جاوة دون الحاجة SWING). أنا حصلت على أول تتعرض لمدراء التخطيط مرة أخرى في أيام عمرها جيدة من X11 مع X الأدوات (أي شخص يتذكر الحافز، OpenLook، HP منظر مفتوح؟) وجافا يبدو أنه قد اعتمدت تقنية مشابهة.

ويمكنك إنشاء ويندوز، والحوارات والقوائم كل من مديري تصميم بسيط.

ويجري النظر نفسي وليس بعد أن عملت بشكل وثيق جدا على أي شيء من أي وقت مضى تم تدقيقها لسهولة الحصول عليها بشكل كبير الوصول إليها من قبل المستخدمين المكفوفين، وأنا لا أعتقد أن جوابي تكون شاملة بشكل رهيب. لكن لقائي الاول غريزة هو أن نقول أن نوعا من العمارة خادم الويب الديناميكية التي تولد HTML مثل C #، PHP أو كولد فيوجن سوف تناسب صفك على التعامل مع أكثر من تخطيط لك دون الحاجة التي تحددها مواقع السيطرة في بكسل. هناك بالتأكيد هو توافر لتحديد مواقع السيطرة في بكسل عبر CSS، ولكنها ليست المطلوبة. وأنا أعلم أن HTML أيضا معايير محددة جيدا لسهولة الوصول إليها، في حين أنني لست متأكدا ما هو الوضع على معايير الوصول مع أنواع أخرى من البرامج.

هل يمكن استخدام جافا سكريبت و HTML. هناك ميناء تجهيز لجافا سكريبت، حتى تعرف أن ما هو قوي بما فيه الكفاية لالأشياء التي صفك ستغطي. يمكنك الكاتب أتش تي أم أل دون معرفة شيء واحد حول ما يبدو. في الواقع هذه هي الطريقة المفضلة على الكاتب أتش تي أم أل.

والجانب السلبي الرئيسي للجافا سكريبت ليس جافا سكريبت نفسها، ولكن دوم المتصفح. هذا هو واجهة في السيطرة على عناصر HTML. ومع ذلك، مكتبة مثل مسج أو موتولز، أو دوجو يمكن أن تأخذ الرعاية من معظم تلك المشاكل.

وأما بالنسبة accessiblity، إلقاء نظرة على WAI ARIA أيضا <أ href = ل "http://dev.opera.com/articles/view/introduction-to-wai-aria/" يختلط = "نوفولو noreferrer"> مقدمة أوبرا لWAI ARIA اللا

وWAI ARIA هو وسيلة لبناء تطبيقات جافا سكريبت الغنية في حين لعب لطيف مع قارئات الشاشة. إنه جيد جدا. أنا لم أر المزيد من العمل والعاطفة وضعت في جعل كومة على شبكة الإنترنت يمكن الوصول إليها في أي كومة البرمجة الأخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top