Worldwild

call, apply and bind methods in JavaScript

Written By Nedal Eldeen on Fri, 03 Jan 2020 09:41 pm
Each of call, apply and bind methods in JavaScript are pretty similar, but there is a slight difference between them. If you knew one of them, it would be easy to know the other two. Let's begin with the call method. What is the call method and what is its importance? Call Method The call method is a pre-defined method in JavaScript, and it belongs to Function object pro
Votes 0 Comments 0 Views 707

نمط الـ MVVM في الجافاسكربت Model View ViewModel Pattern

Written By Nedal Eldeen on Mon, 01 Jul 2019 03:37 am
بداية لكي نتعرف على نمط الـ MVVM ونتشبع بفهمه، علينا أن ننظر إليه في سياق عائلة الـ MV، فلابد لنا أن نتعرف على كل من نمط الـ MVC ونمط الـ MVP لكي نفهم بشكل دقيق هذا النمط، وقد تحدثنا عن كل من النمطين بشكل مفصل، وانصحكم بالاطلاع على هذه الموضوعات إن لم تكونوا على علم بهذه الأنمطة. والآن ما هو نمط الـ MVVM ؟ الـ MVVM هو اختصار لـ Model View ViewModel، وهذا النمط عبارة عن ثلاث وحد
Votes 0 Comments 0 Views 2435

الـ Data Binding في عالم البرمجيات

Written By Nedal Eldeen on Thu, 20 Jun 2019 12:43 am
الـ Data Binding هو مصطلح يستخدم في عالم البرمجيات والسوفتوير، فما هو الـ Data Binding ؟؟ الـ Data Binding هي عبارة عن آلية مزامنة البيانات بين جزئين مختلفين من النظام أو التطبيق. لو فرضنا أن لدينا جزئين "س" و "ص" في نظام ما أو تطبيق ما، فلو حدث تغير في البيانات في الجزء "س"، فهذه الآلية تقوم بالتأكد من أن هذا التغير قد حدث أيضا في الجزء "ص&qu
Votes 0 Comments 0 Views 1477

نمط الـ MVP في الجافاسكربت الـ Model View Presenter Pattern

Written By Nedal Eldeen on Mon, 17 Jun 2019 03:04 am
لكي تتعرف على هذا النمط بطريقة صحيحة لابد أن تتعرف أولا على نمط الـ MVC حيث أن الـ MVP يعد أحد أفراد عائلة الـ MV والـ MVC يعتبر أول فرد في هذه العائلة، ومعظم الأفراد الذين انضموا إلى هذه العائلة يأخذون الكثير من الصفات والوظائف من الـ MVC ولذلك انصحكم بقراءة موضوع "الـ MVC pattern في الجافاسكربت" قبل تناول هذا الموضوع. Separation Of Concerns دعونا في البداية ن
Votes 0 Comments 0 Views 1235

نمط الـ MVC في الجافاسكربت الـ Model View Controller Pattern

Written By Nedal Eldeen on Sun, 09 Jun 2019 06:54 pm
اعتقد أن معظمنا قد مر على مصطلح الـ MVC من قبل ولديه معرفة مسبقة بهذا المصطلح لكن دعونا نتناقش فيما بيننا حول هذا الموضوع من البداية، فأول شيء نريد أن نعرفه؛ إلى أي شيء يشير هذا الاختصار MVC ؟! هذا الاختصار يشير إلى ثلاث كلمات Model-View-Controller والـ MVC هذا عبارة عن نمط من أنماط كتابة الأكواد، وهو نمط هيكلي أكثر منه وظيفي، بمعنى أنه يساعدنا على هيكلة السكربت أو الكود الذي ن
Votes 0 Comments 0 Views 1917

نمط الـ PubSub في الجافاسكربت publish subscribe pattern

Written By Nedal Eldeen on Wed, 24 Apr 2019 10:20 pm
في البداية نمط الـ PubSub هو اختصار للـ publish subscribe pattern وربما تجد له بعض الأسامي الأخرى، لكن في النهاية مهما كانت المسميات الفكرة واحدة ومحددة ومعروفة. قبل الدخول في تفاصيل هذا النمط علينا أولا أن نتحدث عن المشكلة التي جاء من أجلها هذا النمط ليساعدنا على حلها. هناك بعض الأنماط والمصطلحات التي بمجرد أن تسمعها عليك أن تضع عينيك على مشكلة ما، فعندما تسمع مثلا نمط الـ Pu
Votes 0 Comments 0 Views 761

الـ singleton pattern في الجافاسكربت

Written By Nedal Eldeen on Thu, 28 Mar 2019 05:18 am
نمط الـ singleton في الجافاسكربت، يعد من الأنماط الجميلة جدا، وفي بعض الأحيان لا يمكن الاستغناء عنه، فهو نمط له فوائد كثيرة جدا برغم أن عملية تنفيذه عملية سهلة للغاية. فما هو الـ singleton pattern ؟ الـ singleton pattern هو نمط يوفر لنا عملية التأكد من أن الفصيل أو الـ "class" لديه نسخة "instance" واحدة فقط لا أكثر، وهذه النسخة يمكن الوصول لها بشكل globally
Votes 0 Comments 0 Views 707

