قواعد البرمجة للمبتدئين

بعض قواعد البرمجة ببساطة للمبتدئين

  1. 1-تعلم الأساسيات: ابدأ بفهم الأساسيات في البرمجة، مثل مفاهيم المتغيرات، الشروط، الحلقات، والدوال. تأكد من فهمك لهذه المفاهيم الأساسية قبل المضي قدمًا.

    2-استخدم التعليم التفاعلي: هناك العديد من المواقع والتطبيقات التعليمية التفاعلية التي تساعدك على فهم البرمجة. قم بتجربة تلك الموارد وحاول كتابة الشفرات وتنفيذها بنفسك.

    3-كتابة الشفرة بنفسك: لا تقتصر على قراءة الشفرات، بل قم بكتابة الشفرة بنفسك. قم بتجربة الأمثلة والتعديل عليها، واكتشف كيفية تأثير التغييرات التي تقوم بها على سلوك البرنامج. 4-فهم رسائل الخطأ: عندما تحاول تشغيل برنامج وتواجه رسالة خطأ، لا تيأس. قم بقراءة رسالة الخطأ بعناية وحاول فهم سبب الخطأ. قد يساعدك ذلك في تحديد الأخطاء وإصلاحها. 5-تجريب وتجربة: البرمجة هي عملية تجريبية. لا تخف من تجريب أشياء جديدة واكتشاف كيف يؤثر التغيير في سلوك البرنامج. قد تكتشف حلولًا جديدة وتطورات برمجية بمجرد التجربة.

    6-قراءة وفهم الشفرة المصدرية: قم بقراءة الشفرة المصدرية لبرامج أخرى وحاول فهم كيف تم بناؤها. قد تستفيد من أساليب البرمجة والممارسات الجيدة المستخدمة في تلك الشفرات.

    1. 7-اختيار اللغة المناسبة: اختر لغة البرمجة المناسبة لمشروعك ولمستوى خبرتك، ولا تتردد في تجربة لغات متعددة.

    8-التعلم المستمر: قم بالتعلم المستمر وتحسين مهاراتك من خلال قراءة الكتب، مشاهدة الفيديوهات التعليمية، وحل التحديات البرمجية.


    9-فحص الأخطاء: اعتمد على تقنيات فحص الأخطاء واكتشافها، مثل استخدام بيئات التطوير المتكاملة (IDE) وطباعة البيانات لتتبع تدفق البرنامج.


    10-تقسيم المشكلة: قسّم المشكلة الكبيرة إلى مجموعة من المهام الصغيرة والمنفصلة التي يمكن حلها بسهولة أكبر.

Read More

نصائح برمجيه


 

نصائح برمجيه

إليك بعض النصائح الهامة للبرمجة:


1-ابدأ بتعلم أساسيات البرمجة: يُفضل أن تتعلم لغة برمجة مثل Python أو JavaScript للبدء، حيثُ تعتبر سهلة التعلم وتوفر مجموعة واسعة من الموارد والدروس.


2-فهم المفاهيم الأساسية: تعلم المفاهيم الأساسية في البرمجة مثل المتغيرات، الشروط، الحلقات، والوظائف. هذه المفاهيم تشكل أساسًا لأي لغة برمجة.


3-قم بقراءة وفهم وثائق اللغة: قبل البدء في البرمجة باستخدام لغة معينة، قم بقراءة وثائق اللغة الرسمية. هذا سيساعدك على فهم قواعد اللغة وكيفية استخدامها بشكل صحيح.


4-اكتب الشفرة بنفسك: لا تعتمد فقط على القراءة والاستيعاب النظري، بل جرب كتابة الشفرة بنفسك. قم بحل تحديات البرمجة ومشاريع صغيرة لتطبيق المفاهيم التي تعلمتها.


5-استخدم الموارد التعليمية المتاحة: هناك العديد من الموارد المتاحة عبر الإنترنت مثل الكورسات التعليمية والمدونات ومقاطع الفيديو التعليمية. استفد منها لتعزيز مهاراتك في البرمجة.


6-التجربة والممارسة: قم ببناء مشاريع عملية لتطبيق المفاهيم التي تعلمتها. قم بتطوير تطبيقات بسيطة أو مواقع ويب صغيرة. هذا سيساعدك في تعزيز مهاراتك وفهم تطبيق البرمجة في العمل الفعلي.


7-تعلم من الأخطاء: لا تخاف من comitting أخطاء. الأخطاء جزء طبيعي من عملية التعلم. قم بتحليل الأخطاء التي تواجهها وتعلم منها لتحسين مهاراتك.


8-العمل بشكل جماعي: قم بالانضمام إلى مجتمعات المطورين المحلية أو المنتديات عبر الإنترنت. تشارك في المشاريع المشتركة وتعلم من الآخرين. يمكن للعمل الجماعي أن يساعدك في توسيع معرفتك وتحسين مهارات التعاون.


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


10-افهم مبدأ "التجريب والخطأ": البرمجة هي عملية إبداعية، وسوف تواجه تحديات ومشاكل في طريقك. لا تستسلم وحاول بطرق مختلفة حتى تجد الحل المناسب. قد يتطلب الأمر بعض التجارب والأخطاء قبل أن تصل إلى الإجابة الصحيحة.




Read More

ما هي البرمجه

 

ما هي البرمجة؟

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

إليك المثال العملي التالي الذي يشرح ماهية البرمجة:

إن كنت تتوقع زيارة صديق لك اليوم، واتصل بك ليقول لك: "أنا واقف بجانب الحديقة ولا أعرف كيف أصل إلى منزلك". أنت عادةً تمر كل يوم من جانب الحديقة وتعرف الطريق بينها وبين منزلك شبرًا بشبر. برأيك هل ينفع إن قلت له: "منزلي معروف وقريب من الحديقة وأنا كل يوم أمر من جانبها"؟ لا، بالتأكيد. تحتاج إلى أن تقسِّم المشكلة إلى أجزاء تمثل خطوات بسيطة يستطيع صديقك فهمها وتنفيذها.

مثلًا، أخبره أن ينفذ الأوامر التالية: "سر إلى الأمام عشرة أمتار" ثم "اتجه إلى اليمين" ثم "سر إلى نهاية الشارع" ثم "اتجه إلى اليسار". أخبره بعد ذلك: "عُدَّ الأبنية الموجودة على اليسار حتى تصل إلى البناء الرابع" ثم "اصعد إلى الطابق الثاني" ثم "اطرق على الباب الذي سيظهر أمامك". مبارك! بهذه الطريقة، تستطيع أن تدل صديقك على منزلك بدقة. البرمجة هي الشيء نفسه تمامًا. فهل ترى التعابير المكتوبة بين قوسين؟ إنها التعابير التي تكتب بإحدى لغات البرمجة والتي تخاطب الحاسوب بدلًا من صديقك السابق.

لغات البرمجة هي مجموعة من المفردات والقواعد اللغوية التي تشكل لغةً وسيطةً للتخاطب مع الحاسوب وأمره بتنفيذ تعليمات وأشياء محدَّدة. فلا الحاسوب يفهم لغة البشر ولا البشر يفهمون لغة الحاسوب، لذا كان هنالك حاجة ملحة لوجود لغة وسيطة يفهمها كلاهما؛ نتيجةً لذلك، انبثق مفهوم لغة البرمجة.

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

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

ربما لاحظتَ في الجملة السابقة أن جزءًا من مهمة المبرمج هو التفكير المنطقي، وهذا يجعلنا ننتقل إلى السؤال الشائع "هل أستطيع تعلم البرمجة وأصبح مبرمجًا؟" أو "هل أنا مؤهل لأصبح مبرمجًا؟".

لماذا تتعلم البرمجة؟

يبدو أن تعلم البرمجة من الصفر ليس بالصعوبة التي توقعتها، لكنك تريد حافزًا يجعلك تتعلم البرمجة.

تسمع كثيرًا أن البرمجة هي مجال المستقبل، وأن وظائف المبرمجين ستكتسح مجال التوظيف في السنوات القادمة؟ أستطيع أن أؤكد لك ذلك، كما أنَّ وظائف البرمجة هي من أعلى الوظائف دخلًا.

فلو كنت تريد بدء مشوارك الاحترافي وتريد عملًا مستقرًا وذا دخلٍ ممتاز، فإن تعلم البرمجة والعمل بها هو أفضل خيارٍ أمامك.

وظائف البرمجة مريحة عمومًا، فالعمل كله مكتبي أمام حاسوب في بيئة مريحة ومناسبة، وأغلبية الشركات تتبع نظام العمل 40 ساعة في الأسبوع (أي 5 أيام لمدة 8 ساعات يوميًا)، ولا تغفل عن قدرتك على العمل عن بعد من خلال الانترنت أو كمستقل في أوقات فراغك.

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

ما عليك معرفته لتصبح مبرمجًا

يتردد الكثيرون في تعلم البرمجة متذرعين بأن مستواهم في الرياضيات ليس ممتازًا، وهذا ليس صحيحًا، فصحيحٌ أنَّ هنالك أمور تعترضك أثناء أداء عملك كمبرمج تتطلب خبرة في الرياضيات، إلا أنَّه قد تمر عليك فترات طويلة لا تحتاج فيها إلى مسائل رياضية.

كل ما يلزمك للبدء في تعلم البرمجة هو الأساسيات التي يعرفها الجميع. إلى حين اعتراضك أية مسألة أو مشكلة تتطلب مهارة في الرياضيات، هنالك الكثير من المصادر والمراجع التي تستطيع الرجوع إليها آنذاك. بعبارة أخرى، أجِّل هذا الأمر قليلًا ولا تخف. الأهم من ذلك هو أن تكون قادرًا على التفكير بشكل منطقي.

التفكير المنطقي

التفكير المنطقي هو المهارة التي تجمع كافة المبرمجين تحت مظلة واحدة، وهي أساس كتابة الخوارزميات، إذ يجب أن تكون قادرًا على اكتساب هذه المهارة وتطويرها.

الخوارزميات

كلمة "الخوارزميات" هي الكلمة المرعبة التي ينفر منها البعض، فكل ما يتخيلونه عند ذكرها هو الرياضيات المعقدة والمعادلات الطويلة والرموز العجيبة، لكن الأمر بسيط جدًا؛ فالخوازرميات هي تطبيقٌ للتفكير المنطقي في خطوات متسلسلة واضحة تمامًا لحل مشكلة ما.

لكي أوضِّح لك أن الخوارزميات ليست أمرًا معقدًا، سأخبرك بكيفية كتابة برنامج يسأل المستخدم عن سنة ميلاده، ثم يعيد عمره الحالي بالسنوات.

  • الخطوة الأولى: إظهار رسالة نصية نطلب فيها من المستخدم إدخال تاريخ ميلاده.
  • الخطوة الثانية: تخزين سنة الميلاد التي أدخلها المستخدم.
  • الخطوة الثالثة: الحصول على السنة الحالية.
  • الخطوة الرابعة: طرح مدخلات المستخدم من السنة الحالية.
  • الخطوة الخامسة والأخيرة: إظهار الناتج.

