السلام عليكم ورحمة الله وبركاته ,,
لدي الآن مشروع لبرنامج سطح مكتب ولعدة أسباب ليس المجال مناسبا لذكرها بدت الجافا هي الأنسب
SWT تبدو جيدة لكن أتمنى سماع ملاحظات و آراء من استخدمها خاصة في دعم العربية و تعدد المنصات؟
دمتم بود
السلام عليكم ورحمة الله وبركاته ,,
لدي الآن مشروع لبرنامج سطح مكتب ولعدة أسباب ليس المجال مناسبا لذكرها بدت الجافا هي الأنسب
SWT تبدو جيدة لكن أتمنى سماع ملاحظات و آراء من استخدمها خاصة في دعم العربية و تعدد المنصات؟
دمتم بود
لا تدعم ال MDI بسهوله ...
غير ذلك فهي جميله ...
لكن ما هي أسبابك لعدم إستخدام SWING ؟
هويدي كتب:لا تدعم ال MDI بسهوله ...
غير ذلك فهي جميله ...
الـ MDI إن شاء الله تغني التبويبات عنها.
لكن سمعت أن خيار قلب الواجهة لجعلها من اليمين إلى اليسار غير مدعوم على نظام iOS هل هذا صحيح؟
أيضاً هناك أمور بسيطة كأوامر تلوين الأزارير تعمل على بعض الأنظمة دون غيرها.
وعدم وجود أوامر لتنفيذ وظائف بسيطة كأمر تغيير تريب التبويبات.
هل هذا صحيح؟
لكن ما يهم هو عوارض الجداول والأشجار و القوائم هل لك تجربة معها؟
هويدي كتب:لكن ما هي أسبابك لعدم إستخدام SWING ؟
مثلاً عارض صفحات الـ HTML محدود جداً يدعم فقط 3.2 و بدون جافاسكربت و الدعم الضعيف لـ CSS
واجهة مشاكل في الأداء خاصة عملية تصير النصوص طويلة في JTextPane.
أيضاً بعض الوظائف الأساسية كشجرة اختيارات (check tree) أو قائمة اختيارات (check list) غير موجودة
وهناك بعض المنغصات البسيطة كأشرطة التمرير في الأشجار والقوائم تجدها دائماً مزاحة إلى جهة اليسار
فلا يظهر إلا نهاية الكلمات و المشكلة موجودة في bugzilla لها تقريباً 9 سنوات وحلها غير عملي.
علاء الصالحي كتب:ستخسر portability أيضاً
تحياتي
هل يمكنك أن توضح أكثر؟
مثلاً هل هناك أوامر معينة أو Control معين أو ماذا بالضبط
دمت بود
أخ log ..
من الواضح أن معلوماتك عن ال SWT أكثر من معلوماتى.. .فتجربتى معها كانت بسيطه ..
استخدم swing فى برامج desktop ولا توجد مشاكل
حاولت استخدام swt ولكن كما وضح الاخ علاء لكل بيئة تشغيل os مكتباتها الخاصة (portability)
اظن المشاكل يمكنك التغلب عليها بطرق مختلفة
ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
MOHAMED FATHEI كتب:ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة
بالنسبه للـ SwingX
تفضل
http://www.arabteam2...howtopic=208924
وهناك مجموعه انا كنت عاملهم مفتوحين المصدر
بالتوفيق
تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 21 يوليو 2011 في 22:36
MOHAMED FATHEI كتب:استخدم swing فى برامج desktop ولا توجد مشاكل
حاولت استخدام swt ولكن كما وضح الاخ علاء لكل بيئة تشغيل os مكتباتها الخاصة (portability)
اظن المشاكل يمكنك التغلب عليها بطرق مختلفة
ابحث عن المكونات التى تحتاجها على الانترنت ستجد ما يؤدى لك المهمة
استخدمت swing من قبل وعليها بعض الملاحظات
وخاصة الأداء.
وقلت لعل هناك بدائل أفضل.
يبدو أن النقاش انتهى قبل أن يبدأ
دمت بود
Mahmoud Kelany كتب:بالنسبه للـ SwingX
تفضل
وهناك مجموعه انا كنت عاملهم مفتوحين المصدر
بالتوفيق
شكراً لك.
الرابط الثاني أظنه غير صحيح
دمت بود
تم تعديل هذه المشاركة بواسطة log.txt في 21 يوليو 2011 في 21:22
log.txt كتب:يبدو أن النقاش انتهى قبل أن يبدأ
الرابط الثاني أظنه غير صحيح
ايه بس اللى انهى النقاش ؟؟؟؟
متاسف لم انتبه تم تعديل الرابط
Mahmoud Kelany كتب:ايه بس اللى انهى النقاش ؟؟؟؟
آسف يا باشا سامحني. :wink:
سؤال : ماهي المنصة بالانجلش؟
هل هي Frame OR Tab ؟
ماذا يطلق عليها باللغة الانجليزية ؟
وشكرا لكم
اقتباساستخدمت swing من قبل وعليها بعض الملاحظات
وخاصة الأداء.
وقلت لعل هناك بدائل أفضل.
يبدو أن النقاش انتهى قبل أن يبدأ
دمت بود
بالفعل هناك بدائل افضل لكن ليست swt جرب ان تتعامل مع qtjambi
والافضل ان كانت لديك خبرة متوسطة فى ++c ان تستخدم QT مباشرة مع ++c
مشكلة الاداء فى الجافا وليست فى swing
تحياتى
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
ســآرهـ كتب:سؤال : ماهي المنصة بالانجلش؟
هل هي Frame OR Tab ؟
ماذا يطلق عليها باللغة الانجليزية ؟
وشكرا لكم
منصة بالإنجليزية تعني platform
بينما frame يعني إطار
و tab يعني لسان تبويب
وكان الأفضل أن تنزلي السؤال في موضوع مستقل.
تم تعديل هذه المشاركة بواسطة log.txt في 22 يوليو 2011 في 21:24
MOHAMED FATHEI كتب:بالفعل هناك بدائل افضل لكن ليست swt جرب ان تتعامل مع qtjambi
والافضل ان كانت لديك خبرة متوسطة فى ++c ان تستخدم QT مباشرة مع ++c
مشكلة الاداء فى الجافا وليست فى swing
تحياتى
أنت تعلم أن نوكيا تخلت عن qtjambi وهو الآن في يد المجتمع وللأسف مجتمعهم صغير جداً جداً
أقصد في حالات طلب المساعدة أو حدوث أخطاء فلإنتظار سيكون بالأسابيع.
والبرامج التي بنيت عليها قليلة جداً فما تدري هل هناك مشاكل عويصة في إنتظارك ,,,
بالنسبة لswt فهناك eclipse و vuse وقد نختلف أو نتفق عليها لكنها في موقع أفضل من qtjambi
وبخصوص c++ و QT فأعتقد أن بناء برامج سطح المكتب بلغة ليس بها مجمع نفايات
مضيعة للوقت والجهد و قد ولى زمنه إلى غير رجعة .
دمت بود
تم تعديل هذه المشاركة بواسطة log.txt في 22 يوليو 2011 في 21:46
log.txt كتب:منصة بالإنجليزية تعني platform
بينما frame يعني إطار
و tab يعني لسان تبويب
وكان الأفضل أن تنزلي السؤال في موضوع مستقل.
اشكرك واعتذر للتطفل على موضوعك ..
اقتباسعارض صفحات الـ 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، هناك كثير من المشاكل واجهها الأعضاء سابقاً وتم حلها، اللهم الا عنوان النافذه لا يمكن تحويله من اليمين لليسار فقط ..
فاذا كان هناك مشاكل أخرى فيمكن طرحها ربما تكون حلولها معروفة ..
بالتوفيق،
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
أخي Wajdy Essam
شكراً جزيلاً لك
جميل مشروع 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
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
أخي محمد بالفعل من أروع الأشياء في الجافا وأخواتها هي أدوات الـ persistence و databinding وغيره
ولي تجربة لبناء برامج سطح مكتب بواسطة c و gtk وهي تستخدم reference counting لتسهيل أمور
إدارة الذاكرة, وبناء برامج بها يستغرق أضعاف الوقت مقارنة بالجافا وهذا عن تجربة.
دمت بود
اقتباسوبناء برامج بها يستغرق أضعاف الوقت مقارنة بالجافا وهذا عن تجربة.
اذا نصيحة منى جرب QT هى سريعة التطوير RAD اسرع من الجافا
انهى مشروعى الحالى وانقله الى QT بعدها مباشرة وسابحث عن بديل للتقارير jasper
تحياتى
﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾
الأنفال ۳۳
علاء الصالحي كتب:لا أعرف أحد قام بناء 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
دمت بود
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…