الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هي تجربتك مع SWT ؟؟ -خاصة في دعم العربية و تعدد المنصات-

بدأه log.txt في 20 يوليو 2011 · 23 رد · 1,182 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ,,

لدي الآن مشروع لبرنامج سطح مكتب ولعدة أسباب ليس المجال مناسبا لذكرها بدت الجافا هي الأنسب

SWT تبدو جيدة لكن أتمنى سماع ملاحظات و آراء من استخدمها خاصة في دعم العربية و تعدد المنصات؟

دمتم بود

#2

نقلا عن كلام الاخ هويدى عنها من قبل

انها ممتازه :)

Software Developer
Mahmoudkelany.com


 

#3

لا تدعم ال MDI بسهوله ...

غير ذلك فهي جميله ...

لكن ما هي أسبابك لعدم إستخدام SWING ؟

#4

ستخسر portability أيضاً

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5
هويدي كتب:

لا تدعم ال MDI بسهوله ...

غير ذلك فهي جميله ...

الـ MDI إن شاء الله تغني التبويبات عنها.

لكن سمعت أن خيار قلب الواجهة لجعلها من اليمين إلى اليسار غير مدعوم على نظام iOS هل هذا صحيح؟

أيضاً هناك أمور بسيطة كأوامر تلوين الأزارير تعمل على بعض الأنظمة دون غيرها.

وعدم وجود أوامر لتنفيذ وظائف بسيطة كأمر تغيير تريب التبويبات.

هل هذا صحيح؟

لكن ما يهم هو عوارض الجداول والأشجار و القوائم هل لك تجربة معها؟

هويدي كتب:

لكن ما هي أسبابك لعدم إستخدام SWING ؟

مثلاً عارض صفحات الـ HTML محدود جداً يدعم فقط 3.2 و بدون جافاسكربت و الدعم الضعيف لـ CSS

واجهة مشاكل في الأداء خاصة عملية تصير النصوص طويلة في JTextPane.

أيضاً بعض الوظائف الأساسية كشجرة اختيارات (check tree) أو قائمة اختيارات (check list) غير موجودة

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

فلا يظهر إلا نهاية الكلمات و المشكلة موجودة في bugzilla لها تقريباً 9 سنوات وحلها غير عملي.

#6
علاء الصالحي كتب:

ستخسر portability أيضاً

تحياتي

هل يمكنك أن توضح أكثر؟

مثلاً هل هناك أوامر معينة أو Control معين أو ماذا بالضبط

دمت بود

#7

أخ log ..

من الواضح أن معلوماتك عن ال SWT أكثر من معلوماتى.. .فتجربتى معها كانت بسيطه ..

#8

استخدم swing فى برامج desktop ولا توجد مشاكل

حاولت استخدام swt ولكن كما وضح الاخ علاء لكل بيئة تشغيل os مكتباتها الخاصة (portability)

اظن المشاكل يمكنك التغلب عليها بطرق مختلفة

ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة

Swingx


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#9
MOHAMED FATHEI كتب:

ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة

Swingx

بالنسبه للـ SwingX

تفضل

http://www.arabteam2...howtopic=208924

وهناك مجموعه انا كنت عاملهم مفتوحين المصدر

/index.php?showtopic=236874

بالتوفيق

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 21 يوليو 2011 في 22:36

Software Developer
Mahmoudkelany.com


 

#10
MOHAMED FATHEI كتب:

استخدم swing فى برامج desktop ولا توجد مشاكل

حاولت استخدام swt ولكن كما وضح الاخ علاء لكل بيئة تشغيل os مكتباتها الخاصة (portability)

اظن المشاكل يمكنك التغلب عليها بطرق مختلفة

ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة

Swingx

استخدمت swing من قبل وعليها بعض الملاحظات

وخاصة الأداء.

وقلت لعل هناك بدائل أفضل.

يبدو أن النقاش انتهى قبل أن يبدأ

دمت بود

Mahmoud Kelany كتب:

بالنسبه للـ SwingX

تفضل

/index.php?showtopic=208924

وهناك مجموعه انا كنت عاملهم مفتوحين المصدر

/index.php?showtopic=208924

بالتوفيق

شكراً لك.

الرابط الثاني أظنه غير صحيح

دمت بود

تم تعديل هذه المشاركة بواسطة log.txt في 21 يوليو 2011 في 21:22

#11
log.txt كتب:

يبدو أن النقاش انتهى قبل أن يبدأ

الرابط الثاني أظنه غير صحيح

ايه بس اللى انهى النقاش ؟؟؟؟

متاسف لم انتبه تم تعديل الرابط

Software Developer
Mahmoudkelany.com


 

#12
Mahmoud Kelany كتب:

ايه بس اللى انهى النقاش ؟؟؟؟

آسف يا باشا سامحني. :wink:

#13

سؤال : ماهي المنصة بالانجلش؟

هل هي Frame OR Tab ؟

ماذا يطلق عليها باللغة الانجليزية ؟

وشكرا لكم

#14
اقتباس

استخدمت swing من قبل وعليها بعض الملاحظات

وخاصة الأداء.

وقلت لعل هناك بدائل أفضل.

يبدو أن النقاش انتهى قبل أن يبدأ

دمت بود

بالفعل هناك بدائل افضل لكن ليست swt جرب ان تتعامل مع qtjambi

والافضل ان كانت لديك خبرة متوسطة فى ++c ان تستخدم QT مباشرة مع ++c

مشكلة الاداء فى الجافا وليست فى swing

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#15
ســآرهـ كتب:

سؤال : ماهي المنصة بالانجلش؟

هل هي Frame OR Tab ؟

ماذا يطلق عليها باللغة الانجليزية ؟

وشكرا لكم

منصة بالإنجليزية تعني platform

بينما frame يعني إطار

و tab يعني لسان تبويب

وكان الأفضل أن تنزلي السؤال في موضوع مستقل.

تم تعديل هذه المشاركة بواسطة log.txt في 22 يوليو 2011 في 21:24

#16
MOHAMED FATHEI كتب:

بالفعل هناك بدائل افضل لكن ليست swt جرب ان تتعامل مع qtjambi

والافضل ان كانت لديك خبرة متوسطة فى ++c ان تستخدم QT مباشرة مع ++c

مشكلة الاداء فى الجافا وليست فى swing

تحياتى

أنت تعلم أن نوكيا تخلت عن qtjambi وهو الآن في يد المجتمع وللأسف مجتمعهم صغير جداً جداً

أقصد في حالات طلب المساعدة أو حدوث أخطاء فلإنتظار سيكون بالأسابيع.

والبرامج التي بنيت عليها قليلة جداً فما تدري هل هناك مشاكل عويصة في إنتظارك ,,,

بالنسبة لswt فهناك eclipse و vuse وقد نختلف أو نتفق عليها لكنها في موقع أفضل من qtjambi

وبخصوص c++ و QT فأعتقد أن بناء برامج سطح المكتب بلغة ليس بها مجمع نفايات

مضيعة للوقت والجهد و قد ولى زمنه إلى غير رجعة .

دمت بود

تم تعديل هذه المشاركة بواسطة log.txt في 22 يوليو 2011 في 21:46

#17
log.txt كتب:

منصة بالإنجليزية تعني platform

بينما frame يعني إطار

و tab يعني لسان تبويب

وكان الأفضل أن تنزلي السؤال في موضوع مستقل.

اشكرك واعتذر للتطفل على موضوعك ..

#18
اقتباس
عارض صفحات الـ HTML محدود جداً يدعم فقط 3.2 و بدون جافاسكربت و الدعم الضعيف لـ CSS

ممكن استخدام أي مكتبة لأخرى ، مثلاً:

http://djproject.sourceforge.net/ns/

لديها web broswer ممتاز جداً.. كنت قد استخدمته لعمل render لبعض الصفحات والرسائل.. )

بالنسبة لمشكلة الأداء حين وجود نصوص كثيره على text area ، فهذا قد يرجع لمشكلة الذاكرة حيث قد تكون امتلئت لذلك يمكنك زيادة حجم الذاكرة من VM وقت تشغيل البرنامج.

اقتباس
وبخصوص c++ و QT فأعتقد أن بناء برامج سطح المكتب بلغة ليس بها مجمع نفايات

مضيعة للوقت والجهد و قد ولى زمنه إلى غير رجعة .

بالنسبة للQt فالمكونات فيها مبنية بأسلوب parent-child model بحيث لو انتهي مجال الأب سوف يتم هدم جميع الكائنات الأبناء ، وفقط كل ما عليك هو ربط الأبناء بالكائن الأب،، وعندما ينتهي الأب سوف يتم هدم الباقين ..

بالنسبة لحلول الGUI الأخرى في جافا خصوصاً اذا كان المشروع الذي تعمل به كبيراً ،فأنصحك النظر لNetbeans RCP و Eclipse RCP ،، انظر للهذه البرامج كلها مكتوبه بهذه الplatform:

http://netbeans.org/features/platform/showcase.html

netbeans plaftorm مكتوبة فوق swing وتوفر لك الكثير من المميزات التي يتحلى بها أي IDE محترم (Multiview. highlighter, runtime extending ) وغيرها كثير من الخصائص .. كثير جدا من البرامج الطبية وبرامج المحاكاه مبنية بهذه البيئة ، الرابط السابق يفي بالغرض ..