ما سبق هو خوارزمية بسيطة تتألف من خطوات متسلسلة، لكن إذا أمعنا النظر فيها سنجد خللًا في حال أدخل المستخدم تاريخًا أكبر من التاريخ الحالي، أي لو أدخل 2050 مثلًا بدلًا من 1995. عندها سيصبح العمر المعاد من الخوارزمية سالبًا، ويمكننا أن نحل هذه الإشكالية منطقيًا بوضع شرط يمنع المستخدم من إدخال تاريخ أكبر من التاريخ الحالي.

طارات العمل

كلمة أخرى شائعة جدًا في عالم البرمجة هي "إطارات العمل" frameworks، إطارات العمل هي مجموعة من الشيفرات البرمجية التي تسهل على المبرمج إنشاء التطبيقات، بتوفير وحدات جاهزة تقدم خدمات مثل تسجيل المستخدمين، وإرسال البريد الإلكتروني، والتعامل مع قواعد البيانات. أي يمكنك أن تعدّها أدوات برمجية تساعدك في برمجة تطبيقك وتسهِّل لك فعل ذلك.

الأدوات اللازمة للبدء في تعلم البرمجة

تحتاج إلى حاسوبٍ بمواصفات جيدة (ليس من الضروري أن يكون من أفضل الحواسيب، وإنما أن يمتلك مقدارًا جيدًا من الذاكرة العشوائية). لا ننصح بمواصفات معينة أو نظام تشغيل معين، استعمل ما يحلو لك وما ترى نفسك معتادًا عليه (سواءً كان ويندوز أو لينكس أو ماك).

ستحتاج أيضًا إلى اتصالٍ جيد بالإنترنت للوصول إلى المواد التعليمية، ولتنزيل البرمجيات والمكتبات اللازمة للتطوير.

أما بخصوص أدوات التطوير، فستحتاج إلى برمجية لكتابة الشيفرات، وهنالك نوعان رئيسيان لها:

  • المحررات النصية: مثل Visual Studio Code أو Atom أو Sublime Text أو Bracktes أو Notepad++‎. وهذه المحررات النصية تكون بسيطة في أغلبها، وتوفر ميزات أساسية مثل تلوين الشيفرات، وبعض ميزات الإكمال التلقائي، وتدعم أغلبيتها إضافات لزيادة وظائفها. وظيفة هذه المحررات النصية عمومًا هي تعديل الشيفرات بسهولة وسرعة. ننصحك بتجربة Visual Studio Code لشهرته حاليًا وكثرة إضافاته ودعمه الممتاز من شركة Microsoft.
  • بيئات التطوير المدمجة: مثل Visual Studio و Eclipse و Android Studio و NetBeans و Apple Xcode وغيرها. وهذه البيئات توفر ميزات أكثر بكثير من المحررات النصية، مثل تشغيل الشيفرات وتنقيحها (debugging) وميزات التحكم بالإصدارات والاتصال بقواعد البيانات وخلاف ذلك.
Read More

المشاكل البرمجية باستخدام الخوارزميات

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


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


ابحث عن الخوارزميات المناسبة: هناك العديد من الخوارزميات المختلفة المتاحة لحل المشاكل البرمجية. قم بالبحث واستكشاف الخوارزميات المناسبة لنوع المشكلة التي تواجهها. قد تجد خوارزمية معروفة ومستخدمة على نطاق واسع، أو قد تحتاج إلى تطوير خوارزمية مخصصة لحالتك الخاصة.


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


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


استفد من الموارد المتاحة: يوجد العديد من المصادر المفيدة على الإنترنت، مثل المنتديات والمجتمعات والكتب والمواقع التعليمية، التي توفر معلومات قيمة حول الخوارزميات. استفد من هذه الموارد للتعلم والاستفادة من تجارب الآخرين.


الممارسة والصبر: حل المشاكل البرمجية باستخدام الخوارزميات يتطلب الممارسة والصبر. قم بتحسين مهاراتك عن طريق حل مجموعة متنوعة من المشاكل والتحديات البرمجية باستخدام الخوارزميات. كما يجب أن تكون صبورًا، فحل المشاكل البرمجية يستغرق وقتًا وجهدًا، وقد تحتاج إلى تجربة واستكشاف عدة خوارزميات قبل الوصول إلى الحل المثلى.

Read More

أساسيات الخوارزميات: ركيزة أساسية في عالم البرمجة

مقدمة: في عصر التكنولوجيا الحديث، لا يمكن الإغفال عن دور الخوارزميات في تحديد مستقبل البرمجة وتقدم التطبيقات. تعتبر الخوارزميات البرمجية بمثابة الأدوات الرئيسية التي يعتمد عليها المطورون لحل المشاكل وتطوير البرمجيات بطرق فعالة ومنظمة.

أهمية الخوارزميات في البرمجة: تعد الخوارزميات جوهراً أساسياً في البرمجة للأسباب التالية:

  1. حل المشاكل: تمكن الخوارزميات المبرمجين من تحويل المشاكل المعقدة إلى سلاسل من التعليمات البرمجية القابلة للتنفيذ لحلها بفعالية.
  2. زيادة كفاءة البرمجيات: باستخدام الخوارزميات المناسبة، يمكن تحسين أداء البرمجيات وزيادة كفاءتها وسرعتها.
  3. تحسين تجربة المستخدم: الخوارزميات تلعب دوراً كبيراً في تطوير تجربة المستخدم وتوفير أدوات تفاعلية وفعالة.
  4. تطوير التطبيقات الذكية: تعتمد التطبيقات الذكية على الخوارزميات لتقديم الوظائف المتقدمة مثل التعلم الآلي وتحليل البيانات الضخمة.