الـ Module Pattern في الجافاسكربت

Written By Nedal Eldeen on Thu, 14 Feb 2019 04:35 pm
في البداية، ما معنى كلمة module؟ بكل بساطة الـ module هو كل وحدة من وحدات أي تركيب، وفي عالم السوفتوير؛ الـ module هو عبارة عن جزء من أجزاء البرنامج، فالبرنامج إما أن يتكون من module واحد أو عدة modules، وعندما نقوم بتجميع الـ modules المختلفة مع بعضها نستطيع في النهاية أن ننشئ software أو نظام قوي للغاية، وقابل للتطوير والصيانة بكل سهولة. قبل أن نتحدث عن كون الـ module مجرد نم
Votes 0 Comments 0 Views 1077

دردشة حول الـ prototype والـ __proto__ في الجافاسكربت

Written By Nedal Eldeen on Fri, 19 Oct 2018 04:11 pm
اتذكر أنني في بداية تعلمي الجافاسكربت، كلما مررت بكلمة الـ prototype أو الـ __proto__ كنت اتجاهل الموضوع أو ابتعدت عنه، اتذكر وقتها أن كلمة مثل الـ prototype أو الـ __proto__ كانت مثل الطلامس والمتاهات بالنسبة لي، وكنت أظن أنني لست بحاجة إلى فهم ماهية الـ prototype هذا، وكنت كثيرا أقول سوف افهم الـ prototype والـ __proto__ في وقت لاحق، ولا اعرف لماذا تجاهلت تعلم وفهم الـ protot
Votes 0 Comments 0 Views 3573

الطرق الشائعة المستخدمة لإنشاء الكائنات في الجافاسكربت

Written By Nedal Eldeen on Fri, 19 Oct 2018 04:09 pm
عندما نتحدث عن الكائن الـ object في الجافاسكربت، فنحن نتحدث عن ركن ركيز من أركان الجافاسكربت، فنحن نعرف أن معظم الأشياء في الجافاسكربت هي بالأساس الأول عبارة عن object، فالدوال والمصفوفات والتواريخ ومعظم الأشياء في الجافاسكربت تعتبر وليدة للـ object، ولذلك أقول أن الـ object يعد ركن ركيز من أركان الجافاسكربت. في هذا الموضوع سوف نتحدث بشكل عام عن بعض الطرق الشائعة للتعامل مع ال
Votes 0 Comments 0 Views 883

الفرق بين دالة call ودالة apply ودالة bind في الجافاسكربت

Written By Nedal Eldeen on Fri, 19 Oct 2018 04:06 pm
كل من الدالة call ودالة apply ودالة bind في الجافاسكربت متشابهون إلى حد كبير، والفروقات بينهم صغيرة، ولو تعرفت على أي منهم تستطيع بسهولة أن تتعرف على الدالتين الأخرتين، دعونا في البداية نبدأ بالدالة call، ما هي الدالة call وما هي وظيفتها؟ Call Function الدالة call هي دالة معرفة مسبقا في لغة الجافاسكربت، وهي دالة تتبع الكائن Function وبالتالي أي دالة تقوم بتعريفها تأخذ كل خصائص
Votes 0 Comments 0 Views 1464

الـ Mixins-Based Inheritance في الجافاسكربت

Written By Nedal Eldeen on Tue, 25 Sep 2018 09:40 pm
تحدثنا باستفاضة عن كل من الـ classical inheritance و الـ prototypal inheritance، وقلنا أن كل من النوعين يندرجان تحت عملية الـ delegation عن طريق استخدام سلسلة الـ prototype. فماذا عن استخدام الـ Mixins في الوراثة؟ هناك بعض التحديات التي تجعلنا نفكر في استخدام منهج أخر في عملية الوراثة، أولى هذه التحديات هي؛ كيف يمكن لنا أن نجعل فصيل ما أو كائن ما يرث من أكثر من أب في آن واحد
Votes 0 Comments 0 Views 383

الفرق بين الـ classical inheritance والـ prototypal inheritance في الجافاسكربت

Written By Nedal Eldeen on Sun, 16 Sep 2018 09:34 pm
بعدما تحدثنا بشكل مفصل عن كل من الـ classical inheritance والـ prototypal inheritance في الجافاسكربت، الآن يأتي دور الحديث عن الفرق بين كل منهما. قلنا سابقا أن كل منهما يعتمد على سلسلة الـ prototpe والاختلاف الجوهري يكمن في تركيبة وشكل هذه السلسلة، وبالتالي إذا علمت شكل سلسلة الـ prototype في كل من النوعين بشكل دقيق، تستطيع بكل سهولة أن تستخرج مميزات وعيوب كل منها، وفي أي الحال
Votes 0 Comments 0 Views 1107

الـ prototypal inheritance في الجافاسكربت

