مجموعة أدوات جوجل للويب
مجموعة أدوات جوجل للويب ( GWT / ˈɡwɪt / ) ، أو GWT Web Toolkit ، [ 1 ] هي مجموعة أدوات مفتوحة المصدر تُمكّن مطوري الويب من إنشاء تطبيقات واجهة أمامية مكتوبة بلغة جافا سكريبت وصيانتها . وهي مرخصة بموجب رخصة أباتشي 2.0 . [ 2 ]
يدعم GWT مهام تطوير الويب المختلفة، مثل استدعاءات الإجراءات البعيدة غير المتزامنة ، وإدارة السجل، ووضع الإشارات المرجعية ، وتجريد واجهة المستخدم ، والتدويل ، وقابلية النقل عبر المتصفحات .
تاريخ
تم إصدار GWT الإصدار 1.0 RC 1 في 16 مايو 2006. [ 3 ] أعلنت جوجل عن GWT في مؤتمر JavaOne في عام 2006. [ 4 ]
| يطلق | تاريخ |
|---|---|
| GWT 1.0 | 17 مايو 2006 |
| GWT 1.1 | 11 أغسطس 2006 |
| GWT 1.2 | 16 نوفمبر 2006 |
| GWT 1.3 | 5 فبراير 2007 |
| GWT 1.4 | 28 أغسطس 2007 |
| GWT 1.5 | 27 أغسطس 2008 |
| GWT 1.6 | 7 أبريل 2009 |
| GWT 1.7 | 13 يوليو 2009 |
| GWT 2.0 | 8 ديسمبر 2009 |
| GWT 2.1.0 | 19 أكتوبر 2010 |
| GWT 2.2.0 | 11 فبراير 2011 |
| GWT 2.3.0 | 3 مايو 2011 |
| GWT 2.4.0 | 8 سبتمبر 2011 |
| GWT 2.5.0 | أكتوبر 2012 |
| GWT 2.5.1 | مارس 2013 |
| GWT 2.6.0 | 30 يناير 2014 |
| GWT 2.6.1 | 10 مايو 2014 |
| GWT 2.7.0 | 20 نوفمبر 2014 |
| GWT 2.8.0 | 20 أكتوبر 2016 |
| GWT 2.8.1 | 24 أبريل 2017 |
| GWT 2.8.2 | 19 أكتوبر 2017 |
| GWT 2.9.0 | 2 مايو 2020 |
| GWT 2.10.0 | 9 يونيو 2022 |
| GWT 2.11.0 | 9 يناير 2024 |
| GWT 2.12.0 | 29 أكتوبر 2024 |
| GWT 2.12.1 | 12 نوفمبر 2024 |
| GWT 2.12.2 | 3 مارس 2025 |
| GWT 2.13.0 | 11 فبراير 2026 |
في أغسطس 2010، استحوذت جوجل على شركة Instantiations، [ 5 ] وهي شركة معروفة بتركيزها على أدوات تطوير جافا Eclipse، بما في ذلك GWT Designer، والتي يتم تضمينها الآن مع Google Plugin for Eclipse .
في عام ٢٠١١، ومع إطلاق لغة البرمجة دارت ، صرّحت جوجل بأن دعم GWT سيستمر في المستقبل المنظور، مع التلميح إلى إمكانية تقارب بين منهجي جوجل في برمجة الويب المهيكلة. ومع ذلك، أشارت أيضًا إلى أن العديد من المهندسين الذين عملوا سابقًا على GWT يعملون الآن على دارت . [ ٦ ]
في عام ٢٠١٢، أعلنت جوجل خلال مؤتمرها السنوي I/O عن تحويل GWT من مشروع خاص بها إلى مشروع مفتوح المصدر بالكامل. [ ٧ ] وفي يوليو ٢٠١٣، نشرت جوجل على مدونتها الخاصة بـ GWT أن عملية التحويل إلى مشروع مفتوح المصدر قد اكتملت. [ ٨ ]
التطوير باستخدام GWT
باستخدام GWT، يتمكن المطورون من تطوير تطبيقات Ajax وتصحيح أخطائها بلغة Java باستخدام أدوات تطوير Java التي يختارونها. عند نشر التطبيق، يقوم مُترجم GWT المتقاطع بترجمة تطبيق Java إلى ملفات JavaScript مستقلة، والتي يمكن تشفيرها وتحسينها بشكل كبير. عند الحاجة، يمكن أيضًا تضمين JavaScript مباشرةً في كود Java باستخدام تعليقات Java. [ 9 ]
توفر GWT أدوات لبناء وظائف جافا سكريبت من جانب العميل بالتزامن مع برمجة واجهة المستخدم، تاركةً القرارات المعمارية للمطور. يوضح بيان مهمة GWT [ 10 ] التقسيم الفلسفي لدور GWT مقابل دور المطور. يُعد سجل التصفح مثالًا على ذلك: فمع أن GWT يدير رموز سجل التصفح عندما ينقر المستخدمون على زر الرجوع أو التقدم في المتصفح، إلا أنه لا يوضح بالتفصيل كيفية ربط رموز سجل التصفح بحالة التطبيق.
يمكن تشغيل تطبيقات GWT في وضعين:
- وضع التطوير (كان يُعرف سابقًا بالوضع المُستضاف ): يعمل التطبيق كشفرة بايت جافا داخل آلة جافا الافتراضية (JVM). [ 11 ] يُستخدم هذا الوضع عادةً للتطوير، حيث يدعم التبديل السريع للشيفرة وتصحيح الأخطاء. في عام 2014، أصبح تطبيق وضع التطوير التقليدي غير قابل للاستخدام بسبب تحديثات المتصفح [ 12 ] [ 13 ] إلى أن تم استبداله بوضع التطوير الفائق الأكثر توافقًا ، والذي أصبح الوضع الافتراضي في GWT 2.7. [ 14 ]
- وضع الإنتاج ( وضع الويب سابقًا ): يتم تشغيل التطبيق باستخدام جافا سكريبت وHTML فقط، مُجمّعة من مصدر جافا. يُستخدم هذا الوضع عادةً للنشر.
تتوفر العديد من الإضافات مفتوحة المصدر لتسهيل تطوير تطبيقات GWT باستخدام بيئات التطوير المتكاملة الأخرى ، بما في ذلك GWT4NB [ 15 ] لـ NetBeans ، وCypal Studio for GWT [ 16 ] ( إضافة لـ Eclipse )، وGWT Developer لـ JDeveloper . تتولى إضافة Google لـ Eclipse معظم المهام المتعلقة بـ GWT في بيئة التطوير المتكاملة، بما في ذلك إنشاء المشاريع، وتشغيل مُصرّف GWT، وإنشاء إعدادات تشغيل GWT، والتحقق من صحة الكود، وتمييز الصيغة .
عناصر
تشمل المكونات الرئيسية لـ GWT ما يلي:
- مترجم جافا إلى جافا سكريبت GWT [ 17 ] [ 18 ]
- يترجم لغة برمجة جافا إلى لغة برمجة جافا سكريبت.
- وضع تطوير GWT
- يُمكّن هذا الوضع المطورين من تشغيل تطبيقات GWT وتنفيذها في وضع التطوير (حيث يعمل التطبيق بلغة Java في JVM دون الحاجة إلى ترجمته إلى JavaScript). قبل الإصدار 2.0، كان وضع الاستضافة في GWT يوفر متصفحًا مُستضافًا مُخصصًا لتصحيح أخطاء كود GWT. أما في الإصدار 2.0، فتُعرض صفحة الويب التي يتم تصحيح أخطائها داخل متصفح عادي. يدعم وضع التطوير استخدام إضافة برمجية أصلية تُسمى إضافة مطوري Google Web Toolkit للعديد من المتصفحات الشائعة.
- مكتبة محاكاة JRE
- تطبيقات جافا سكريبت للفئات الشائعة الاستخدام في مكتبة فئات جافا القياسية (مثل معظم فئات حزمة java.lang ومجموعة فرعية من فئات حزمة java.util).
- مكتبة فئات واجهة المستخدم الرسومية GWT
- مجموعة من الواجهات والفئات المخصصة لإنشاء الأدوات .
سمات
- مكونات واجهة المستخدم الديناميكية والقابلة لإعادة الاستخدام : تقوم الفئات المدمجة بتنفيذ سلوكيات ديناميكية مثل السحب والإفلات أو هياكل الشجرة المرئية المعقدة. [ 19 ]
- آلية RPC بسيطة
- إدارة سجل المتصفح
- دعم تصحيح أخطاء جافا [ 4 ]
- تتولى GWT معالجة بعض مشكلات التوافق بين المتصفحات للمطور. [ 4 ]
- تكامل اختبار الوحدة
- دعم التدويل والتوطين
- دعم HTML Canvas (رهنًا بتغييرات واجهة برمجة التطبيقات) [ 20 ]
- يمكن للمطورين دمج جافا سكريبت المكتوبة بخط اليد في كود جافا المصدر باستخدام واجهة جافا سكريبت الأصلية (JSNI).
- دعم استخدام واجهات برمجة تطبيقات جوجل في تطبيقات GWT (في البداية، دعم جوجل جيرز ).
- مفتوح المصدر
- يمكن تطوير التطبيقات باستخدام بنية كائنية التوجه في جافا، [ 19 ] مما يسمح باكتشاف مشكلات جافا سكريبت الشائعة مثل الأخطاء الإملائية وعدم تطابق الأنواع في وقت الترجمة.
- يمكن تجميع جافا سكريبت المُولَّدة بتنسيق غير مُشفَّر (مُرتبط بالمصدر أو شفرة المصدر) أو بتنسيق مُشفَّر ومضغوط. [ 19 ]
- تتوفر العديد من المكتبات لـ GWT، من جوجل وجهات خارجية. تعمل هذه المكتبات على توسيع ميزات مجموعة الأدوات. [ 19 ]
الأدوات المتاحة
ابتداءً من الإصدار 2.4 (سبتمبر 2011)، توفر مجموعة أدوات جوجل للويب العديد من الأدوات المصغّرة [ 21 ] واللوحات. [ 21 ]
| الأدوات | ألواح |
|---|---|
| زر | لوحة منبثقة |
| زر ضغط | لوحة التجميع |
| زر الراديو | لوحة تخطيط مكدسة |
| مربع اختيار | لوحة أفقية |
| منتقي التاريخ | لوحة عمودية |
| زر التبديل | لوحة التدفق |
| مربع نص | لوحة تقسيم عمودية |
| مربع نص كلمة المرور | لوحة تقسيم أفقية |
| منطقة نصية | لوحة التخطيط المنقسمة |
| رابط تشعبي | لوحة الإرساء |
| قائمة مربعات | لوحة تخطيط الإرساء |
| قائمة الخلايا | لوحة التبويب |
| شريط القوائم | لوحة تخطيط علامات التبويب |
| شجرة | لجنة الإفصاح |
| شجرة الخلية | |
| صندوق الاقتراحات | |
| RichTextArea | |
| طاولة مرنة | |
| شبكة | |
| سيل تيبل | |
| متصفح الهاتف | |
| شريط علامات التبويب | |
| مربع الحوار |
تم تنفيذ العديد من الأدوات الشائعة غير الموجودة في GWT في مكتبات خارجية.
استخدام المؤسسات
يستخدم GWT أو يدعم Java و Apache Tomcat (أو حاوية ويب مشابهة) وبيئة تطوير Eclipse المتكاملة و Internet Explorer ، [ 22 ] بالإضافة إلى دعم التدويل والترجمة . يمكن اختبار تطبيقات الويب الغنية المبنية على GWT باستخدام إطار عمل JUnit وأدوات تغطية التعليمات البرمجية. يوفر GWT التحقق من الصور وCSS ومنطق الأعمال أثناء الترجمة لاكتشاف أخطاء التنفيذ أثناء التطوير.
أشارت جوجل إلى أن بعض منتجاتها تعتمد على GWT: [ 23 ] Blogger ، AdWords ، Flights ، Wallet ، Offers ، Groups ، Inbox . [ 24 ]
GWT 2.0
في 8 ديسمبر 2009، أطلقت جوجل مجموعة أدوات الويب جوجل 2.0 مع أداة تتبع السرعة. [ 25 ]
يقدم الإصدار 2.0 من GWT عددًا من الميزات الجديدة، [ 26 ] بما في ذلك:
- وضع التطوير داخل المتصفح (المعروف سابقًا باسم وضع الاستضافة خارج العملية، OOPHM): قبل الإصدار 2.0، كان يُستخدم وضع الاستضافة لتضمين متصفح مُعدّل يسمح بتشغيل نسخة بايت كود التطبيق أثناء التطوير. مع الإصدار 2.0، يُتيح وضع الاستضافة، الذي أُعيدت تسميته إلى "وضع التطوير"، استخدام أي متصفح (مدعوم) لعرض الصفحة التي يتم تصحيحها من خلال استخدام إضافة للمتصفح. تتواصل الإضافة مع واجهة سطر أوامر وضع التطوير باستخدام بروتوكول TCP/IP، مما يسمح بتصحيح الأخطاء عبر منصات متعددة (على سبيل المثال، تصحيح الأخطاء في متصفح إنترنت إكسبلورر على نظام ويندوز من واجهة سطر أوامر وضع التطوير التي تعمل على جهاز يعمل بنظام لينكس).
- تقسيم الكود: عندما يُحدد المطور "نقاط تقسيم" في الكود المصدري، يستطيع مُصرّف GWT تقسيم كود جافا سكريبت إلى عدة أجزاء صغيرة بدلاً من تنزيله دفعة واحدة. سيؤدي ذلك إلى تقليل وقت بدء تشغيل التطبيق نظرًا لانخفاض حجم التنزيل الأولي.
- واجهة المستخدم التصريحية: باستخدام تنسيق XML، تتيح الميزة الجديدة المعروفة باسم UiBinder إنشاء واجهات المستخدم من خلال التصريح بدلاً من كتابة التعليمات البرمجية. وهذا يسمح بفصل واضح بين بناء واجهة المستخدم وتنفيذ سلوكها.
- تجميع الموارد: ستتيح واجهة ClientBundle تجميع الموارد من أي نوع (الصور، CSS، النصوص، الملفات الثنائية) ونقلها في عملية تنزيل واحدة، مما يؤدي إلى تقليل عدد الرحلات ذهابًا وإيابًا إلى الخادم وبالتالي تقليل زمن استجابة التطبيق.
بما أن وضع التطوير الجديد قد أزال معظم التعليمات البرمجية الخاصة بالمنصة، فسيتم توزيع الإصدار الجديد كأرشيف فريد، بدلاً من أرشيف واحد لكل منصة مدعومة، كما كان الحال مع الإصدارات السابقة.
متحرك
باعتبارها إطار عمل عامًا لتطوير تطبيقات الويب، يمكن استخدام Google Web Toolkit أيضًا كإطار عمل لإنشاء تطبيقات الهواتف المحمولة والأجهزة اللوحية، إما عن طريق إنشاء الأدوات والرسوم المتحركة اللازمة من الصفر أو باستخدام أحد أطر عمل الأجهزة المحمولة الخاصة بـ GWT. ويمكن لتطبيق HTML5 المكتوب باستخدام GWT أن يحتوي على واجهات عرض منفصلة للأجهزة اللوحية والهواتف المحمولة.
انظر أيضاً
مراجع
- ↑ "سياسة استخدام اسم GWT" . تم الاطلاع عليها بتاريخ 23 أبريل 2014 .
- ↑ "معلومات ترخيص مجموعة أدوات جوجل للويب" . 23 فبراير 2007. تم الاطلاع عليه في 25 سبتمبر 2007 .
- ↑ "أرشيف إصدارات مجموعة أدوات جوجل للويب" . تم الاطلاع عليه في 25 سبتمبر 2007 .
- 1 2 3 أولسون، ستيفن دوغلاس (2007). أجاكس على جافا . أورايلي. ص 183. ISBN 978-0-596-10187-9.
- ↑ رامسديل، كريس. "جوجل تعيد إطلاق أدوات مطوري المثيلات" .
- ↑ "مدونة أدوات جوجل للويب: GWT و Dart" . Googlewebtoolkit.blogspot.com. ١٠ نوفمبر ٢٠١١. تم الاطلاع عليه في ١٦ يونيو ٢٠١٣ .
- ↑ فادين تدعم تطوير أدوات جوجل للويب (GWT) . vaadin.com (29 يونيو 2012). تاريخ الاطلاع: 15 مايو 2014.
- ↑ مدونة أدوات جوجل للويب: أخبار أدوات جوجل للويب . Googlewebtoolkit.blogspot.com (15 يوليو 2013). تاريخ الاطلاع: 15 مايو 2014.
- ↑ "أساسيات البرمجة - واجهة جافا سكريبت الأصلية (JSNI) - مجموعة أدوات جوجل للويب - مطورو جوجل" . شركة جوجل، 25 أكتوبر 2012. تم الاطلاع عليه في 16 يونيو 2013 .
- ↑ بيان مهمة GWT
- ↑ تصحيح الأخطاء في وضع التطوير
- ↑ "لن يتم دعم وضع المطورين في فايرفوكس 27 والإصدارات الأحدث" . google-web-toolkit@googlegroups.com (قائمة بريدية).
- ↑ "لم يعد مُلحق مطوري GWT يعمل مع متصفح Chrome على نظام Linux" . google-web-toolkit@googlegroups.com (قائمة بريدية).
- ↑ "وضع المطور الخارق" .
- ↑ GWT4NB
- ↑ Cypal Studio لـ GWT
- ↑ "com.google.gwt.dev.Compiler" . GitHub .
نقطة الدخول الرئيسية للملف التنفيذي لمترجم GWT من جافا إلى جافا سكريبت.
- ↑ "com.google.gwt.dev.jjs.JavaToJavaScriptCompiler" . GitHub .
قاعدة للفئات التي تُحوّل
تمثيلات Java إلى مصدر JS المقابل.
JProgram - 1 2 3 4 بيري، بروس دبليو (2007). مجموعة أدوات جوجل للويب لتقنية أجاكس . اختصارات أورايلي. أورايلي. الصفحات 1-5 . ISBN 978-0-596-51022-0.
- ↑ "GWT Javadoc Canvas" .
- 1 2 "قائمة الأدوات" . شركة جوجل . تم الاسترجاع في 21 مايو 2012 .
- ↑ مشروع GWT . مشروع GWT. تم الاطلاع عليه بتاريخ 15 مايو 2014.
- ↑ "مؤتمر جوجل I/O 2012 - تاريخ ومستقبل مجموعة أدوات جوجل للويب" . مطورو جوجل. 10 يوليو 2012. تم الاطلاع عليه في 18 مارس 2013 .
- ↑ توباسي، غاريك. "التعمق في نظام البريد الوارد" . مدونة جيميل الرسمية . تم الاطلاع عليه بتاريخ 22 نوفمبر 2014 .
- ↑ نقدم لكم Google Web Toolkit 2.0، الآن مع Speed Tracer
- ^ "إعلان GWT 2.0 المهم 1" . أميت مانجي . تم الاسترجاع 5 أكتوبر، 2009 .
فهرس
- ديوسبري، رايان (15 ديسمبر 2007). تطبيقات مجموعة أدوات جوجل للويب . برنتيس هول . ص 608. ISBN 978-0-321-50196-7.
- تشاجانتي ، برابهاكار (15 فبراير 2007). مجموعة أدوات الويب من Google: برمجة GWT Java Ajax . نشر الحزمة . ص. 248. ردمك 978-1-84719-100-7أُرشف من الأصل في 30 أبريل 2011. تم الاطلاع عليه في 24 أبريل 2009 .
- جيري، ديفيد (17 نوفمبر 2007). حلول مجموعة أدوات جوجل للويب: المزيد من الأشياء الرائعة والمفيدة . برنتيس هول . ص 408. ISBN 978-0-13-234481-4.
- هانسون، روبرت؛ آدم تاسي (7 فبراير 2013). GWT في العمل ( الطبعة الثانية). مانينغ . ص 643. ISBN 978-1-935182-84-9.
- كوبر ، روبرت؛ تشارلي كولينز (12 مايو 2008). نظرية الوزن الثقيل في الممارسة . مانينغ . ص 376. ISBN 978-1-933988-29-0.
- برنامج جوجل
- جافا (منصة برمجية)
- مكتبات جافا سكريبت
- أطر عمل تطبيقات الويب الغنية
- برنامج يستخدم ترخيص أباتشي
- برامج تطوير مواقع الويب