كيفية عمل الخوارزميات: يتم تصميم وتنفيذ الخوارزميات بخطوات محددة، وتشمل هذه الخطوات:

  1. تحليل المشكلة: فهم المشكلة المراد حلها وتحديد المتطلبات.
  2. تصميم الخوارزمية: وضع خطة للحل تتضمن خطوات محددة ومنطقية.
  3. تنفيذ الخوارزمية: ترجمة الخطوات إلى لغة برمجية قابلة للتنفيذ.
  4. اختبار الخوارزمية: اختبار الخوارزمية للتحقق من صحة وفعالية الحل المقترح.

طرق تمثيل الخوارزميات: تتمثل الخوارزميات بعدة طرق، منها:

  • الرسوم البيانية: استخدام رسوم بيانية لتوضيح تدفق العمل في الخوارزمية.
  • رموز البرمجة: استخدام لغات البرمجة لتمثيل الخوارزمية بشكل مباشر.
  • الوصف الكتابي: شرح الخوارزمية بالكلمات وتوضيح خطوات الحل.

كيفية تعلم الخوارزميات:

  • دورات الإنترنت: هناك العديد من الدورات عبر الإنترنت التي تغطي مختلف أنواع الخوارزميات وأساليب تطبيقها.
  • الكتب والموارد الأكاديمية: الكتب والمقالات الأكاديمية توفر معلومات قيمة حول الخوارزميات وتطبيقاتها.
  • الممارسة العملية: يمكن تعلم الخوارزميات من خلال حل المشاكل البرمجية العملية وتطبيق الخوارزميات في مشاريع حقيقية.

ختام: باختصار، تعد الخوارزميات البرمجية الأساس الذي يقوم عليه عالم البرمجة، وتلعب دوراً حاسماً في تطوير التطبيقات وحل المشاكل المعقدة. فهي تمثل الأساس الذي يتم بناء عليه أي تطبيق برمجي، وتعزز من فعالية البرمجيات وتحسين تجربة المستخدم في النهاية.


Read More

CSS


ما هي لغة CSS

في البداية كلمة CSS هي اختصار لجملة Cascading Style Sheet و هي لغة تستخدم في تصميم صفحات الويب فمن خلالها يمكنك تغيير ألوان العناصر، تحديد مواقعها و أحجامها، إضافة مؤثرات لها، جعل صفحات الويب متجاوبة مع مختلف أحجام الشاشات لكي تظهر بشكل ملائم للمستخدم سواء كان يفتح الصفحة بواسطة هاتف، تابلت أو حاسوب، بالإضافة إلى الكثير من الأمور الرائعة التي ستتعلمها خطوة خطوة في هذه الدورة.


مثال

فيما يلي، قمنا بوضع صفحة تتألف من كود HTML فقط و من ثم وضعنا الصفحة نفسها بعد إضافة القليل من التحسينات عليها بواسطة CSS حتى تلاحظ الفرق.

معلومة تقنية

بشكل عام، CSS تعتبر لغة تصميم Style Language ) و ليس لغة برمجة Programming Language ) فهي تستخدم في تصميم صفحات الويب التي يتم بناؤها بواسطHTML أو الصفحات التي يتم بناؤها بواسطة XML.

إصدارات لغة CSS

لغة CSS يتم تطويرها باستمرارا بدءاً من ظهورها أول مرة عام 1996 و حتى يومنا هذا. المجموعة المسؤولة عن تطوير هذه اللغة تدعى World Wide Web Consortium و في العادة تختصر بكلمة W3C.

يوجد ثلاث إصدارات رسمية حتى اللحظة من لغة CSS و الفكرة من هذه الإصدارات ليس تغيير طريقة التعامل مع اللغة بل إضافة ميزات جديدة عليها.


الإصدار الأول

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


الإصدار الثاني

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


الإصدار الثالث

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


أي إصدار يجب أن تتعلم؟

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

فوائد لغة CSS

سنذكر فوائدها تباعاً مع إيضاح معنى كل نقطة.


1- توفير الوقت

يمكنك وضع كود التصميم الخاص بك في ملف CSS و تضمينه نفسه في أي صفحة HTML تريد استخدامه فيها.


2- سرعة التحميل

حين تضع كود التصميم في ملف CSS و تضمّنه في صفحات الموقع فإن المتصفح في العادة يقوم بتحميل هذا الملف مرة واحدة فقط و يخزّن عنده. بعدها إن تم الدخول لأي صفحة مربوطة بهذا الملف فإن المتصفح يستخدم النسخة التي قام بتخزينها سابقاً بدل تحميل الملف في كل مرة.


3- سهولة التعديل

بمجرد التعديل على كود التصميم الموضوع في ملف CSS فإن كل الصفحات المربوطة به سيتم تعديل تصميمها.


4- خصائص متقدمة

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


5- بناء صفحات متجاوبة

بواسطة لغة CSS يمكنك جعل تصميم الشاشة متجاوب Responsive ) مع مختلف أحجام الشاشات التي يتم من خلالها مشاهدة الصفحات لتظهر بشكل مناسب نسبةً لحجم الصفحة المفتوحة عليها.


6- تخصيص الطباعة على ورق

لغة CSS توفر خصائص سهلة الإستخدام يمكنك من خلالها تحديد الشكل الذي ستظهر فيه الصفحة في حال أراد المستخدم طباعتها على ورقة.


7- معايير الويب العالمية

الأفضل دائماً أن يتم وضع تصميم صفحة الويب التي تبنيها بالأساس بكود HTML في ملف CSS منفصل عن الصفحة ذاتها و من ثم تضمينه فيها فبهذه الطريقة يمكنك استخدام ملف التصميم في جميع صفحات موقعك و التعديل عليها في أي وقت تريده بكل سهولة

Read More

HTML


 

ما هي لغة HTML؟

