چارچوب GUI Java Swing چه اشکالاتی دارد؟[بسته]

ساخت وبلاگ

همانطور که در حال حاضر ایستاده است ، این سوال برای قالب پرسش و پاسخ ما مناسب نیست. ما انتظار داریم که پاسخ ها توسط حقایق ، منابع یا تخصص پشتیبانی شود ، اما این سؤال احتمالاً بحث ، استدلال ، نظرسنجی یا بحث گسترده را مطرح می کند. اگر احساس می کنید که این سوال قابل بهبود است و احتمالاً بازگشایی شده است ، برای راهنمایی به مرکز راهنما مراجعه کنید.

من برای برخی از برنامه های دسک تاپ از جاوا نوسان استفاده کرده ام. اما من از چارچوب های دیگر GUI استفاده نکرده ام ، بنابراین نمی توانم آنها را مقایسه کنم.

قطعاً مواردی وجود دارد که من با نوسان و بعضی از آنها دوست ندارم ، اما این وضعیت تقریباً با همه چیز است.

بزرگترین اشکال با چارچوب GUI Java Swing چیست؟

سوال به هم پیوسته است. من همچنین تعجب می کنم که قدرت و ضعف نوسان در مقایسه با QT ، GTK ، SWT ، Winforms ، Cocoa و موارد مشابه چیست. شاید شما باید این عنوان را دوباره بیان کنید تا به جای اشکالاتی از آنها استفاده کنید (که تمایل به ایجاد پاسخ های خوب و نه)

3 پاسخ 3

شما باید جاوا را در جایی نصب کنید. این در مورد همه چارچوب های GUI صادق است ، اما جاوا درک یک گوریل 2 تنی را دارد. این بار بهتر شده است ، اما آن روزهای اولیه اپلت جاوا ، بسیاری از افراد را خاموش کرد. اگر فقط برای اجرای یک برنامه خود به آن احتیاج دارید ، این تعمیر و نگهداری زیادی است که آن را با تکه های امنیتی و موارد مشابه به روز نگه دارید. همه باید برای یوتیوب فلاش داشته باشند ، فریم ورک. نت در پشت صحنه نصب می کند و همه افراد جاوا اسکریپت را در مرورگر خود فعال کرده اند. جاوا معمولاً یک کار اضافی است.

هرچند که این نوع نوشتن یکپارچه است ، در هر نقطه اجرا می شود ، اما هنوز می دانید که Mac OSX این چیز تازه ای را که می خواهید استفاده کنید ندارد یا یک مشتری از ارتقاء Mandrake Linux خود در گذشته JRE 1. 4 خودداری می کند.

به عنوان یک DEV ، شما باید در مورد موضوع فکر کنید. و این به طرز حیرت انگیزی است ، زیرا چند رشته ای امکان پذیر است اما نوسان وانمود می کند که همه تک رشته ای است. اما پس از آن نیمی از کتابخانه هایی که در آن قرار می گیرید ، دارای درجه ای از چند رشته هستند و فرض می کنند که در مورد EDT Invokelater می دانید و این کار را به سختی درس می کند.

تجربه نوسان به راحتی به انواع دیگر توسعه UI منتقل نمی شود. به عنوان مثال اگر در جداول در . css در جداول هستید ، توسط jtables ، ارائه دهنده ها ، ویراستاران و غیره کاملاً راه می روید.

به طور کلی ، مشکل اصلی نوسان این است که به نحوه بازاریابی آن عمل نکرد. این یک فناوری کاملاً مناسب برای موارد استفاده زیادی است ، اما آن 5 یا 6 سال اول پر از پیاده سازی های افتضاح و اپلیکیشن های ظالمانه بود. و اکنون این فناوری قدیمی است - به وب 3. 0 یا هر چیز دیگری.

تمام آنچه گفته شد ، من دوست دارم نوسان داشته باشم و فکر می کنم جوانب مثبت در هنگام نیاز به آنچه ارائه می دهد از منفی است. با این حال ، تجربه وب اکنون چنان همه جا است که بسیاری از کاربران قصد دارند با یک برنامه وب راحت تر از برنامه ساده ترین برنامه نوسان شگفت انگیز باشند. و برنامه های نوسان بسیار خوبی در آنجا وجود دارد ، اما به نظر نمی رسد که آنها جریان اصلی باشند.

