سؤال

وكنت أبحث في GWT. ويبدو لطيفا، ولكن برنامجنا لديهم عمل لا بد منه دون شرط JS. هل من الممكن؟

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

المحلول

لا، انها ليست كذلك. يوفر GWT مجموعة أدوات النوافذ التي تم تصميمها خصيصا لتشغيل على العميل، وليس على الخادم. سوف كود المتدهورة (على سبيل المثال غير جافا سكريبت) بحاجة لتقديم HTML كاملة إلى المتصفح، والتي GWT ببساطة لا تفعل. وتجمع كود جافا لملف جافا سكريبت التي يتم تسليمها إلى العميل ويبني UI التي كتبها DOM التلاعب على العميل. ثم هناك بعض التعليمات البرمجية للحديث مرة أخرى إلى الخادم، وبعض ضمنا، وبعض كتبه أنت نفسك. هذا النموذج لا تصلح جيدا لمهينة بأمان.

والطريقة الوحيدة لتحط بأمان إلى حد ما في توفير الثاني غير جافا سكريبت UI، أو استخدام أدوات أخرى لا تجعل الواجهة على العميل ولكن يسلم HTML. عذرا.

نصائح أخرى

هل يمكن أن تتحلل برشاقة من خلال إنشاء بنية HTML والتي هي مجرد "جيدة بما فيه الكفاية" (يحتوي على مشاركات النموذج، القوائم المرتبطة، الخ) ومن ثم قد GWT نعلق على كل جزء من هذا الهيكل، وزيادة سلوكها. على سبيل المثال، وجعل إسقاط HTML أسفل ديناميكية، استبدال رابط إلى صفحة أخرى مع المكون الذي يفتح العلبة الخفيفة، أو استبدال رابط إلى صفحة أخرى مع طلب XML HTTP أن تفعل نفس الشيء (على سبيل المثال الإدلاء بصوته).

ولقد فعلت ذلك عدة مرات للعملاء.

وانها في الطريق المعاكس أن معظم GWT يحصل المتقدمة، ولكنها يمكن أن تعمل.

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

وإنشاء بريد جوجل: مع GWT، يمكنك إنشاء EmailFormatter في حزمة المشتركة التي يقوم البريد الإلكتروني إدراج العلامات بحيث لا يكون خادمك ل. هل يمكن بعد ذلك إضافة دعم المتصفحات القديمة ( "نسخة قديمة") باستخدام نفس الفئة EmailFormatter على جانب الملقم.

والتحقق نموذج: بينما هو أمر ضروري للغاية من وجهة نظر الأمن للتحقق من جانب الملقم إدخال المستخدم، فمن أكثر ملاءمة بالنسبة لمعظم المستخدمين أن يكون جافا سكريبت تحقق نموذج قبل تقديمه. يمكنك استخدام نفس رمز جافا مع GWT للقيام بذلك.

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