في البداية HTML هي لغة بسيطة جداً تستخدم لوصف ما تحتويه صفحات الويب Web Pages ) و معنى ذلك أنها تستخدم لتحديد العناصر الموجودة في الصفحة مثل العناوين, الفقرات, الأزرار, الصور, القوائم, الجداول و غيرها من الأشياء التي يمكن إضافتها في صفحات الويب.

إذاً نستخدم هذه اللغة لهدف واحد فقط و هو تحديد بنية صفحات الويب Pages Structure ).
الآن عليك معرفة أن كلمة HTML هي إختصار لجملة Hyper Text Markup Language و هذا يعني أنها لا تعتبر لغة برمجة Programming Language ).


مكونات صفحة الويب

بشكل عام, لتبني صفحات ويب إحترافية عليك تعلم اللغات التالية و بنفس الترتيب:

  1. لغة HTML من أجل تحديد العناصر التي نريد إضافتها في الصفحة.
  2. لغة CSS من أجل تحسين تصميم العناصر الموجودة في الصفحة.
  3. لغة Javascript و نستخدمها لإضافة مؤثرات في صفحات الويب و لمعالجة البيانات التي يتم إدخالها و عرضها في الصفحات.

لا تقلق سنعلمك اللغات الثلاثة الواحدة تلو الأخرى كما يفترض و من الصفر و ستستمتع كثيراً بتعلمها معنا لأنك ستتعلمها بشكل تفاعلي من الموقع.
بالمناسبة, يمكنك استخدام هذه اللغات الثلاث فقط لبناء مواقع إلكترونية كاملة, تطبيقات للهاتف و تطبيقات للحاسوب و ليس فقط لتصميم الصفحات.

إصدارات HTML

من بداية ظهور المتصفحات و لغة HTML يتم تطويرها و إضافة المزيد من الميزات فيها مع كل إصدار جديد و الجميل في الأمر أنه من يعرف إصدار واحد منها يمكنه بكل سهولة التعامل مع أي إصدار آخر لأن مبادئ اللغة هي نفسها.

الإصدار الذي يجب عليك تعلمه في الوقت الحالي هو الإصدار الخامس من اللغة الذي يقال له HTML5.
هذا الإصدار أضيف فيه العديد من الميزات المهمة التي لم يسبق إضافتها في الإصدارات السابقة أهمها إمكانية عرض فيديوهات, أغاني و رسومات في الصفحات بكل سهولة و بشكل مباشر بدون الحاجة لاستخدام إضافات Plugins ) خاصة لذلك, لهذا أصبح الجميع يستخدمه بدلاً من باقي الإصدارات.


مراحل تطور اللغة

  • عام 1989 قام المهندس Tim Berners-Lee بابتكار أول مشروع برمجي هدفه مشاركة البيانات عبر شبكة النت World Wide Web ) و التي تختصر بالأحرف WWW التي لا زلنا حتى يومنا نراها في روابط المواقع. في ذاك الوقت كان الدخول للنت صعباً لأنه لم يكن هناك متصفحات تعرض المحتوى بشكل جميل.
  • عام 1991 قام المهندس Tim Berners-Lee بإبتكار لغة HTML بهدف عرض البيانات بشكل أفضل بداخل المتصفح.
  • عام 1993 قام المهندس Dave Raggett بإضافة بعض التطويرات على اللغة و قام بتسمية الإصدار HTML+.
  • عام 1994 قام المهندس Tim Berners-Lee بتأسيس شركة W3C حتى يتابعوا تطوير لغة HTML و البروتكولات التي تستخدم في شبكة النت بشكل منظم و لتكون المركز الأساسي للتطوير.
  • عام 1995 قام مجموعة من المهندسين بإضافة بعض التطويرات على اللغة و قاموا بتسمية الإصدار HTML 2.0.
  • عام 1997 قامت شركة W3C بإضافة بعض التطويرات على اللغة و قاموا بتسمية الإصدار HTML 3.2.
  • عام 1999 قامت شركة W3C بإضافة بعض التطويرات على اللغة و قاموا بتسمية الإصدار HTML 4.01.
  • عام 2014 قامت شركة W3C بإضافة بعض التطويرات المهمة جداً على اللغة و قاموا بتسمية الإصدار HTML 5.
  • عام 2016 قامت شركة W3C بإضافة بعض التطويرات على على الإصدار الخامس و قاموا بتسمية الإصدار HTML 5.1.
  • عام 2017 قامت شركة W3C بإضافة بعض التطويرات على على الإصدار الخامس و قاموا بتسمية الإصدار HTML 5.2.
Read More

javascript

 

ما هي Javascript‏ (JS)؟




ما المقصود بـ JavaScript؟

JavaScript هي لغة برمجة يستخدمها المطورون في بناء صفحات ويب تفاعلية.

 بدايةً من تحديث مواجز الوسائط الاجتماعية وحتى عرض الرسوم المتحركة والخرائط

 التفاعلية، يمكن لوظائف JavaScript أن تحسّن تجربة مستخدم وقع الويب. 

ونظرًا لأنها لغة برمجة نصية من طرف العميل، فإنها تعد واحدة من التقنيات الأساسية في

 شبكة الويب العالمية. على سبيل المثال، عندما ترى أثناء تصفح الإنترنت عرضًا

 دوّارًا للصور، أو قائمةً منسدلةً بطريقة انقر للعرض، أو تغيرًا ديناميكيًا في ألوان العناصر

على صفحة ويب ، فكل هذا من تأثيرات JavaScript.

فيمَ تُستخدم JavaScript؟