Written By Nedal Eldeen on Tue, 15 May 2018 01:03 am
الـ prototypal inheritance يعد الشق الثاني من موضوع الوراثة في الجافاسكربت، لكن في البداية دعونا ندردش سويا بكشل عام على فكرة الـ prototypal inheritance، معظم الأنمطة التي نتحدث عنها في الجافاسكربت، هي بالأساس الأول قد نشئت في لغات أخرى غير لغة الجافاسكربت، ومن هنا علينا -على أقل تقدير- أن نأخذ فكرة عن موضوع prototypal inheritance في لغات مثل الجافا أو السي بلس بلس. قبل الحديث
Votes 0 Comments 0 Views 792

الـ classical inheritance في الجافاسكربت

Written By Nedal Eldeen on Tue, 15 May 2018 12:22 am
الـ classical inheritance يعد الشق الأول في عملية الوراثة في الجافاسكربت، أو بالأحرى الطريقة الأولى لتطبيق الوراثة في الجافاسكربت، فماذا نعني بالـ classical inheritance ؟ بكل بساطة هى عملية تطبيق الوراثة باستخدام الـ classes، تحدثنا سابقا عن نمط دالة الإنشاء، وتكلمنا باستفاضة عن كيفية محاكاة الـ classes واستنشاء objects من هذه الـ classes. الآن جاء دور موضوع الوراثة. وقبل الولو
Votes 0 Comments 0 Views 575

الوراثة في الجافاسكربت

Written By Nedal Eldeen on Mon, 14 May 2018 11:40 pm
قبل الحديث عن الوارثة في الجافاسكربت، دعونا نتحدث سريعا عن الوراثة بشكل عام، حيث أن الوراثة تعد أحد الأركان الرئيسية في البرمجة الكائنية التوجيه "object oriented programming"، والوراثة بكل بساطة هي عملية يتم من خلالها توريث خصائص ووظائف من كائن إلى أخر. وهذه العملية تساعدنا كثيرا في الحصول على أكواد نظيفة ومرتبة وقابلة للاستخدام أكثر من مرة. لو فرضنا أننا بصدد برمجة
Votes 0 Comments 0 Views 1496

نمط دالة الإنشاء - الـ constructor pattern في الجافاسكربت

Written By Nedal Eldeen on Wed, 02 May 2018 01:40 pm
تحدثنا في موضوع سابق عن البرمجة الكائنية التوجيه الـ "oop" في الجافاسكربت، وتحدثنا عن المفهوم وأهميته بشكل مفصل، وتناولنا موضوع الـ classes ودورها في الـ object oriented programming، والآن يأتي السؤال الأهم؛ كيف نطبق ونستفيد من هذا المفهوم في الجافاسكربت ؟ أولى الخطوات لكي نحقق هذا المفهوم ونطبقه؛ هي إنشاء فصائل "classes" ومن ثم عمل "instantiation"
Votes 0 Comments 0 Views 1334

الـ object oriented programming في الجافاسكربت

Written By Nedal Eldeen on Thu, 12 Apr 2018 10:15 am
قبل الحديث عن أي شيء يخص الجافاسكربت في هذا الصدد، علينا أولا أن نتحدث عن المفهوم بشكل عام، الـ object oriented مفهوم أو نظرية أو فكرة يمكن تطبيقها في أي لغة برمجة، هي ليست معنية بلغة واحدة عن باقي اللغات. الـ object oriented programming تعني باللغة العربية البرمجة الكائنية التوجيه، وهناك من يطلق عليها برمجة الكائنات الموجهة، وغالبا ما يُشار إليها بالـ oop، فما هي البرمجة
Votes 0 Comments 0 Views 2761

الـ Design Patterns في الجافاسكربت

Written By Nedal Eldeen on Tue, 13 Mar 2018 07:14 am
قبل أن نتحدث عن أي شيء يخص الـ design patterns دعونا في البداية نحكي قصة رمزية نبدأ بها موضوعنا. كانت لدينا قطعة أرض نريد أن نبني عليها عمارة سكنية، فقمنا بمخاطبة بعض المهندسين المعماريين الاكفاء لكي يرسموا لنا تصميم هذه العمارة. هؤلاء المهندسون مختلفون تماما من حيث الجامعات التي درسوا بها، والشركات التي عملوا بها، وكل منهم لا يعرف الأخر. وطلبنا من كل مهندس على حدة أن ينشئ لنا
Votes 0 Comments 0 Views 2129

ما هو الـ frame rate وما هي العوامل التي تؤثر عليه

Written By Nedal Eldeen on Mon, 12 Mar 2018 10:53 pm
أكثر الناس الذين يشغلهم موضوع الـ frame rate هم مطوري الألعاب، وصناع الفيديوهات والأفلام، والمهتمين بعالم الجرافيكس والانيمشن، وكذلك بعض مطوري الويب خاصة من لديهم مواقع بث الفيديوهات وشغل الوسائط المتعددة الـ Multimedia، فإن كنت مهتم بموضوع الـ frame rate عليك أن تكون ملم ببعض النقاط في هذا المجال، في البداية دعونا نتحدث عن تعريف الـ frame rate. ما هو تعريف الـ frame rate ؟؟ ا
Votes 0 Comments 0 Views 14850