ما هو أفضل مكان لبدء تعلم AJAX (لدي لغة Perl كواجهة خلفية) [مغلق]
-
01-07-2019 - |
سؤال
أقوم حاليًا بتطوير موقع ويب باستخدام CGI الأساسي لعرض الصفحات.أرغب في تغيير موقع الويب للحصول على واجهة (قراءة ديناميكية) أفضل.
ما هي التقنيات (إن لم تكن AJAX) و/أو البرامج التعليمية التي توصيني بها للبدء؟
المحلول
من الأفضل التعامل مع AJAX عن طريق التقاط ما يلي:
- ال لغة جافا سكريبت.
- فهم DOM.
- فهم XMLHttpRequest.
بمجرد حصولك على هذه الميزات، يمكنك اتخاذ قرار مستنير بشأن واجهات برمجة التطبيقات أو أطر العمل التي ترغب في استخدامها.الواجهة الخلفية لا تهم كثيرًا، لكنني أوصي باستخدامها JSON باعتباره البروتوكول الذي تختاره عبر XML.تحليل XML محفوف بالتناقضات التي ستتطلب اختراق التعليمات البرمجية للتغلب عليها.JSON أكثر وضوحًا.
انظر إجابتي على "هل قام أي شخص بالترحيل من Struts 1 إلى إطار ويب آخر؟" للمزيد من المعلومات.
نصائح أخرى
مصطلح "AJAX" مضلل بعض الشيء، ويمكن أن يسبب الارتباك بسهولة للأشخاص الذين يحاولون تعلمه.المصطلح نفسه لا ينطبق إلا على جلب البيانات أو إرسالها من الخادم بشكل غير متزامن (أي دون إعادة تحميل الصفحة)، ولكنه يميل إلى استخدامه لوصف أي نظام حديث يعتمد على جافا سكريبت.(في الواقع، حتى عندما تتحدث عن جلب البيانات أو إرسالها بشكل غير متزامن، فإن مصطلح "AJAX" ليس صحيحًا تمامًا - فقد تمت صياغته في الأصل ليعني "Javascript وXML غير المتزامنين"، ولكن معظم التطبيقات الحديثة تستخدم JSON بدلاً من XML ).
لذا، أظن أن ما تتحدث عنه حقًا هو "جافا سكريبت الحديث".يتضمن استخدام Javascript على موقع ويب (كما تمت الإشارة سابقًا) العديد من التقنيات ذات الصلة ولكن المتميزة، ومن المفيد جدًا عند البدء فهم ماهية هذه التقنيات وأين تبدأ وتنتهي وكيف تتفاعل.
أولاً لديك لغة جافا سكريبت نفسها.على الرغم من وجود العديد من التطبيقات، إلا أن هذا في الواقع بسيط نسبيًا، ولن تواجه صعوبة كبيرة في التقاط تركيبه.
ثم هناك DOM أو نموذج كائن المستند.هذه هي واجهة المتصفح المستندة إلى Javascript للصفحة نفسها.إن DOM في الواقع معقد إلى حد ما مقارنة بلغة Javascript، ومن المحتمل أن يكون المكان الذي تواجه فيه أكبر قدر من المشاكل (ليس أقله لأن DOM الذي توفره المتصفحات المختلفة يميل إلى أن يكون مختلفًا بمهارة).
من أجل البدء فعليًا في تعلم هذه الأشياء، أقترح أن تبدأ بالنظر إلى معالجة DOM الأساسية.تعرف على كيفية إنشاء العناصر ديناميكيًا باستخدام DOM، وكيفية تعيين الأحداث، وكيفية تفاعل التعليمات البرمجية الخاصة بك مع الصفحة، وما إلى ذلك.هناك عدد كبير من الموارد المتاحة على الويب للاطلاع عليها، والعديد من الكتب.كما ذكرنا، أورايلي جافا سكريبت:الدليل النهائي هو مورد ممتاز.إذا كنت تريد مصدر ويب موثوقًا به، فحاول موقع PPK.سوف ترغب أيضًا في التثبيت فايربوغ - إنه مفيد للغاية لتصحيح الأخطاء.كما أنها تمثل أداة تعليمية ممتازة، حيث يمكنك فتح وحدة التحكم و"اللعب" بأي صفحة تريدها.متصفح DOM وإكمال علامات التبويب يجعل الأمر سهلاً للغاية.
أنت استطاع ابدأ بالنظر إلى جافا سكريبت بشكل منفصل، ولكن الأمر بسيط بما فيه الكفاية بحيث يمكنك على الأرجح الحصول على كل ما تحتاجه بمجرد النظر إلى عدد قليل من الأمثلة.بدلاً من ذلك، أقترح عليك مع تقدمك، إعادة النظر في لغة جافا سكريبت نفسها.تعرف على النماذج الأولية للكائنات (وكيف تختلف عن فئات OOP التقليدية التي قد تكون معتادًا عليها.) يمكن أن تستغرق هذه المفاهيم بعض الوقت "للنقر" مع بعض الأشخاص، وليس هناك حاجة على الإطلاق إلى معرفتها عندما تكون في البداية، لذا أنصحك بتجاهلها في الوقت الحالي.
لاحظ أنني لم أذكر AJAX أو أي أطر عمل بعد - ستجدها كثيراً أسهل إذا كان لديك أساس أساسي في Javascript وDOM قبل تبدأ في النظر إلى الإطار.عندما يتعلق الأمر بمعالجة DOM، توفر هذه الأطر ببساطة "اختصارات" ووظائف مساعدة - إذا كنت لا تعرف ما الذي تفعله خلف الكواليس، فقد يكون من الصعب جدًا حل أي مشاكل.
أوصي أيضًا باستخدام إطار عمل للتعامل مع تعقيدات AJAX، لأنه ببساطة (على عكس معالجة DOM ومعالجة الأحداث) لا يوجد سبب وجيه لفهم تعقيدات XMLHttpRequest إلا إذا كنت تريد ذلك حقًا.دع إطار العمل يعتني به وبجميع مشكلات توافق المتصفح التي تنشأ.
حظ سعيد!
قد ترغب في التحقق من ذلك أتش تي أم أل::النموذج الأولي, مسج أو CGI :: اياكس
أقترح استخدام jQuery، وهو خفيف الوزن وسهل التعامل معه بسرعة، ومجتمع irc وweb رائع.بالنسبة لأياكس، الأمر سهل مثل $.ajax(url, callbackFn);- http://docs.jquery.com/Ajax
دروس جيدة في www.learningjquery.com
هناك الكثير من الإجابات الجيدة هنا حول تعلم AJAX (أو JavaScript/DOM) ككيان مستقل، ولكن وحدة CGI::AJAX من CPAN هي الطريقة الأسرع والأسهل لإعداد نفسك للحصول على صفحة ويب تستخدم AJAX لتحديث صفحة على -الذبابة باستخدام الواجهة الخلفية لبيرل.لا يتطلب الأمر معرفة بـ DOM، أو XML، أو JSON، أو أي لغة أخرى غير Perl، وقليلًا من HTML، وأقل تلميح لـ JavaScript.
كل ما عليك فعله هو تعيين معالج أحداث JavaScript (على سبيل المثال، onkeyup='...') لتحديد وظيفة Perl التي سيتم الاتصال بها والبيانات التي سيتم توفيرها كمدخلات وإنشاء div لتلقي المخرجات.سيتولى CGI::AJAX جميع الاتصالات بالخادم ومعالجة DOM نيابةً عنك من هناك.
أجد أن البرامج التعليمية لمدارس W3 تعد دائمًا مكانًا جيدًا للبدء قبل الانتقال إلى المزيد من البرامج التعليمية المتعمقة.
إذا كنت تريد حقًا أن تفهم ما تفعله، جافا سكريبت:الدليل النهائي يعد مرجعًا رائعًا لتعلم JavaScript ويحتوي على قسم مخصص لكيفية عمل XMLHttpRequest وما هي المخاوف المتعلقة بالمتصفحات المشتركة عند استخدامه.
بمجرد أن تتعرف على ذلك، فكر في استخدام إطار عمل مثل jQuery أو Prototype الذي يعتني بالعمل الشاق نيابةً عنك.
أود أن أوصي بالكتاب رئيس راش أياكس من رئيس المختبرات الأولى.
سوف يرشدك خلال عملية تعلم Ajax من الألف إلى الياء.
إنهم يقدمون الحد الأدنى من الافتراضات فيما يتعلق بما قد تعرفه أو لا تعرفه بالفعل.
يقوم المؤلف بعمل جيد في تقديم العناصر الأساسية لفهم AJAX واستخدامه.
يعتبر...
أفضل رهان لك هو البدء بمكتبة Javascript التي توفر واجهة معقولة لـ AJAX مثل Prototype.هناك الكثير من الموارد لتعلم أساسيات هذه المكتبات.على سبيل المثال: http://www.prototypejs.org/learn
ماذا عن تعلم مسج?
إذا كنت لا تتطلع إلى الغوص في الصواميل والمسامير بنفس القدر، فهناك واجهة تيبكو العامة.إنه مجاني ومفتوح المصدر ويعمل في Tomcat.GI هو IDE يستند إلى AJAX ويتم تشغيله في المتصفح ويستخدم لإنشاء مواقع AJAX.
أنا لا أعمل لدى TIBCO وأحاول فقط المساعدة.إذا كان عليك أن تدفع ثمن الأداة، فربما لم أكن لأقترح ذلك.
-ستيفن
أنظر أيضا باستخدام اياكس من بيرل من بيرل.كوم
حصلت على أول مقدمة لي عن AJAX (وجافا سكريبت، في هذا الصدد) من اياكس المأجورون مما وفر أساسًا جيدًا لفهم ما يدور حوله الأمر كله، وما يحدث خلف الكواليس في مكتبات "افعل ذلك من أجلك" التي يدفعها الجميع.