في الماضي، كانت صفحات الويب ثابتة، كصفحات الكتاب. وكانت الصفحة الثابتة تعرض المعلومات في تخطيط ثابت،

 ولم تكن تفعل كل ما نتوقعه الآن من أي موقع ويب حديث. وظهرت JavaScript كتقنية من جانب المتصفح 

لإضفاء مزيدٍ من الديناميكية على تطبيقات الويب. وباستخدام JavaScript، يمكن للمتصفحات الاستجابة لتفاعل المستخدم 

وتغيير تخطيط المحتوى على صفحة الويب.

ومع تطور اللغة، أنشأ مطورو JavaScript مكتبات وأُطر عمل وممارسات برمجة وبدؤوا في استخدامها خارج متصفحات الويب

. واليوم، يمكن استخدام JavaScript للتطوير من طرف العميل ومن طرف الخادم. خلال الأقسام الفرعية التالية

، سنستعرض بعضًا من حالات الاستخدام الشائعة:

في الماضي، كانت صفحات الويب ثابتة، كصفحات الكتاب. وكانت الصفحة الثابتة تعرض المعلومات في تخطيط ثابت،

 ولم تكن تفعل كل ما نتوقعه الآن من أي موقع ويب حديث. وظهرت JavaScript كتقنية من جانب المتصفح لإضفاء مزيدٍ 

من الديناميكية على تطبيقات الويب. وباستخدام JavaScript، يمكن للمتصفحات الاستجابة لتفاعل المستخدم وتغيير تخطيط

 المحتوى على صفحة الويب.

ومع تطور اللغة، أنشأ مطورو JavaScript مكتبات وأُطر عمل وممارسات برمجة وبدؤوا في استخدامها خارج متصفحات الويب

. واليوم، يمكن استخدام JavaScript للتطوير من طرف العميل ومن طرف الخادم. خلال الأقسام الفرعية التالية، سنستعرض

 بعضًا من حالات الاستخدام الشائعة:

 

كيف تعمل JavaScript؟

تعمل جميع لغات البرمجة من خلال ترجمة بناء جملة شبيه باللغة الإنجليزية إلى تعليمة برمجية للآلة، ويقوم نظام التشغيل بعد ذلك

 بتشغيلها. وتُصنف JavaScript على نطاق واسع باعتبارها لغة برمجة نصية أو لغة مفسَّرَة. تعليمة JavaScript البرمجية

 هي تعليمة مفسَّرَة، بمعني أنها تُترجم مباشرةً إلى التعليمة البرمجية الأساسية للغة الآلة من خلال محرك JavaScript. 

وباستخدام لغات برمجة أخرى، يقوم المحول البرمجي (المترجم) بتحويل التعليمة البرمجية بالكامل إلى تعليمة برمجية للآلة

 في خطوة منفصلة. ومن ثمّ، فإن جميع لغات البرمجة النصية هي لغات برمجة، ولكن ليست كل لغات البرمجة هي لغات برمجة

 نصية.

محرك JavaScript

محرك JavaScript هو برنامج حاسوبي يشغّل تعليمة JavaScript البرمجية. ورغم أن محركات JavaScript الأولى

 كانت عبارة عن أدوات تفسير (مترجمين)، إلا أن جميع المحركات الحديثة تستخدم التحويل في الوقت المناسب أو تحويل وقت

 التشغيل لتحسين الأداء.

JavaScript من جانب العميل

تشير JavaScript من جانب العميل إلى طريقة عمل JavaScript في متصفحك. وفي هذه الحالة، يكون محرك JavaScript 

موجودًا داخل التعليمة البرمجية للمتصفح. تأتي جميع متصفحات الويب الرئيسة مضمّن بها محركات JavaScript.

ويكتب مطورو تطبيقات الويب تعليمة JavaScript البرمجية بوظائف مختلفة مرتبطة بأحداث مختلفة، مثل النقر بالماوس 

أو تمرير الماوس. وتقوم هذه الوظائف بإجراء تغييرات على صفحات HTML وCSS.

وفيما يلي نظرة عامة حول كيفية عمل JavaScript من جانب العميل:

1.   يقوم المتصفح بتحميل صفحة ويب عند زيارة هذه الصفحة.

2.   أثناء التحميل، يقوم المتصفح بتحويل الصفحة وجميع عناصرها، مثل الأزرار والتسميات والمربعات المنسدلة،

 إلى هيكل بيانات يُسمى نموذج كائن المستند (DOM).

3.   يقوم محرك JavaScript الموجود بالمتصفح بتحويل تعليمة JavaScript البرمجية إلى بايت كود. 

وتصبح هذه التعليمة البرمجية بمثابة وسيط بين بناء جملة JavaScript والجهاز.

4.   تؤدي الأحداث المختلفة، مثل النقر بالماوس على أحد الأزرار، إلى تشغيل كتلة تعليمات JavaScript البرمجية

 المرتبطة. بعد ذلك، يقوم المحرك بترجمة البايت كود وإجراء تغييرات في نموذج DOM.

5.   يعرض المتصفح نموذج DOM الجديد.

JavaScript من جانب الخادم

يشير مصطلح JavaScript من جانب الخادم إلى استخدام لغة كتابة التعليمات البرمجية في منطقة الخادم بالواجهة الخلفية.

 وفي هذه الحالة، يُوضع محرك JavaScript على الخادم مباشرةً. كما يمكن لوظيفة JavaScript من جانب الخادم

 الوصول إلى قاعدة البيانات وتنفيذ عمليات منطقية مختلفة والاستجابة للأحداث المتنوعة الصادرة عن نظام تشغيل الخادم.

 تُعد الميزة الأساسية للبرمجة النصية من جانب الخادم هي إمكانية تخصيص استجابة موقع الويب تخصيصًا تامًا بناءً على

 متطلباتك وحقوق الوصول الخاصة بك وطلبات المعلومات الصادرة عن موقع الويب.

