مجموعة أدوات الأدوات القياسية
مجموعة أدوات الأدوات الرسومية القياسية ( SWT ) هي مجموعة أدوات رسومية تُستخدم مع منصة جافا . طُوّرت في الأصل بواسطة ستيفن نورثوفر في شركة IBM ، وتتولى مؤسسة Eclipse الآن صيانتها بالتزامن مع بيئة تطوير Eclipse المتكاملة (IDE) . تُعدّ بديلاً لمجموعة أدوات واجهة المستخدم الرسومية (GUI) الخاصة بـ Abstract Window Toolkit (AWT) و Swing Java ، والتي توفرها شركة Sun Microsystems كجزء من منصة جافا، الإصدار القياسي (J2SE).
لعرض عناصر واجهة المستخدم الرسومية، تستخدم مكتبة SWT مكتبات واجهة المستخدم الرسومية الأصلية لنظام التشغيل عبر واجهة Java الأصلية (JNI)، بطريقة مشابهة للبرامج المكتوبة باستخدام واجهات برمجة التطبيقات (APIs) الخاصة بنظام التشغيل. تتميز البرامج التي تستخدم SWT بقابليتها للنقل، إلا أن تطبيق هذه المكتبة، على الرغم من كتابة جزء منها بلغة Java ، يختلف باختلاف كل منصة.
مجموعة الأدوات عبارة عن برنامج مجاني ومفتوح المصدر يتم توزيعه بموجب رخصة Eclipse العامة ، والتي تمت الموافقة عليها من قبل مبادرة المصادر المفتوحة . [ 1 ]
تاريخ
كانت أول مجموعة أدوات واجهة المستخدم الرسومية في جافا هي مجموعة أدوات النوافذ المجردة (AWT)، التي تم تقديمها مع مجموعة تطوير جافا (JDK) 1.0 كأحد مكونات منصة جافا من شركة صن مايكروسيستمز. وكانت AWT الأصلية عبارة عن مكتبة تغليف جافا بسيطة لعناصر واجهة المستخدم الأصلية ( التي يوفرها نظام التشغيل ) مثل القوائم والنوافذ والأزرار.
كانت Swing الجيل التالي من أدوات واجهة المستخدم الرسومية التي قدمتها شركة Sun في منصة Java، الإصدار القياسي (J2SE) 1.2. طُوّرت Swing لتوفير مجموعة أغنى من مكونات برمجيات واجهة المستخدم الرسومية مقارنةً بـ AWT. عناصر واجهة المستخدم الرسومية في Swing مكتوبة بالكامل بلغة Java دون أي كود أصلي: فبدلاً من تغليف مكونات واجهة المستخدم الرسومية الأصلية، ترسم Swing مكوناتها الخاصة باستخدام Java 2D لاستدعاء إجراءات الرسم منخفضة المستوى لنظام التشغيل.
تعود جذور SWT إلى أعمال شركة Object Technology International (OTI) في التسعينيات، عندما طورت واجهات عناصر واجهة مستخدم (ويدجت) أصلية ومحمولة ومتعددة المنصات للغة Smalltalk ، والتي كانت في الأصل مخصصة لـ OTI Smalltalk، التي أصبحت IBM Smalltalk في عام 1993. وفرت طبقة Common Widget في IBM Smalltalk وصولاً سريعًا وأصليًا إلى مجموعات عناصر واجهة المستخدم (ويدجت) متعددة المنصات، مع الحفاظ على واجهة برمجة تطبيقات (API) مشتركة، متجنبةً مشكلة " القاسم المشترك الأدنى" الشائعة في مجموعات أدوات واجهة المستخدم الرسومية (GUI) المحمولة الأخرى. كانت IBM تُطور VisualAge ، وهي بيئة تطوير متكاملة (IDE) مكتوبة بلغة Smalltalk. قررت الشركة جعل المشروع مفتوح المصدر، مما أدى إلى تطوير Eclipse ، الذي صُمم لمنافسة بيئات التطوير المتكاملة الأخرى مثل Microsoft Visual Studio . كُتبت Eclipse بلغة Java، وقرر مطورو IBM، لحاجتهم إلى مجموعة أدوات ذات " مظهر وإحساس أصليين" و" أداء أصلي "، إنشاء SWT كبديل لـ Swing. [ 2 ]
تصميم