من در همان وضعیت از OP هستم: من می دانم که نوسان و در مقایسه آن با سایر افراد GUI مورد توجه قرار گرفته ام. برای من ، نکته 1 ، 2 و 4 از این سوال بی ربط نیستند. بنابراین ، من می خواهم به نکته 3 واکنش نشان دهم: آیا می توانید نمونه هایی از ابزارهای GUI چند رشته ای را ارائه دهید ، لطفاً؟با تشکر.

Barjak: GUI Multithreaded یک اشتباه است. تنها کسی که من از آن می دانم جاوا AWT قدیمی است. اما آنها هنگام طراحی نوسان ، از اشتباهات یاد گرفتند ، که به عنوان همه چارچوب های مدرن GUI ، یک موضوع است.

JONAS که یک توسعه دهنده فکر می کند در مورد چند رشته ای فکر می کند اغلب یک اشتباه است ، اما شما نمی توانید انیمیشن ها را اجرا کنید ، تماس های RMI برقرار کنید یا محاسبه شدید انجام دهید (این یک ابزار مشتری چربی است ، به یاد داشته باشید) بدون برخی از چند رشته خواندن.

steve: درست است. اما شما نباید تماس های RMI و محاسبات شدید را در رشته GUI انجام دهید. این نوع کارها باید در یک موضوع پس زمینه ، مانند Swing و WPF انجام شود.

Barjak - فرم های ویندوز ، MFC ، SWT ، PYQT ، JUCE. من سخت تر به فکر کسانی هستم که چند رشته نیستند. هرچند که همین قوانین به طور کلی اعمال می شود ، شما نمی توانید مؤلفه های GUI خود را لمس کنید ، مگر از موضوعی که آنها را ایجاد کرده است.

Swing معماری اساسی شما را به طور کلی می کند تا یک تجربه کاربر خنثی را در اختیار شما قرار دهد. تنها مؤلفه سنگین وزن (ارائه شده توسط سیستم عامل) ظرف JFrame است و بقیه تقریباً توسط نوسان نوسان مورد استفاده قرار می گیرد. از طرف دیگر سخت ، از سیستم عامل می خواهد که تمام مؤلفه های UI خود را ترسیم کند ، به این معنی که با استفاده از مؤلفه های UI بومی خاص برای سیستم عامل ، از بسیاری جهات سریعتر است. SWT سعی می کند به یک میانه برسد ، برای اجزای مختلف استاندارد مانند دکمه ها و برچسب ها (که در اکثر سیستم عامل ها موجود است) ، به سیستم عامل اجازه می دهد تا با آن ها و سایر اجزای تخصصی برخورد کند ، SWT باعث ایجاد شما می شود.

این گفته شده است ، من می توانم اشکالاتی را بیان کنم.

(1) از آنجا که این ابزار به جای درخواست سیستم عامل ، مؤلفه هایی را برای شما ایجاد و ارائه می دهد ، شما نمی توانید از سرعت ساخته شده در قطعات ارائه شده توسط سیستم عامل استفاده کنید.

(2) UI به طور خاص جاذبه نیست زیرا به نظر می رسد برای اکثر سیستم عامل های سیستم عامل بیگانه است که از نظر ظاهری و احساس شما استفاده می کند.

(3) برخی از مدیران طرح بندی یعنی Gridbadlayout و غیره می توانند ساده تر باشند. من تعداد پروژه هایی را که در آن کار کرده ام از دست داده ام که در آن افراد Gridbaglayout را در برخی از کد های بسته بندی پیچیده کرده اند تا راهی ساده تر برای استفاده از آن بدست آورند.

من به شما توصیه می کنم یک برنامه ساده را در AWT ، SWING و SWT بنویسید و رویکردهای توسعه را با محصول نهایی بین همه آنها مقایسه کنید ، سپس نظرات مختلفی را که از سایر توسعه دهندگان ساخته شده است مرور کنید و تصمیم بگیرید که کدام یک بهتر است. من سالهاست که با نوسان کار کرده ام و از SWT استفاده نمی کنم ، اما فهمیدم که نوسان بسیار پیچیده تر از آن است که باید در مقایسه با سایر چارچوب های موجود در آنجا مقایسه شود.< Pan> (1) از آنجا که ابزار ابزار به جای درخواست سیستم عامل ، مؤلفه هایی را برای شما ایجاد و ارائه می دهد ، شما نمی توانید از سرعت ساخته شده در اجزای ارائه شده توسط سیستم عامل استفاده کنید.

بهترین استراتژی معاملات...
ما را در سایت بهترین استراتژی معاملات دنبال می کنید

برچسب : نویسنده : صدرا ذوالریاستین بازدید : 39 تاريخ : يکشنبه 27 فروردين 1402 ساعت: 16:15