من جانب العميل مقابل من جانب الخادم

تصف كلمة ديناميكي كلا نوعي JavaScript، من جانب العميل ومن جانب الخادم. والمقصود بالسلوك الديناميكي

 هو القدرة على تحديث عرض صفحة الويب لإنشاء محتوى جديد على النحو المطلوب. ويظهر الفرق بين JavaScript من

 جانب العميل وJavaScript من جانب الخادم في طريقة كل منهما في إنشاء المحتوى الجديد. تنشئ التعليمات البرمجية

 من جانب الخادم محتوى جديدًا ديناميكيًا باستخدام منطق تطبيق وتعدِّل البيانات من خلال قاعدة البيانات. ومن ناحية أخرى

، تنشئ JavaScript من جانب العميل محتوى جديدًا ديناميكيًا داخل المتصفح باستخدام منطق واجهة مستخدم وتعدِّل محتويات

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

 النهجين معًا لتحسين تجربة المستخدم.

وخلافًا للتنفيذ في الميزات الديناميكية، هناك اختلاف آخر يظهر بين استخدامي JavaScript في الموارد التي يمكن للتعليمة

 البرمجية الوصول إليها. في JavaScript من جانب العميل، يتحكم المتصفح في بيئة وقت تشغيل JavaScript.

 ولا يمكن للتعليمة البرمجية الوصول إلا إلى الموارد التي يتيح المتصفح إمكانية الوصول إليها. على سبيل المثال،

 لا يمكن للتعليمة البرمجية كتابة المحتوى على القرص الثابت إلا إذا نقرت فوق زر تنزيل. ومن ناحية أخرى،

 يمكن للوظائف من جانب الخادم الوصول إلى جميع موارد جهاز الخادم حسب الحاجة.

ما المقصود بمكتبات JavaScript؟

مكتبات JavaScript هي مجموعات من أجزاء تعليمات برمجية مكتوبة مسبقًا ويمكن لمطوري الويب إعادة استخدامها

 في تنفيذ وظائف JavaScript القياسية. يتم توصيل تعليمة مكتبة JavaScript البرمجية ببقية التعليمات البرمجية الموجودة 

بالمشروع حسب الحاجة. إذا نظرت إلى التعليمة البرمجية لتطبيقات JavaScript باعتبارها البيت، 

فإن مكتبات JavaScript تُعد بمثابة الأثاث الجاهز الذي يستخدمه المطورون في تحسين كفاءة البيت.

فيما يلي بعض الاستخدامات الشائعة لمكتبات JavaScript:

العرض المرئي للبيانات

يُعد العرض المرئي للبيانات أمرًا بالغ الأهمية للمستخدمين لعرض الإحصائيات، على سبيل المثال،

 في لوحة الإدارة ولوحة المعلومات وقياسات الأداء.

تتضمن مكتبات مثل Chart.js وApexCharts وAlgolia Places وظائف مضمنة يمكنك استخدامها في إنشاء 

تطبيقات ويب تعرض البيانات في شكل مخططات بيانية وخرائط.

معالجة نموذج DOM

يمكنك استخدام مكتبات مثل مكتبة jQuery ومكتبة Umbrella JS لتسهيل تطوير الويب لأنها توفر تعليمة برمجية

 لوظائف مواقع الويب القياسية مثل الرسوم المتحركة للقوائم ومعارض الصور والأزرار ونوافذ lightbox وغير ذلك الكثير.

النماذج

جميع عمليات تطوير الويب تستخدم نماذج لزوار مواقع الويب للاتصال بأي شخص، وطلب المنتجات، والتسجيل في الأحداث.
 تعمل بعض مكتبات JavaScript مثل wForms، وLiveValidation، وValidanguage، وqForms 
على تبسيط وظائف النماذج، بما في ذلك التحقق من صحة النماذج والتخطيط والشروط والتحويل.

وظائف النص والرياضيات

يتعين على العديد من تطبيقات الويب حل المعادلات الرياضية ومعالجة التواريخ والأوقات والنصوص

. وبدلاً من إرسال كل هذه الطلبات إلى الخادم، فإن التعامل مع بعضها من جانب العميل يكون أكثر كفاءة

. يقوم مطورو الويب بذلك من خلال استخدام مكتبات

 JavaScript مثل Date.js، وSylvester، وJavaScript URL Library

ما المقصود بأُطر عمل JavaScript؟

كما هو الحال مع مكتبات JavaScript، فإن أُطر عمل JavaScript هي مجموعة من أجزاء تعليمات برمجية مكتوبة

 مسبقًا تؤدي وظائف مختلفةً ويمكن إعادة استخدامها. ولكن، رغم أن مكتبات JavaScript هي أداة متخصصة للاستخدام

 عند الطلب، فإن أُطر عمل JavaScript هي مجموعة أدوات كاملة تساعد في تشكيل أي تطبيق ويب وتنظيمه. 

ولو نظرت إلى التعليمة البرمجية لتطبيق JavaScript باعتبارها منزل، فإن إطار عمل JavaScript يُعد بمثابة 

المخطط المستخدم في بناء البيت.

وفيما يلي بعض الأمثلة لحالات استخدام أطر عمل JavaScript:

تطوير تطبيقات الويب وتطبيقات الأجهزة المحمولة

AngularJS هو إطار عمل يبسط عملية تطوير تطبيقات الويب واختبارها، مثل تطبيقات التجارة الإلكترونية 

وتطبيقات الوقت الفعلي وتطبيقات الفيديو. ويُعد React Native إطار عمل آخر يدعم تطوير تطبيقات الأجهزة 