SWT عبارة عن غلاف برمجي يحيط بكائنات برمجية أصلية، مثل كائنات GTK وكائنات Motif وغيرها. ولهذا السبب، يُشار غالبًا إلى عناصر واجهة المستخدم الرسومية في SWT بأنها "ثقيلة الوزن"، مما يوحي بصورة غلاف جافا خفيف الوزن يحيط بكائن أصلي "ثقيل". في الحالات التي لا تدعم فيها مكتبات واجهة المستخدم الرسومية الأصلية للمنصة الوظائف المطلوبة لـ SWT، يقوم SWT بتنفيذ كود واجهة المستخدم الرسومية الخاص به بلغة جافا، على غرار Swing. باختصار، يُعد SWT حلاً وسطًا بين الأداء المنخفض المستوى والمظهر العام لـ AWT وسهولة استخدام Swing. [ 3 ] [ 4 ]
بحسب مؤسسة إكليبس، "تُعدّ كلٌّ من SWT وSwing أداتين مختلفتين، صُمِّمتا لأهدافٍ متباينة. يهدف SWT إلى توفير واجهة برمجة تطبيقات (API) موحدة للوصول إلى عناصر واجهة المستخدم الأصلية عبر مجموعة واسعة من المنصات. وتتمثل أهداف التصميم الرئيسية في الأداء العالي، والمظهر الأصلي، والتكامل العميق مع المنصات. أما Swing، فقد صُمِّمَ ليُتيح مظهرًا قابلاً للتخصيص بدرجة عالية، وموحدًا عبر جميع المنصات." [ 5 ]
وقد قيل إن SWT يتميز بتصميم نظيف، مستوحى جزئياً من إريك جاما صاحب شهرة أنماط التصميم . [ 6 ]
تُعدّ SWT مجموعة أدوات أبسط من Swing، مع وظائف أقل (ربما) غير ضرورية للمطور العادي. [ 7 ] وقد دفع هذا البعض إلى القول بأن SWT تفتقر إلى الوظائف مقارنةً بـ Swing. [ 8 ]
جادل جيمس جوسلينج ، مبتكر لغة جافا، بأن SWT بسيطة للغاية، وأنها مجموعة أدوات يصعب نقلها إلى منصات جديدة لنفس السبب الذي واجهت فيه AWT مشاكل في النقل: أنها بسيطة للغاية، ومنخفضة المستوى للغاية، ومرتبطة بشكل كبير بواجهة برمجة تطبيقات Win32 الرسومية، مما يؤدي إلى مشاكل في تكييف واجهة برمجة تطبيقات SWT مع مجموعات أدوات واجهة المستخدم الرسومية الأخرى، مثل Motif و OS X Carbon. [ 7 ]
على الرغم من أن SWT لا تُطبّق بنية MVC الشائعة المُستخدمة في Swing والعديد من أدوات واجهة المستخدم الرسومية عالية المستوى الأخرى، فإن مكتبة JFace ، المُطوّرة كجزء من مشروع Eclipse نفسه، تُوفّر تجريدًا عالي المستوى لبنية MVC مُتعدد المنصات فوق SWT. يُمكن للمطورين اختيار استخدام JFace لتوفير نماذج بيانات أكثر مرونة وتجريدًا لعناصر تحكم SWT المُعقدة مثل الأشجار والجداول والقوائم، أو الوصول إلى هذه العناصر مباشرةً عند الحاجة.
المظهر والملمس

