[{"data":1,"prerenderedAt":115},["ShallowReactive",2],{"article-\u002Farticles\u002F65929cc036f3360fc9566423":3},{"id":4,"title":5,"articleId":6,"body":7,"cover":96,"coverThumb":96,"created":97,"date":98,"description":99,"extension":100,"meta":101,"navigation":102,"path":103,"seo":104,"stem":105,"tags":106,"updated":113,"__hash__":114},"articles\u002Farticles\u002F65929cc036f3360fc9566423.md","أريد تَعلُّم بناء مواقع الإنترنت، من أين أبدأ؟","65929cc036f3360fc9566423",{"type":8,"value":9,"toc":90},"minimark",[10,14,17,20,23,26,29,32,35,38,49,52,55,58,61,64,67,70,73,78,81,84,87],[11,12,13],"p",{},"الحمد لله الذي علَّم بالقلم، علَّم الإنسان ما لم يعلم، والصلاة والسلام على خير معلِّم الناس الخير سيدنا محمد - صلَّى الله عليه وسلم … أما بعد ،،",[11,15,16],{},"منذ أن قمت بإنشاء صفحتى على فيسبوك في 2010 وهذا السؤال من أكثر الأسئلة التى وصلتنى على رسائل الصفحة، لذا أحب أن يكون هذا المقال من أول ما أضيفه على مدونتى.",[11,18,19],{},"قبل أى شئ يجب أن تسأل نفسك عن سبب رغبتك في تعلم هذه المهارة، وما الثمرة التي ستعود عليك من تعلمها، فالتغيير الحقيقي يبدأ من الاقتناع بالفكرة قبل البدء فيها بشكل فعلي، لأن مع أول صعوبة أو مشكلة ستواجهك أثناء التعلم - إن لم يكن لديك شغف وقناعة بالفكرة - ففي الغالب ستستسلم ولن تكمل ما بدأت .. لذا وجب التنويه !",[11,21,22],{},"بداية أحب أن أوضح معاني بعض المصطلحات، فمثلا الموقع الإلكترونى (Website) عبارة عن مجموعة الصفحات مثل أوراق الكتاب لكن تم تنفيذها في شكل إلكتروني وتم حفظها على جهاز يسمى الخادم (Server) وهو جهاز متصل بالإنترنت بشكل دائم ومتاح إرسال طلبات له من أى جهاز آخر متصل بشبكة الإنترنت.",[11,24,25],{},"والمستخدم عندما يزور الموقع الإلكتروني فهو فعليا يستخدم المتصفح (Browser) على جهازه كبرنامج تنزيل (Download) لملفات الموقع من الخادم، بحيث يقوم المتصفح بعرض هذه الملفات في صورة مفهومة للمستخدم يمكن التفاعل معها بناء على الأوامر التي سبق كتابتها وبرمجتها في هذه الملفات.",[11,27,28],{},"بناء على ما سبق فإن أول ما يجب أن تتعلمه هو لغة توصيف النصوص (HTML)، فلا يوجد موقع يخلو منها، ولأن بها يمكنك إضافة المحتوى لصفحات الموقع.",[11,30,31],{},"على الأقل تحتاج لتعلم كيفية إضافة النصوص والفقرات والعناوين، وكيف تضيف صورة أو جدول للصفحة، وكيف يمكنك عمل إرتباط تشعبي (Hyperlink) عن طريق رابط عند الضغط عليه بالماوس ينقلك إلى صفحة أخرى داخل الموقع أو إلى موقع آخر خارجي على الإنترنت.",[11,33,34],{},"بعد ذلك يجب أن تتعلم صفحات التنسيق النمطية (CSS - Cascading Style Sheets) لأنها المسئولة عن إضافة التنسيق والألوان للعناصر التى قمت بإضافتها للصفحة.",[11,36,37],{},"على سبيل المثال كيف تغير لون أو حجم النص المكتوب، وكيف تتحكم في قياس طول وعرض الصور المعروضة في الصفحة، وكيف تتحكم بالمسافات بين العناصر وبعضها داخل الصفحة، ومهم جدا أن تعرف كيفية تغيير تنسيق الصفحات عند عرضها على الأجهزة ذات المقاسات المختلفة للشاشات سواء موبايل او كمبيوتر او تابلت.",[11,39,40,41,45,46],{},"الخطوة التالية أن تتعلم تطوير الواجهة الأمامية (Front-end development) ويقصد بها الوظائف التي تجعل الموقع متفاعل مع المستخدم، مثلا عندما يكتب المستخدم البريد الإلكتروني الخاص به - في أحد الحقول -  يجب أن يتأكد الموقع بناء على أوامر برمجية مسبقة أن هذا البريد صحيحا في صيغة كتابته، بحيث لا يخلو من الرمز ",[42,43,44],"code",{},"@"," وأن يحتوي على اسم نطاق مثل ",[42,47,48],{},"sitename.com",[11,50,51],{},"أيضا يشمل تطوير الواجهة الأمامية كيفية إرسال واستقبال البيانات من الخادم ليتم عرضها في الصفحة بشكل ملائم، بناء على الإجراءات التي يتخذها المستخدم أثناء تفاعله مع الموقع، فمثلا لو قام بإرسال تعليق على مقال تظهر رسالة توضح له أن تعليقه تم إضافته بنجاح، ولو حدث خطأ ما أثناء استقبال البيانات من الخادم تظهر رسالة للمستخدم توضح له هذا الخطأ وكيفية معالجته كأن يجرب في وقت لاحق أو يتواصل مع إدارة الموقع بطريقة ما للإبلاغ عن المشكلة.",[11,53,54],{},"لتنفيذ ما سبق تحتاج لتعلم لغة جافا سكريبت (Javascript)، فهي اللغة البرمجية المسئولة عن التحقق من صحة البيانات التي يدخلها المستخدم، وإضافة عناصر متحركة (Animations) وغير ذلك من الوظائف الأخرى.",[11,56,57],{},"استكمالا لما سبق تحتاج لتعلم برمجة الخادم (Back-end development) ويقصد بها إعطاء أوامر برمجية مسبقة لجهاز الخادم، بحيث يمكنه مراجعة البيانات التي يرسلها المستخدم، وحفظها في قاعدة البيانات (Database)، أو استرجاعها عند الحاجة إليها.",[11,59,60],{},"ولتنفيذ ذلك تحتاج أن تتعلم - على الأقل - واحدة من لغات برمجة الخادم، ولعل أكثرهم شهرة لغات مثل بايثون (Python) وبي اتش بى (PHP) وجافا (JAVA).",[11,62,63],{},"وإن كنت أنصحك بتعلم نود جي اس (Node js) وإن لم تكن لغة برمجة فعلية، إلا أنها بيئة تشغيل تسمح للغة \"جافا سكريبت\" أن تعمل بشكل سليم على جهاز الخادم، مما يوفر عليك الوقت والجهد في تعلم لغة إضافية للخادم، فقط إن تعلمت واتقنت \"جافا سكريبت\" يمكنك أن تستخدمها في برمجة الواجهة الأمامية وأيضا برمجة الخادم في نفس الوقت.",[11,65,66],{},"استكمالا لما سبق، تحتاج لتعلم واحدة من قواعد البيانات المشهورة مثل ماي سيكوال (MySQL) أو مونجو دي بي (MongoDB) فهي المسئولة عن حفظ بيانات الموقع.",[11,68,69],{},"فمثلا لو كان الموقع الذي تريد إنشاءه موقع إخباري، ففى هذه الحالة تقوم قاعدة البيانات بحفظ المقالات وتعليقات المستخدمين على هذه المقالات، بالإضافة لبيانات المستخدمين أنفسهم مثل الاسم والبريد الإلكتروني وكلمة المرور.",[11,71,72],{},"إن تعلمت ونفذت جميع ما سبق، يبقى أمر واحد يجب تعلمه وهو رفع ومتابعة الموقع على الخادم فيما يعرف بالاستضافة (Hosting)، والتأكد أن الموقع يعمل على الخادم بشكل سليم، ويقوم بالرد على طلبات المستخدمين من جميع أنحاء العالم، وفي أى وقت على مدار اليوم.",[74,75,77],"h2",{"id":76},"كلمة-أخيرة","كلمة أخيرة",[11,79,80],{},"قد يبدو تعلم جميع هذه المهارات والأدوات السابقة أمر من الصعب تطبيقه، لكن الأمر الجيد هنا أنك لست ملزم بتعلم كل هذه الأشياء، الأمر يعتمد على طبيعة وحجم الموقع الذي ترغب في بنائه، وهل تعمل عليه كمشروع فردى أم ضمن فريق في شركة.",[11,82,83],{},"يمكنك أن تتخصص في واحدة أو أكثر من الأدوات السابقة على حسب احتياجك، الأهم أن تبدأ بالعمل على موقع إلكتروني سواء كفكرة شخصية تنطلق بها أو من خلال العمل ضمن فريق في شركة، حتى لو كانت فكرة الموقع بسيطة، المهم أن تطبق ما تتعلمه أولا بأول، وأن تتعلم وتحاول البحث عن أفضل البدائل والادوات المناسبة لتنفيذ الموقع الإلكترونى.",[11,85,86],{},"ختاما أتمنى أن أكون أعطيتك نبذة مختصرة كمقدمة عن المجال، وإن صادفت شئ غير واضح أو غير مفهوم أرجو أن تكتبه في التعليقات.",[11,88,89],{},"وفقنى الله وإياك إلى ما يحبه ويرضاه ،،",{"title":91,"searchDepth":92,"depth":93,"links":94},"",2,3,[95],{"id":76,"depth":92,"text":77},"\u002Fimages\u002F659709da17ae6626f658eeb2.jpg","2024-01-01T11:06:40.463Z","2024-01-01T12:17:28.849Z","نظرة عامة على أهم الأدوات والمهارات التي يجب تعلمها لمن يرغب في دخول مجال بناء المواقع الإلكترونية على الإنترنت.","md",{},true,"\u002Farticles\u002F65929cc036f3360fc9566423",{"title":5,"description":99},"articles\u002F65929cc036f3360fc9566423",[107,110],{"id":108,"label":109},"6593a20a40b5c90e5410e0cb","تنمية المهارات",{"id":111,"label":112},"6593a0f940b5c90e5410e0a3","البرمجة","2024-10-28T15:22:25.905Z","_o835ub1asASf-HDrm3qxZIsXYV-fFa5SmhdmhSiy3k",1788209571269]