المحمولة المعدة أصلاً لنظام تشغيل iOS ونظام تشغيل Android.

تطوير الويب المتجاوب


توفر مواقع الويب المتجاوبة للمستخدم تجربةً متسقةً عبر أي جهاز. على سبيل المثال، تتضمن الأجهزة المحمولة

 والأجهزة اللوحية شاشات أصغر من تلك الشاشات الموجود بأجهزة سطح المكتب وأجهزة الكمبيوتر المحمولة.

 ومن المؤكد أنك ترغب في أن يقوم موقع الويب بعرض البيانات وتقديمها بدقة حتى على الشاشة الأصغر، 

بدون الاقتصاص من أطراف الموقع، على سبيل المثال. ومن خلال استخدام أُطر عمل مثل Bootstrap وEmber.js،

 يمكن للمطورين الاستفادة من التصميم المتجاوب وتخصيص شكل موقع الويب ونمطه بسهولة عبر منصات مختلفة.

تطوير التطبيقات من جانب الخادم

Node.js هو إطار عمل JavaScript من جانب الخادم مفتوح المصدر يُشغّل تعليمة JavaScript البرمجية 

خارج المتصفح. يستخدم المطورون إطار العمل هذا في إنشاء تطبيقات من جانب الخادم قابلة للتوسع وسريعة وموثوقة.

 ويمكن لإطار العمل هذا التعامل مع طلبات HTTP وتدفق البيانات ودعم أنظمة الملفات وإدارة العمليات الخلفية المتعددة

 على نحو متزامن.

ما المقصود بلغة HTML وCSS؟

لغة ترميز النص التشعبي (HTML) ولغة أوراق الأنماط المتتالية (CSS) هما لغتا برمجة أخريان يستخدمهما المطورون 

في تطوير الواجهة الأمامية. وتُعد لغة HTML هي لبنة البناء الأساسية لمعظم صفحات الويب. تُكتب جميع الفقرات والأقسام

 والصور والعناوين والنصوص بلغة HTML. ويظهر المحتوى على موقع الويب حسب ترتيب كتابته بلغة HTML.

أما لغة CSS فهي لغة قواعد أنماط نستخدمها في تطبيق النمط على محتوى HTML. ويمكنك استخدامها في تصميم 

عناصر موقع الويب مثل ألوان الخلفية والخطوط والأعمدة والحدود.

لغة HTML مقابل لغة CSS مقابل JavaScript

تعمل اللغات الثلاث معًا لمنح المستخدم تجربةً إيجابيةً على أي موقع. ورغم أن لغة HTML ولغة CSS تتعاملان مع

 المحتوى الثابت بشكل أساسي، إلا أنهما قادرتان على التكامل مع تعليمة JavaScript البرمجية من جانب العميل 

لتحديث المحتوى ديناميكيًا أيضًا.

على سبيل المثال، يمكن لكتلة التعليمات البرمجية للبرنامج النصي بصفحة HTML أن تحتوي بداخلها على JavaScript.
 وحينئذٍ، يمكن للمتصفح معالجة كل من لغة HTML وتعليمة JavaScript البرمجية الداخلية عند تحميل صفحة HTML في
 المتصفح.
 

ما مزايا JavaScript؟

سهولة التعلم والاستخدام

استُلهم بناء جملة JavaScript من لغة برمجة Java وهو بناء سهل التعلم والترميز. ويستخدم المطورون JavaScript في
 جميع تطبيقات مواقع الويب وتطبيقات الأجهزة المحمولة تقريبًا للبرمجة النصية من جانب العميل. وخلال العقد الماضي، 
اكتسب Node.js أيضًا شعبية كبيرة لترميز الواجهة الخلفية. وقد تم ترميز العديد من منصات البث 
والفيديو الرئيسية في Node.js.

الحصول على استقلالية المنصة

على عكس لغات البرمجة الأخرى، يمكنك إدراج JavaScript في أي صفحة ويب واستخدامها مع الكثير من أُطر عمل 

تطوير مواقع الويب واللغات الأخرى. وبمجرد كتابتها، يمكنك تشغيل تعليمة JavaScript البرمجية على أي جهاز. 

ومن ثمّ، فإن JavaScript تجعل منصة تطوير التطبيقات منصةً مستقلةً.

تخفيف حمل الخادم

يمكنك استخدام JavaScript في تخفيف حمل الخادم وتقليل زحام الشبكة وذلك لأنها تُشغّل عمليات منطقية 

وتفعل الكثير من عمل الخادم من جانب العميل نفسه. على سبيل المثال، عند ملء استمارة التسجيل.

 تتحقق JavaScript بسرعة مما إذا كنت قد أدخلت رقمًا مؤلفًا من 10 خانات في حقل رقم الهاتف المحمول.

 فإذا أُرسلت هذه الطلبات إلى الخادم، فستتم إعادة تحميل صفحتك عند كل خطأ تقع فيه، ما يجعل عملية التسجيل 

بطيئةً للغاية ومملةً.

تحسين واجهة المستخدم

تقوم JavaScript بإنشاء مواقع ويب منسجمة تسهِّل العثور على المعلومات المعقدة ومعالجتها.

 يطبق المطورون JavaScript لزيادة الوظائف وقابلية القراءة ولجعل تفاعل مستخدم موقع الويب أكثر كفاءةً.

دعم التزامن

تستطيع JavaScript تشغيل عدة مجموعات مختلفة من التعليمات بالتوازي. وفي الخلفية،

 تتعامل Node.js مع استجابات الخادم الموسعة ومعالجتها بدون استهلاك نفس القدر من النطاق الترددي.

Read More

مدونة تعلم شي جديد . تهتم بكل ما هو جديد في المعلومات

Translate

تواصل معنا