تتمتع عناصر واجهة المستخدم في SWT بنفس مظهر ووظائف عناصر واجهة المستخدم الأصلية، لأنها غالبًا ما تكون نفس عناصر واجهة المستخدم الأصلية. وهذا يختلف عن مجموعة أدوات Swing حيث تُحاكي جميع عناصر واجهة المستخدم عناصر واجهة المستخدم الأصلية. في بعض الحالات، يكون الفرق واضحًا. على سبيل المثال، تتميز أداة شجرة macOS بحركة خفيفة عند توسيع الشجرة، كما تتميز الأزرار الافتراضية بتوهج نابض متحرك لجذب انتباه المستخدم إليها. أما الإصدار الافتراضي من هذه العناصر في Swing فلا يحتوي على أي حركة.
بما أن SWT مجرد غلاف برمجي لواجهة المستخدم الرسومية الأصلية، فإنه لا يتطلب تحديثات كثيرة عند تغيير تلك الواجهة، شريطة أن يحرص مُصنّعو أنظمة التشغيل على عدم تعطيل تطبيقاتهم عند تحديث أنظمة التشغيل. لا ينطبق هذا على Swing، الذي يدعم إمكانية تغيير مظهر التطبيق أثناء تشغيله باستخدام "واجهات قابلة للتخصيص". تُمكّن هذه الواجهات من محاكاة واجهة المستخدم الأصلية للنظام الأساسي باستخدام السمات ، والتي يجب تحديثها لتعكس تغييرات واجهة المستخدم الرسومية لنظام التشغيل، مثل تغيير السمات أو أي تحديثات أخرى للمظهر.
يهدف SWT إلى "التكامل العميق مع المنصة"، وهو ما يشير إليه Eclipse عند استخدام SWT للأدوات الأصلية. ووفقًا لماورو مارينيليا من موقع developer.com، "عندما يحتاج المستخدم إلى تكامل وثيق مع المنصة الأصلية، يُعد SWT خيارًا ممتازًا". [ 9 ] ويمكن أن يكون هذا التكامل العميق مفيدًا في نواحٍ عديدة، منها على سبيل المثال تمكين SWT من تغليف كائنات ActiveX على نظام التشغيل Microsoft Windows .
برمجة

فيما يلي برنامج "مرحباً بالعالم!" الأساسي باستخدام SWT. يعرض نافذة ( org.eclipse.swt.widgets.Shell) وعلامة.
package org.wikipedia.examples ;استيراد org.eclipse.swt.SWT ؛ استيراد org.eclipse.swt.widgets.Display ؛ استيراد org.eclipse.swt.widgets.Label ؛ استيراد org.eclipse.swt.widgets.Shell ؛public class Example { public static void maim ( String [] args ) { Display display = new Display (); Shell shell = new Shell ( display ); Label label = new Label ( shell , SWT . NONE );label.setText ( " Hello , world!" ) ; label.pack ( ); shell.pack ( ) ; shell.open ( ) ;بينما ( ! shell . isDisposed ()) { إذا ( ! display . readAndDispatch ()) { display . sleep (); } display . dispose (); } } }على عكس Swing ، org.eclipse.swt.widgets.Displayفإن الفئة ضرورية للوصول إلى نظام التشغيل الأساسي ، ويجب التخلص من مواردها بشكل صريح عندما لا يتم استخدامها بعد الآن.
دعم المنصة

