السلام عليكم ورحمة الله وبركاته
أنا إسمي : مصعب مصطفى
لدي شغف بتصميم وبرمجة المواقع الإلكترونية خاصة البرمجة منها
تعلمت html ثم إنتقلت إلى css بعدها css3 ثم بدايات الjavascript بعدها jquery ثم bootstrap
بعدها إنتقلت إلى البرمجة php ثم mysql
وحابب وبشدة أن أبدأ في أعمالي الخاصة على الويب لكني أريد عمل موقع إلكتروني بدون ريلود لصفحات الموقع
فقرأت عن الأجاكس وبدأت أبحث عنها وجدتها بالفعل تحقق الغرض اللي أنا عايزو بالضبط لكن سمعت عن أنو ليها عيوب أنو بتعمل تحميل على الموقع لكن رغم ذلك سمعت أن عليها إقبال كبير بعد طول بحث قررت أبدأ بتعلمها
أسئلتي
هل بتصلح للعمل في حالة مواقع بعدد مستخدمين كبير؟
ثانيا : سمعت أنو الأجاكس مبنية على javascript وxml إذا نصحتوني بتعلمها فهل أنا محتاج أتعمق في الجافاسربت وأتعلم xml حتى أبدأ ؟
أخيرا : هل الجيكويري حتنفعني في الموضوع ؟
آسف كونو أطلت عليكم لكن بالجد أنا حائر أرجو أي إفادة
بالنسبة ل XML، الموضوع يعتمد على شكل البيانات التي يرد بها السيرفر عند الطلب. قد تكون XML أو JSON أو غير ذلك.
شكرا على الإفادة
الpromises و fetch هي من مكونات الأجاكس صح
أيش المصادر اللي بتنصحني بيها حتى أبدأ في الأجاكس كتير من الأخوة بارك الله فيهم بينصحو بشبكة عبدالله عيد
لكن أنا اطلعت عليها الشرح مميز جدا لكن نوعا ما قديم وبتمنى تدلني على بدائل أخرى
الصراحة لا أعلم إن كان مصطلح "أجاكس" يحدك بمكونات معينة. لكن الفكرة الأساسية والتي تتحقق بتغير المكونات هي طلب بيانات من السيرفر وعرضها دون الحاجة لتحديث الصفحة.
ما دخل fetch وpromises؟
طلب البيانات من السيرفر يتم باستخدام fetch (وسابقا XMLHttpRequest).
البيانات المطلوبة لن تصل مباشرة. في الوضع العادي، هذا يعني أن البرنامج سينتظر حتى تنتهي العملية فيتجمد الموقع طول فترة الطلب. الأفضل (وهذا الحاصل) أن تكون عملية الطلب غير متزامنة (asynchronous، عكس synchronous)، فيستمر البرنامج بالعمل ثم نتعامل مع نتيجة الطلب (فشل أو نجح) حال انتهائه دون أن يتوقف برنامجنا انتظارا للنتيجة. fetch يستخدم promises للتعامل مع العمليات غير المتزامنة (توجد طرق أخرى بينها: events وcallbacks). التعود على البرمجة مع عمليات غير متزامنة قد يأخذ بعض الوقت.
بالنسبة للمصادر: إن كنت تقرأ بالانجليزية، أنا عادة أرجع إلى توثيق موزيلا MDN ونادرا لإرشادات جوجل للمطورين. وإذا كنت أستخدم إطار عمل أرجع إلى توثيقه.
لا أعرف مصادر أخرى. وربما يفيدك شخص آخر أكثر إطلاعا.
استخدام fetch وpromises بسيط نسبيا. المعضلة في التنسيق بين كود الطلب وبقية الكود (مثل كود الواجهة، خاصة إذا تعقد الموقع) والتعامل بأناقة مع الفترة بين الطلب والرد ومع حالة فشل الطلب. هذه مشكلة تصميم تعتمد على تنظيم الكود. إن لم تستخدم إطار عمل (مثل Vue.js, React) عليك إيجاد حل بنفسك. إن استخدمت إطار عمل، فالحل يعتمد على النمط الذي يتبناه إطار العمل وسيغنيك عن بعض العبء (مع ذلك أنصح ببرمجة موقع بدون إطار عمل حتى تفهم المشكلة وما يقدمه لك إطار العمل).
التعليقات