مشكلة الswing -والتي يقع فيها المبرمجين المبتدئين والمتوسطين أيضاً- هي التداخل بين الكلاسات وواجهات المستخدم وو والبرنامج سوف يكون معتمد كثيراً على بعضه بعض مما يصعب التعديل في مكان واحد بدون اجراء تعديلات كثيره هنا وهناك.

الRCP بشكل عام ، مبنية على فهم تقسيم برنامجك الى وحدات modular وداخل كل واحدة من هذه الموديول سوف تضع الكلاسات وواجهات المستخدم المتعلقة بهذا المودويل،، بالطبع قد تكون متداخله هنا أيضاً ولكنها على أقل تقدير محصورة في موديل واحد، ويمكن تحسينه refactoring لاحقاً أو حتى تغييره بالكامل ولكن لن يؤثر على بقية الموديلات في المشروع ..

المشكلة الوحيدة فيها أنها تتطلب وقتاً للتعلم learning curve ، فاذا كان لديك الوقت لتعلم مفاهيم الmodular programming and osgi، فانطلق بالRCP مباشره حيث ستوفر عليك الكثير ريثما تتمكن منها..

بالنسبة لمشاكل اللغه العربية في swing، هناك كثير من المشاكل واجهها الأعضاء سابقاً وتم حلها، اللهم الا عنوان النافذه لا يمكن تحويله من اليمين لليسار فقط ..

فاذا كان هناك مشاكل أخرى فيمكن طرحها ربما تكون حلولها معروفة ..

بالتوفيق،

2

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#19

أخي Wajdy Essam

شكراً جزيلاً لك

#20

جميل مشروع DJ ولكنه SWT-based implementation

وهذه من الموقع

اقتباس

Note: the Webstart demo is configured to work on Windows, Linux and Mac. On Linux (GTK, x86/i386), XULRunner may have to be installed (see the SWT FAQ).

اى عدنا الى نقطة المحمولية portability

------

لم اكن اعلم ان نوكيا تخلت عن تطوير Qtjambi لانى بالاساس لا اتعامل بها

افضل استخدام QT مباشرة مع ++c

اقتباس

وبخصوص c++ و QT فأعتقد أن بناء برامج سطح المكتب بلغة ليس بها مجمع نفايات

مضيعة للوقت والجهد و قد ولى زمنه إلى غير رجعة .

QT تملك ململم نفايات garbage collector اقوى منه فى جافا فهى تستخدم طريقة ++C للتعامل مع الذاكرة pointers ,references

يتم ارسال الاب parent فى المنشئ constructor لكل كائن ابن child وعند استدعاء الهادم للاب destructor تستخدم delete operator

او destructor لكل عنصر من قائمة الابناء لانهائها قبل انهاء الاب

اعتقد الزمن القادم ل qt لما تقدمه من مميزات السرعة والمحمولية والسهولة ولازالت حتى الان مفتوحة المصدر

مركز قوة الجافا فى ال enterprise applications

لو انى وجدت بديلا ل Hibernate , Jasper report مع QT لاستخدمتها لكل مشاريع سطح المكتب بلا منافس

اقتباس

مشكلة الswing -والتي يقع فيها المبرمجين المبتدئين والمتوسطين أيضاً- هي التداخل بين الكلاسات وواجهات المستخدم وو والبرنامج سوف يكون معتمد كثيراً على بعضه بعض مما يصعب التعديل في مكان واحد بدون اجراء تعديلات كثيره هنا وهناك.

هذه خلاصة القول :) ففصل طبقة العرض عن منطق البرنامج يوفر سرعة كبيرة للمستخدم النهائى end user

سواء مع swing او غيرها

دمت بود

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 24 يوليو 2011 في 16:48


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#21

أخي محمد بالفعل من أروع الأشياء في الجافا وأخواتها هي أدوات الـ persistence و databinding وغيره

ولي تجربة لبناء برامج سطح مكتب بواسطة c و gtk وهي تستخدم reference counting لتسهيل أمور

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

دمت بود

#22
اقتباس

وبناء برامج بها يستغرق أضعاف الوقت مقارنة بالجافا وهذا عن تجربة.

اذا نصيحة منى جرب QT هى سريعة التطوير RAD اسرع من الجافا

انهى مشروعى الحالى وانقله الى QT بعدها مباشرة وسابحث عن بديل للتقارير jasper

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#23

لا أعرف أحد قام بناء databinding JRE غير أوراكل في ADF

هل هناك آخرين؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#24
علاء الصالحي كتب:

لا أعرف أحد قام بناء databinding JRE غير أوراكل في ADF

هل هناك آخرين؟

تحياتي

مكتبات لربط برامج سطح المكتب:

http://kenai.com/projects/betterbeansbinding/pages/Home

http://code.google.com/p/beanfabrics/

http://www.java.net/project/beans-binding

http://wiki.eclipse.org/JFace_Data_Binding

دمت بود

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…