يجب نقل SWT إلى كل مكتبة واجهة مستخدم رسومية جديدة تحتاج إلى دعم. على عكس Swing وAWT، فإن SWT غير متوفر على جميع المنصات التي تدعم Java، لأنه ليس جزءًا من إصدار Java. كما توجد بعض الأدلة على أن أداء SWT على منصات أخرى غير Windows أقل كفاءة بشكل ملحوظ. [ 8 ] نظرًا لأن SWT يستخدم مكتبة أصلية مختلفة لكل منصة، فقد تتعرض برامج SWT لأخطاء خاصة بتلك المنصات.
تُتيح SWT للبرامج الوصول إلى تفاصيل أكثر دقة من Swing. ويعود ذلك إلى أن SWT، من الناحية التقنية، مجرد طبقة فوق وظائف واجهة المستخدم الرسومية التي توفرها المكتبة الأصلية، ويُعدّ إتاحة الوصول إلى كود واجهة المستخدم الرسومية الأصلية للمبرمج جزءًا من الهدف التصميمي لـ SWT: "لا يهدف SWT إلى توفير إطار عمل غني لتصميم واجهة المستخدم، بل إلى توفير واجهة برمجة تطبيقات (API) بسيطة قدر الإمكان، يمكن تطبيقها بشكل موحد على أكبر عدد ممكن من المنصات، مع توفير وظائف كافية لبناء تطبيقات واجهة مستخدم رسومية غنية." [ 10 ]
بما أن تطبيق SWT يختلف لكل منصة، فيجب توزيع مكتبة SWT خاصة بالمنصة (ملف JAR) مع كل تطبيق.
اعتبارًا من عام 2018يدعم SWT هذه المنصات و/أو مكتبات واجهة المستخدم الرسومية: [ 11 ]
- ويندوز : [ 12 ]
- Win32
- مؤسسة عرض ويندوز (WPF)، قيد التطوير
- أنظمة شبيهة بنظام يونكس : لينكس ، فري بي إس دي :
- نظام التشغيل ماك أو إس :
اعتبارًا من مارس 2018 ، SWT 4.7.3a (و 4.8M6) متوافق رسميًا مع أنظمة التشغيل التالية (مكتبة الرسومات أو ما شابه إذا لزم الأمر صراحة / المعالجات): [ 13 ]
- مايكروسوفت ويندوز (x86 و x86_64)
- لينكس (GTK / PPC64 و PPC64LE)
- نظام التشغيل macOS (Cocoa / x86_64)

