xlmnxp

Members
  • عدد منشوراتي

    30
  • تاريخ الإنضمام

  • تاريخ اخر زياره

السمعه بالموقع

7 Neutral

عن العضو xlmnxp

  • الرتبه
    مبدع متقدم

معلومات عامة

  • الجنس
    ذكر
  • السكن
    المملكة العربية السعودية
  • هواياتي
    اهوى اطار العمل nativescript و node.js وتطوير الويب

اخر الزوار

281 زياره للملف الشخصي
  1. احذف com.apple.dt.XCode فقط
  2. `اخي قم بحذف محتوى المجلدات التالية ~/Library/Caches /Library/Caches /System/Library/Caches وقم بإعادة تشغيل الجهاز
  3. السلام عليكم ورحمة الله وبركاته كما في العنوان ماطريقة حفظ صورة الى مكتبة الصور في نظام iOS برمجيًا وهل سوف احتاج الى طلب صلاحية لحفظ الصورة ام لا؟ اريد كود Objective C ان كان ممكن
  4. بإمكانك التسجيل تاجر في souq.com
  5. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته التخطيط المرن او flex layout كما يوحي اسمه فهو تخطيط يعطيك مرونة اكثر في تخطيط الواجهه فهو يستخدم نفس الـ flex في CSS لتخطيط الواجهه خصائص التخطيط flexDirection لتحديد اتجاه المرونة للتخطيط يقبل القيم التالية row ( افتراضيًا ) تخطيط صفوف row-reverse تخطيط صفوف معكوس ( من اخر عنصر الى اول عنصر ) column تخطيط اعمدة column-reverse تخطيط اعمدة معكوس ( من اخر عنصر الى اول عنصر ) flexWrap التفاف العناصر على السطور nowrap (افتراضيًا) جميع العناصر تكون في سطر واحد wrap التفاف العناصر على عدة اسطر ( مماثل لتخطيط WrapLayout ) عندما يمتلى السطر ولا توجد مساحة للعنصر التالي فاينزل العنصر تلقائيًا من الاعلى الى الاسفل wrap-reverse مماثل لـ Wrap , الاختلاف : عندما يمتلئ السطر ولاتجود مساحة للعنصر التالي فايرتفع العنصر تلقائيًا للأعلى من الاسفل الى الأعلى justifyContent للتحكم بمحاذات العناصر داخل التخطيط flex-start (افتراضيًا) في بداية التخطيط flex-end في نهاية التخطيط center في منتصف التخطيط space-between اول عنصر يكون في بداية التخطيط واخر عنصر يكون في نهاية التخطيط وباقي العناصر يتم تقسم المساحة عليها بالتساوي space-around يتم توزيع المساحة بالتساوي على جميع العناصر مع مساحة على الأطراف ( المسافة التي بينهم غير متساوية ) space-evenly يتم توزيع المساحة بحيث يتباعد كل عنصرين (مع المساحة على الأطراف) بالتساوي ( المسافة الفاصلة بينهم متساوية ) alignItems محاذات العناصر على المحور flex-start ببداية المحور flex-end بنهاية المحور center بمنتصف المحور baseline محاذات العناصر بالنصوص ( للأسف لا تستطيع إستخدامها في nativescript ) stretch ( افتراضيًا ) كامل ارتفاع التخطيط alignContent لمحاذات الاسطر داخل التخطيط flex-start جميع الاسطر تكون في بداية التخطيط flex-end جميع الأسطر تكون في نهاية التخطيط center جميع الأسطر تكون في منتصف التخطيط space-between اول سطر يكون في بداية التخطيط واخر سطر يكون في منتصف التخطيط وباقي المسافات الفارغة في التخطيط بين الأسطر يتم تقسيمها بالتساوي space-around يتم تقسيم المسافة الفارغة في التخطيط بالتساوي على جميع الاسطر والحواف stretch ( افتراضيًا ) الأسطر تمتد لتاخذ كامل المساحة الفارغة خصائص عناصر التخطيط order اولوية ترتيب العنصر في التخطيط ( افتراضيًا يتم توزيع العناصر بترتيبها في التخطيط ) flexGrow ( افتراضيًا هو 1 ) يعرف التخطيط بان العنصر ينموا flexShrink ( افتراضيًا هو 1 ) يعرف التخطيط بان العنصر يتقلص alignSelf ( افتراضيًا هي تتبع align-items المعرف في التخطيط ) تقوم بإضافة محاذاه للعنصر نفسه في التخطيط ( للتنويه استخدامها محدود مع نظام IOS ) flexWrapBefore تقبل true و false ( افتراضيًا هي false ) تقوم بالسماح للعنصر بالألتفاف داخل التخطيط مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd"> <FlexboxLayout flexDirection="column"> <!-- Reverse the natural flow of items --> <FlexboxLayout height="22" flexDirection="row-reverse"> <!-- Use even flexGrow to achieve uniform grid --> <Label text="1" backgroundColor="#EEEEEE" flexGrow="1" /> <Label text="2" backgroundColor="#DDDDDD" flexGrow="1" /> <Label text="3" backgroundColor="#CCCCCC" flexGrow="1" /> <Label text="4" backgroundColor="#BBBBBB" flexGrow="1" /> <Label text="5" backgroundColor="#AAAAAA" flexGrow="1" /> <Label text="6" backgroundColor="#999999" flexGrow="1" /> </FlexboxLayout> <!-- Set flexGrow to accomodate into any extra space --> <ScrollView flexGrow="1"> <!-- Wrap excessive items on new lines --> <FlexboxLayout flexWrap="wrap" alignContent="flex-start"> <Label textWrap="true" text="أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ." /> <!-- Use flexWrapBefore to control explicit line wrapping --> <Label text="Gihub issue labels:" flexWrapBefore="true" fontSize="11" /> <Label text="S: High" flexWrapBefore="true" borderRadius="5" backgroundColor="red" margin="2" /> <Label text="T: Feature" borderRadius="5" backgroundColor="green" margin="2"/> <Label text="3 - In Progress" borderRadius="5" backgroundColor="gray" margin="2"/> <Label text="S: Ullamcorper" borderRadius="5" backgroundColor="red" margin="2" /> <Label text="T: Vulputate" borderRadius="5" backgroundColor="green" margin="2"/> <Label text="2 - Egestas magna" borderRadius="5" backgroundColor="gray" margin="2"/> <Label text="S: High" borderRadius="5" backgroundColor="red" margin="2" /> <Label text="T: Phasellus" borderRadius="5" backgroundColor="green" margin="2"/> <Label text="عالم البرمجة" borderRadius="5" backgroundColor="gray" margin="2" order="2"/> <Label flexWrapBefore="true" textWrap="true" text="أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ أبجد هوز حطي كلمن سعفص قرشت ثخذ ضظغ." id="description" /> </FlexboxLayout> </ScrollView> <FlexboxLayout> <Button text="&lt;" width="50" backgroundColor="gray" /> <!-- Set flexGrow to 1 accomodate into any extra space --> <Button text="إعادة النشاط" flexGrow="1" backgroundColor="darkgray" /> <Button text="&gt;" width="50" backgroundColor="gray" /> </FlexboxLayout> </FlexboxLayout> </Page> مصدر A Complete Guide to Flexbox
  6. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته هذا التخطيط يقوم بترتيب العناصر حسب المساحة المتوفرة ويبدًا صف جديد عندما تكون المساحة غير كافية للعنصر خصائص التخطيط orientation التوجية وتقبل قيمتين هما horizontally أفقيا و vertically رأسيا افتراضيًا هو horizontally وitemWidth يستخدم لتحديد عرض العنصر في التخطيط وitemHeight يستخدم لتحديد ارتفاع العنصر في التخطيط مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd"> <WrapLayout orientation="horizontal" width="210" height="210" style.backgroundColor="lightgray"> <Button text="تخطيط" width="70" height="70" backgroundColor="red"/> <Button text="الدوران" width="70" height="70" backgroundColor="green"/> <Button text="عالم" width="70" height="70" backgroundColor="blue"/> <Button text="البرمجة" width="70" height="70" backgroundColor="yellow"/> </WrapLayout> </Page> بإستخدام خاصية orientation راسي vertical <Page xmlns="http://schemas.nativescript.org/tns.xsd"> <WrapLayout orientation="vertical" width="210" height="210" style.backgroundColor="lightgray"> <Button text="تخطيط" width="70" height="70" backgroundColor="red"/> <Button text="الدوران" width="70" height="70" backgroundColor="green"/> <Button text="عالم" width="70" height="70" backgroundColor="blue"/> <Button text="البرمجة" width="70" height="70" backgroundColor="yellow"/> </WrapLayout> </Page> بإستخدام itemWidth و itemHeight <Page xmlns="http://schemas.nativescript.org/tns.xsd"> <WrapLayout orientation="vertical" itemWidth="50" itemHeight="50" width="210" height="210" style.backgroundColor="lightgray"> <Button text="تخطيط" width="70" height="70" backgroundColor="red"/> <Button text="الدوران" width="70" height="70" backgroundColor="green"/> <Button text="عالم" width="70" height="70" backgroundColor="blue"/> <Button text="البرمجة" width="70" height="70" backgroundColor="yellow"/> </WrapLayout> </Page>
  7. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته هذا التخطيط يرتب عناصرة أفقيا ( horizontally ) أو رأسيا ( vertically ) . يتم تعيين الاتجاه مع خاصية التوجه ( orientation ) . الخصائص الخاصة بالتخطيط هي واحده orientation التوجية وتقبل قيمتين هما horizontally أفقيا و vertically رأسيا افتراضيًا هو horizontally مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> <StackLayout> <StackLayout> <Button text="مرحبًا في دورة nativescript" /> <Button text="من" /> <Button text="عالم البرمجة" /> </StackLayout> <StackLayout orientation="horizontal"> <Button text="مرحبًا في دورة nativescript" /> <Button text="من" /> <Button text="عالم البرمجة" /> </StackLayout> </StackLayout> </Page>
  8. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته الـ GridLayout او التخطيط الشبكي يحدد هذا التخطيط منطقة تخطيط مستطيلة تتكون من أعمدة ( columns ) وصفوف ( rows ) من ثم تقوم بتحديد لكل عنصر صف ( row ) وعمود ( col ) يتطلب خاصيتين ليعمل هما rows ( يقبل نص للتخطيط ) لتحديد تخطيط الصف و columns ( يقبل نص للتخطيط ) لتحديد تخطيط الأعمدة ويكتسب عناصرة ( اطفاله ) اربع خصائص هم row ( يقبل رقم ) لتحديد العمود الخاص بالعنصر يبدا من 0 وcol ( يقبل رقم ) لتحديد الصف الخاص بالعنصر يبدا من 0 وrowSpan ( يقبل رقم ) لتحديد امتداد العنصر في الصفوف ( لصف او صفين او ثلاثة الخ... ) يبدا من 1 وcolSpan ( يقبل رقم ) لتحديد امتداد العنصر في الأعمدة يبدا من 1 ماهو نص التخطيط وكيف اكتبة؟ نص التخطيط ( تسمية للتوضيح سوف استخدمها لكامل الدورة ) هو نص تستطيع من خلالة تحديد المساحة المخصصة لكل عمود او صف وعددها وتفصل بين كل عمود او صف بعلامة فاصلة " , " عناصر تحديد المسافةلنص التخطيط قيمة مطلقة حجم ثابت من وحدة البكسل ( pixel ). نجمة [*] ياخذ مساحة كبيرة من المتاحة له ومن خصائصة عند جعل جميع الأعمدة منه ( نجوم [*] ) يقوم بتقسم المساحة بالتساوي على الأعمدة. auto (تلقائي) يقوم باخذ المساحة التي يحتاجها العنصر. افتراضيًا عند عدم تحديد الصفوف و الأعمدة لتخطيط الشبكة يكون التخطيط عمود واحد نجمة وصف واحد نجمة. امثلةعلى نص التخطيط <GridLayout columns="50, *, auto"> يقوم بإنشاء GridLayout بثلاث اعندة العمود الاول مساحتة 50 بيكسل ( Pixel ) ثابت والعمود الثاني ياخذ المساحة المتبقية والعمود الثالث ياخذ المساحة التي تحتاجها عناصر العمود ونفس الامر على الأعمدة بنفس المنوال مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo" class="page"> <GridLayout rows="auto" columns="175,*,auto" rows="*,*"> <Button row="0" rowSpan="2" col="0" text="عالم البرمجة" /> <Label row="0" col="2" text="تخطيط الشبكة" textWrap="true" /> <Label row="0" col="1" text="WhatsApp" /> <Button row="1" col="1" text="install" /> </GridLayout> </Page>
  9. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته التخطيط الرصيفي او الـ DockLayout هو تخطيط يقوم برصف جميع العناصر على حدود التخطيط وياخذ ماتبقى من المسافة ويضع العناصر الاخيرة فيها مع تحديد الأتجاه لكل عنصر بالخاصة dock left يسار right يمين top اعلى bottom اسفل الخاصية stretchLastChild تقبل القيمة true او false وتختص بإمتداد العنصر الأخير ام لا ( بشكل افتراضي هي true ) مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> <DockLayout stretchLastChild="true"> <Button dock="left" text="يسار" backgroundColor="red" /> <Button dock="top" text="اعلى" backgroundColor="green" /> <Button dock="right" text="يمين" backgroundColor="yellow" /> <Button dock="bottom" text="يسار" backgroundColor="blue" /> <Button text="المتبقي" backgroundColor="orange" /> <Button text="عالم البرمجة" backgroundColor="orange" /> </DockLayout> </Page> بدون امتداد العنصر الأخير <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> <DockLayout stretchLastChild="false"> <Button dock="left" text="يسار" backgroundColor="red" /> <Button dock="top" text="اعلى" backgroundColor="green" /> <Button dock="right" text="يمين" backgroundColor="yellow" /> <Button dock="bottom" text="يسار" backgroundColor="blue" /> <Button text="المتبقي" backgroundColor="orange" /> <Button text="عالم البرمجة" backgroundColor="orange" /> </DockLayout> </Page>
  10. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته التخطيط العائم او absolute layout في الـ nativescript هو تخطيط يتطلب منك تحديد لكل عنصر من عناصرة قيمة top ( الاعلى ) وقيمة left ( اليسار ) لتحديد مكان إبتعاد العنصر في التخطيط مثال على التخطيط <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> <AbsoluteLayout> <Button text="دورة nativescript" top="10" left="10" backgroundColor="red" width="200" /> <Button text="في" top="40" left="40" backgroundColor="yellow" width="200" /> <Button text="عالم البرمجة" top="70" left="70" backgroundColor="blue" width="200" /> </AbsoluteLayout> </Page>
  11. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته الـ layouts او نظام التخطيط في nativescript ينقسم الى 6 انظمة تخطيط مشابه لـ display في CSS مهمتها تخطيط واجهة التطبيق مثل وضع النص على اليمين والزر على اليسار ويكون تحته مثلًا صورة الخ... الـ layouts AbsoluteLayout انتقل للشرح في هذا التخطيط تحتاج لتحديد لكل عنصر قيمة top وقيمة left DockLayout انتقل للشرح هذا التخطيط يرتب عناصرة على حوافه الخارجية ويسمح للعنصر الأخير بتولي المساحة المتبقية في المنتصف GridLayout انتقل للشرح يحدد هذا التخطيط منطقة تخطيط مستطيلة تتكون من أعمدة ( columns ) وصفوف ( rows ) من ثم تقوم بتحديد لكل عنصر الصف ( row ) والعمود ( col ) StackLayout انتقل للشرح هذا التخطيط يرتب عناصرة أفقيا ( horizontally ) أو رأسيا ( vertically ) . يتم تعيين الاتجاه مع خاصية التوجه ( orientation ) . WrapLayout انتقل للشرح هذا التخطيط يقوم بترتيب العناصر حسب المساحة المتوفرة ويبدًا صف جديد عندما تكون المساحة غير كافية للعنصر FlexboxLayout انتقل للشرح هذا التخطيط هو تنفيذ غير مطابقة لتخطيط Flexible Box Layout في CSS تم شرح جميع الـ layouts في الدروس بالروابط على اليمين
  12. الـ constructor مشابه للـ functions يعمل عند إستدعاء العنصر مباشرة new Example( /* Constructor paramaters */ ); مثال class Example{ constructor(firstname){ console.log("Hello " + firstname); } } new Example( 'Salem' ) // in console: Hello Salem نفس المبدأ مع باقي لغات البرمجة تقريبًا وايضًا تستطيع تعيين بواسطة قيم عناصر الـ Class class Example{ firstname: string; constructor(firstname){ this.firstname = firstname; } sayHello():void { console.log( 'Hello' + this.firstname ); } } var example: Example = new Example('Salem'); example.sayHello(); // in console: Hello Salem
  13. <?php include('connect.php'); $username=$_POST['username']; $email=$_POST['email']; $phone=$_POST['phone']; $address=$_POST['address']; // دالة empty تتحقق اذا كان الحقل فارغ ترجع true if(!empty($username) && !empty($email) && !empty($phone) && !empty($address)){ $x=mysql_query("insert into user (username,email,phone,address) values('".$username."','".$email."','".$phone."','".$address."')")or die(" عفواً لم تتم الإضافة "); } if (!isset($x)){ echo "null"; } else{ echo "<h3 style='color: green;'>Thank you for your register !</h3>"; } mysql_close($m); ?> <form action"#" method="post" class="vcc"> <label for="username"> userName :<p> </label> <input type="text" name="username" value="" id ="name" ><br> <label for="email"> Email :<p> </label> <input type="email" name="email" value="" id="email" ><br> <label for="phone"> phonenumber:<p> </label> <input type="text" name="phone" value="" id="phone"><br> <label for="address"> Address :<p> </label> <input type="text" name="address" value="" id="address" ><br> <input type="submit" value="Send" id="sends"> <input type='hidden' name='add' value='user'> </form>
  14. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته من العايدين جميعًا وكل عام وانت بخير بمناسبة عيد الاضحى المبارك ندخل مباشرة في الدرس ListView هو قائمة تقوم بإستخراج البيانات مباشرة من المصفوفة الى الواجهة اما HtmlView فهو لرسم اجزاء HTML في واجهة التطبيق ( لا تستطيع إستخدام JavaScript فيه بإختصار هو لادعمها ) خصائص الملحق ListView items تحدد فيه المصفوفة المستهدف إستخارج البيانات منها itemTap يفوم بتشغيل دالة عند النقر على احد عناصر ملحق ListView itemLoading تشغيل دالة عند تحميل جميع العناصر loadMoreItems يقوم بتشغيل دالة عند وصول منزلق الصفحة الى أخر عنصر بالأسفل في ListView خصائص الملحق HtmlView html تقوم بإلحاق كود الـHTML بداخلة مثال على الملحقات main-page.xml <Page xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="onNavigatingTo"> <ActionBar title="عالم البرمجة - مستعرض الـHTML و مستعرض المصفوفات"></ActionBar> <StackLayout> <ListView items="{{ List }}" itemTap="onItemTap"> <ListView.itemTemplate> <Label text="{{ name }}" textWrap="true" style="margin: 20px;" /> </ListView.itemTemplate> </ListView> <HtmlView html="<h1><font color='red'>عالم البرمجة</font> دورة nativescript</h1>"/> </StackLayout> </Page> main-page.js var Observable = require("data/observable").Observable; var page; // إنشاء الـ Observable var viewModel = new Observable(); // هذه الدالة سوف تعمل عند الإنتقال للصفحة function onNavigatingTo(args) { page = args.object; // إضافة مصفوفة للـ Observable viewModel.List = [ { name: "Salem"}, { name: "Saleh"}, { name: "Ahmed"}, { name: "Saeed"}, { name: "Eid"}, { name: "Mubarak"} ]; // ربط الـ Observable بالصفحة page.bindingContext = viewModel; } function onItemTap(args){ // يرجع لك الـindex للعنصر الذي تم النقر عليه // args.index alert(viewModel.List[args.index].name); } exports.onNavigatingTo = onNavigatingTo; // إستخراج الدالة لإستخدامها داخل main-page exports.onItemTap = onItemTap; الناتج من هنا الملحق WebView WebView او مستعرض الويب كما يوحي اسمه هو ملحق لإستعراض صفحات الويب وشفرات الـHTML وهو يدعم الجافاسكربت وتستطيع استخدامة لإستعراض رابط معين او شفرات HTML & CSS & JavaScript خصائص الملحق src رابط الموقع او شفرة الـ HTML مثال على الملحق WebView <Page loaded="pageLoaded" class="page" xmlns="http://www.nativescript.org/tns.xsd"> <ActionBar title="مستعرض الويب" class="action-bar"></ActionBar> <GridLayout rows="*,*"> <WebView src="http://www.3alampro.com" row="0"></WebView> <WebView src="<html><head><title>عالم البرمجة</title></head><body style='background-color: gray;'> <script>alert('مرحبًا بالعالم')</script> </body></html>" row="1"></WebView> </GridLayout> </Page> الناتج من هنا
  15. بسم الله الرحمن الرحيم السلام عليكم ورحمة اللة وبركاته بكل اختصار مهمة call و apply و bind هي استبدال this الى Object اخر تستخدم عادة لحل مشكلة الـ Global Variable او لتغيير خاصية في عنصر معين مثال بسيط وسوف اشرح الفرق بينهم var animal = function animal(name){ this.name = name; } animal.prototype.getName = function(good){ return this.name + " " + good; } var sheep = new animal('خروف'); var getName = sheep.getName; // undefined جميل alert(getName('جميل')) // خروف جميل alert(getName.call(sheep, 'جميل')); alert(getName.apply(sheep, ['جميل'])); alert(getName.bind(sheep)('جميل')); كما لاحظت قام بحل مشكلة الـ Global Variable الفرق بين call و apply call ( العنصر this, عنصر, عنصر, الخ.. ) يقبل العنصر الاول الذي يستبدل به العنصر this ومن ثم العناصر التي يطلب بها استدعاء الدالة المستهدفة مثال var animal = function animal(name){ this.name = name; } animal.prototype.getName = function(good){ return this.name + " " + good; } var sheep = new animal('خروف'); var getName = sheep.getName; // undefined جميل alert(getName('جميل')) // خروف جميل alert(getName.call(sheep, 'جميل')); apply (العنصر this, عناصر [عنصر, عنصر, عنصر, الخ... ] ) يقبل العنصر الاول الذي يستبدل به العنصر this ومن ثم العناصر التي يطلب بها استدعاء الدالة المستهدفة على شكل مصفوفة مثال var animal = function animal(name){ this.name = name; } animal.prototype.getName = function(good){ return this.name + " " + good; } var sheep = new animal('خروف'); var getName = sheep.getName; // undefined جميل alert(getName('جميل')) // خروف جميل alert(getName.apply(sheep, ['جميل'])); الفرق بين bind و call bind هو مشابه لـ call جدًا فرق بينهم ان bind يرجع دالة نفسها عكس call الذي يرجع ماداخل الدالة بعد تنفيذها مثال function alertFullName(lastname){ alert(this.firstname + ' ' + lastname); } var fullname = { firstname: "Salem" } alertFullName.bind(fullname)("Yaslim")

عالم البرمجة

عالم البرمجة مقالات برمجة و دورات مجانية لإحتراف البرمجة هدفنا تبسيط البرمجة ونشرها بيد الكل بشكل ممتع ومتطور ومحدث بإستمرار لمواكبة جديد تطورات البرمجة الحديثة و المتقدمة بدون مقابل