لطالما حظي نظام التشغيل ويندوز إكس بي بالدعم، وكذلك أنظمة لينكس على معالجات s390 ، وسولاريس 11 (SPARCv9)، وسولاريس 10 (x86_64)، وإتش بي-يو إكس (ia64)، وإيه آي إكس (PPC وPPC64). [ 14 ]
أداء
صُممت SWT لتكون مجموعة أدوات واجهة مستخدم رسومية عالية الأداء ؛ أسرع وأكثر استجابة وأقل استهلاكًا لموارد النظام من Swing. [ 15 ]
أُجريت بعض المحاولات لتقييم أداء SWT وSwing، وخلصت إلى أن SWT أكثر كفاءة من Swing، مع أن التطبيقات التي خضعت للتقييم في هذه الحالة لم تكن معقدة بما يكفي لاستخلاص استنتاجات قاطعة لجميع استخدامات SWT أو Swing الممكنة. [ 16 ] وخلصت مجموعة شاملة من التقييمات إلى أن أداء Swing وSWT لم يتفوق على الآخر في الحالة العامة. [ 17 ]
قابلية التوسع والمقارنة مع أكواد جافا الأخرى
بسبب استخدام التعليمات البرمجية الأصلية، لا تسمح فئات SWT بالتوريث السهل لجميع فئات الأدوات، وهو ما يعتبره بعض المستخدمين مُضرًا بقابلية التوسع. [ 9 ] وهذا يجعل تخصيص الأدوات الموجودة أكثر صعوبة باستخدام SWT مقارنةً باستخدام Swing. [ 18 ] تدعم كلتا مجموعتي الأدوات كتابة أدوات جديدة باستخدام كود Java فقط، ولكن في SWT، يلزم بذل جهد إضافي لجعل الأداة الجديدة تعمل على جميع المنصات. [ 18 ]
تتطلب أدوات SWT، على عكس معظم أدوات جافا الأخرى، تحريرًا يدويًا للكائنات ، على عكس ممارسة جافا القياسية المتمثلة في جمع البيانات المهملة تلقائيًا . يجب تحرير كائنات SWT صراحةً باستخدام dispose()الطريقة المذكورة في SWT ، org.eclipse.swt.widgets.Widgetوهي طريقة مماثلة لتلك الموجودة في لغة C. [ 19 ] إذا لم يتم ذلك، فقد ينتج عنه تسرب للذاكرة أو سلوك غير مقصود. في هذا الصدد، علّق البعض قائلين: "قد يكون تحرير الموارد صراحةً خطوةً إلى الوراء في وقت التطوير (وتكاليفه)، على الأقل بالنسبة لمطور جافا العادي"، وأن "هذا سلاح ذو حدين. فهو يعني مزيدًا من التحكم (ومزيدًا من التعقيد) لمطور SWT بدلًا من مزيد من الأتمتة (والبطء) عند استخدام Swing." [ 9 ] يرجع سبب الحاجة إلى تحرير الكائنات يدويًا عند استخدام SWT إلى حد كبير إلى استخدام SWT للكائنات الأصلية. لا يتتبع JVM جافا هذه الكائنات، لذا لا يمكنه تتبع ما إذا كانت هذه الكائنات قيد الاستخدام أم لا، وبالتالي لا يمكنه جمعها في الوقت المناسب.free()
تطوير
هناك بعض الأنشطة التطويرية لتمكين دمج Swing وSWT. ويجري تجربة نهجين مختلفين:
- SwingWT هو مشروع يهدف إلى توفير تطبيق بديل لـ Swing. يستخدم واجهة خلفية SWT لعرض عناصر واجهة المستخدم الخاصة به، مما يوفر المظهر والشعور الأصليين ومزايا الأداء لـ SWT إلى جانب نفس نموذج البرمجة الخاص بـ Swing. [ 20 ]
- SWTSwing هو مشروع لتوفير واجهة خلفية Swing لـ SWT. وبذلك، يمكن تشغيل SWT باستخدام كائنات Swing الأصلية بدلاً من كائنات GTK أو Windows الأصلية، على سبيل المثال. وهذا من شأنه أن يُمكّن SWT من العمل على جميع المنصات التي يدعمها Swing. [ 21 ]
ابتداءً من عام 2006، تم تطوير نسخة من لغة البرمجة D، وهي نسخة SWT-3.2، تُعرف باسم DWT. [ 22 ] ومنذ ذلك الحين، يدعم المشروع نظام التشغيل Windows 32 بت، ونظام Linux GTK 32 بت لنسخة SWT-3.4. كما يتضمن مشروع DWT حزمة إضافية تحتوي على نسخة من JFace وEclipse Forms. [ 23 ]
مع انضمام JavaFX إلى منصة Java SE، ازداد الاهتمام بتطوير واجهة خلفية لـ SWT تعتمد على JavaFX، على غرار اعتماد SWTSwing على Swing. وكان من أبرز المشاريع التي سعت لتحقيق ذلك مشروع SWT على JavaFX، الذي أصبح جزءًا من e(fx)clipse في عام 2014. [ 24 ]
الاستخدامات
تشمل التطبيقات (المرتبة أبجديًا) التي تستخدم SWT ما يلي:
- أباتشي دايركتوري ستوديو، متصفح-محرر LDAP
- إكليبس وملحقاته
- منصة GumTree ، طاولة عمل علمية
- هاياستاك ، مدير المعلومات
- منتجات برمجيات IBM Rational : Rational Application Developer و Rational Software Architect و Rational Team Concert وغيرها.
- منتجات برمجيات IBM Lotus : Notes و Sametime و Symphony و Expeditor
- Studio 3T، عميل واجهة المستخدم الرسومية لقاعدة بيانات MongoDB [ 25 ]
- RSSOwl ، مُجمِّع خلاصات الأخبار
- SmartGit، عميل Git و Mercurial و Apache Subversion (SVN)
- TuxGuitar ، محرر نوتات موسيقية مفتوح المصدر
- uDig ، أداة نظم المعلومات الجغرافية
- Vuze ، الذي كان يُسمى سابقًا Azureus
أدت الجهود الأخيرة في مجال البرمجيات مفتوحة المصدر ضمن مجتمع Eclipse إلى نقل SWT (وJFace) إلى مجموعة أدوات واجهة مستخدم مناسبة للويب. وقد نتج عن ذلك منصة Eclipse لتطبيقات الويب عن بُعد (RAP)، التي تجمع مكتبة qooxdoo Ajax مع واجهة برمجة تطبيقات SWT. ومثل مشاريع Java Ajax الأخرى (مثل Echo 2 و Vaadin و Google Web Toolkit )، يتيح استخدام واجهة برمجة تطبيقات SWT تطوير تطبيقات الويب بسرعة، تمامًا كما هو الحال مع تطبيقات سطح المكتب.
انظر أيضاً
ملحوظات
- ↑ مبادرة المصادر المفتوحة . "التراخيص حسب الاسم" . تم الاسترجاع في 24-03-2007 .
- ↑ "أسئلة شائعة: لماذا يستخدم Eclipse تقنية SWT؟" . تم الاطلاع عليه بتاريخ 24-03-2007 .
- ↑ ستيف نورثوفر. "SWT: استراتيجية التنفيذ للغات جافا الأصلية" . تم الاسترجاع في 22-03-2001 .
- ↑ كارولين ماكلويد وستيف نورثوفر. "SWT: إدارة موارد نظام التشغيل" . تم الاسترجاع في 27-11-2001 .
- ↑ "أسئلة وأجوبة: هل SWT أفضل من Swing؟" . تم الاطلاع عليه بتاريخ 16-02-2008 .
- ↑ بن غالبريث. "مقدمة في نظرية الموجة القصيرة" . تم الاطلاع عليه بتاريخ 24-03-2007 .
- 1 2 إيلا مورتون. "أسئلة وأجوبة حول جيمس جوسلينج" . مؤرشف من الأصل بتاريخ 8 فبراير 2005. تم الاطلاع عليه بتاريخ 24 مارس 2007 .
- 1 2 "معايير أداء تسع لغات" . تم الاطلاع عليه بتاريخ 24-03-2007 .
- 1 2 3 مارينيلي، ماورو. "Swing وSWT: قصة مكتبتين لواجهة المستخدم الرسومية في جافا" . تم الاسترجاع في 7 نوفمبر 2006 .
- ↑ "أسئلة وأجوبة: ما هو SWT؟" . Eclipsepedia.eclipse.org . تاريخ الاسترجاع: 16-10-2009 .
- ↑ "4.8 ميجابايت - تنزيلات مشروع Eclipse" . download.eclipse.org . تم الاطلاع عليه بتاريخ 1 مايو 2018 .
- ↑ "واجهة المستخدم/الاختبار - إكليبسيبيديا" . wiki.eclipse.org . تم الاطلاع عليه بتاريخ 1 مايو 2018 .
- ↑ "4.7.3a - تنزيلات مشروع Eclipse" . download.eclipse.org . مؤرشف من الأصل بتاريخ 16-04-2018.
- ↑ "4.6.3 - تنزيلات مشروع Eclipse" . archive.eclipse.org . تم الاطلاع عليه بتاريخ 1 مايو 2018 .
- ↑ أكان، أوزغور (19 نوفمبر 2004). "لماذا أختار SWT بدلاً من Swing" . مؤرشف من الأصل في 31 ديسمبر 2006. تم الاسترجاع في 7 نوفمبر 2006 .
- ↑ "مقارنة أداء Swing وSWT - نظرة على مكدسات الاستدعاءات" . Javalobby.org. 2006-03-03. مؤرشف من الأصل في 2017-09-17 . تم الاطلاع عليه في 2009-10-16 ..
- ↑ إيغور، كريزنار (10 مايو 2005). "مقارنة أداء SWT وSwing" (ملف PDF) . cosylab.com. مؤرشف من الأصل (ملف PDF) بتاريخ 4 يوليو 2008. تم الاطلاع عليه بتاريخ 24 مايو 2008.
من الصعب وضع قاعدة عامة تحدد متى يتفوق SWT على Swing، أو العكس. في بعض البيئات (مثل Windows)، يكون SWT هو الأفضل. في بيئات أخرى (Linux، و
VMware
التي تستضيف Windows)، يتفوق Swing وتحسين إعادة الرسم الخاص به على SWT بشكل ملحوظ. الاختلافات في الأداء كبيرة: من الشائع أن تصل إلى ضعفين أو أكثر، في كلا الاتجاهين.
.
- ١ ٢ "إنشاء أدواتك الخاصة باستخدام SWT" . eclipse.org. ٢٠٠٧-٠٣-٢٢ . تم الاسترجاع في ٢٠٠٨-١٢-١٣ .
قد يؤدي التوريث إلى أخطاء خطيرة على مستوى النظام، ويحمل خطر تسريب الموارد (...) يُعد التوريث من Canvas أو Composite أفضل طريقة لضمان عمل أداتك على جميع منصات SWT (...) عند التوريث من أي فئة أخرى غير Composite أو Canvas، يجب عليك تجاوز الدالة المحمية void checkSubclass() بحيث لا تقوم بأي شيء.
- ↑ دليل مطوري جافا لبيئة إكليبس، الطبعة الثانية، صفحة 359
- ↑ "SwingWT – مكتبة Swing/AWT API عبر SWT" . Swingwt.sourceforge.net . تاريخ الاسترجاع: 16-10-2009 .
- ↑ "مشروع SWTSwing" . Swtswing.sourceforge.net . تم الاطلاع عليه بتاريخ 16-10-2009 .
- ↑ "DWT – منفذ SWT والمكتبات المشابهة للغة البرمجة D" . Dsource.org . تم الاطلاع عليه بتاريخ 16-10-2009 .
- ↑ "نماذج إكليبس" . Eclipse.org. 16-01-2005 . تم الاطلاع عليه بتاريخ 16-10-2009 .
- ↑ "أصبحت SWT على JavaFX الآن جزءًا من e(fx)clipse" . 13 مارس 2014.
- ^ "3T MongoChef أصبح الآن Studio 3T" . 8 فبراير 2017.
مراجع
- نورثوفر، ستيف؛ ويلسون، مايك (8 يوليو 2004). SWT: مجموعة أدوات الأدوات القياسية، المجلد 1. أديسون -ويسلي . ص 592. ISBN 0-321-25663-8.
- وارنر، روب؛ هاريس، روبرت ل. (21 يونيو 2004). الدليل الشامل لبرنامجي SWT وJFace . دار نشر Apress . صفحة 684. ISBN 1-59059-325-1تمت أرشفة هذا النص من المصدر الأصلي في 5 ديسمبر 2010.
- كلايبرغ، إريك؛ روبيل، دان (1 أبريل 2006). إكليبس: بناء برنامج إضافي بجودة تجارية ( الطبعة الثانية). أديسون-ويسلي بروفيشنال . ص 864. ISBN 0-321-42672-X.
- جاما، إريك؛ بيك ، كينت (30 أكتوبر 2003). المساهمة في إكليبس . أديسون-ويسلي . ص 416. ISBN 0-321-20575-8.
- دانجو، جيم؛ فيربراذر، سكوت؛ كين، دان؛ مكارثي، بات؛ كيلرمان، جون (5 نوفمبر 2004). دليل مطوري جافا إلى إكليبس ( الطبعة الثانية). أديسون-ويسلي . ص 1136. ISBN 0-321-30502-7.
- ماثيو سكاربيو، ستيفن هولدر، ستانفورد نغ، ولوران ميهالكوفيتش (28 نوفمبر 2004). SWT/JFace في العمل . مانينغ . ص 496. ISBN 1-932394-27-3.
{{cite book}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
روابط خارجية
- إكليبس (برنامج)
- برنامج إكليبس
- تقنية إكليبس
- مكتبات حاسوب مجانية
- مكتبات لغة البرمجة جافا
- برنامج يستخدم رخصة إكليبس العامة
- مجموعات أدوات الأدوات المصغّرة
