pregnancy

ماهو الجافا او الجافا سكربت

JavaScript /\ Java



جافا سكريبت (بالإنجليزية: JavaScript) هي لغة برمجة وتأتي كلمة جافا من الإنجليزية وتعني قهوة الجافا الإندنوسية، وهي جزيرة إندونيسية، ولا علاقة لمنشأ اللغة باسمها. طورت جافاسكريبت من قبل شركة نيتسكيب (بالإنجليزية: Netscape) وصن مايكروسيستمز (بالإنجليزية: Sun Microsystems).

 تختلف الجافا سكريبت عن لغة الجافا من شركة صن مايكروسيستمز والتشابه في الاسم لا يرجع لأنهما مثل بعضهما،
 الجافا سكريبت
وفائدة هذه اللغة هي بثّ الحياة إلى شبكة الإنترنت، حيث تستخدم لإنشاء صفحات إنترنت أكثر تفاعلية (ديناميكية).
يوجد نمطين للغة جافا سكريبت من حيث التنفيذ لدى العميل ولدى الخادم، الأول يقوم بتحميل الكود مع صفحة HTML ومن ثم تصبح العمليات التي يطلبها المستخدم تنفذ على جهازه أي ضمن المتصفح الخاص به والثانية تجبر المتصفح على الاتصال مع الخادم من أجل تنفيذ الأوامر وإعطاء النتيجة إلى العميل ليقوم بعرضها. ويعيب الأولى بطء تحميل الصفحة للمرة الأولى ومن ثم سرعة التنفيذ أثناء الجلسة ولكن الثانية تتميز بسرعة التحميل للمرة الأولى والبطئ في الاستجابة بسبب عملية الاتصال مع الخادم لدى كل طلب من الزبون.
تزايد الاهتمام بالجافاسكريبت خاصة بعد انتشار تقنية الاجاكس AJAX والتي أدت إلى سرعة في التفاعل مع المستخدم.
وقد أنشئت هذه اللغة لتعمل بالكامل من خلال المتصفح، لذلك فلا يمكن استخدامها لإنتاج برامج تعمل وحدها دون المتصفح، وهي في ذلك مثلها مثل لغات الشبكة الأخرى كـ HTML وغيرهما.
في الاونة الأخيرة مع إطلاق وندوز 8 أصبح بإمكان المطورين برمجة تطبيقات Metro Style App بواسطة الجافاسكربت والـ HTML5 بدمجها مع واجهة برمجة التطبيقات الجديدة WinRT إلا انها لا تنفذ على متصفحات الويب وتعمل كتطبيقات Standalone تحت نظام Windows8 والأجهزة المتوافقة معه.

 ومن اساسيتها :

الكائنات Objects
الكائنات Objects مثلا هي الصور والأزرار والصفحات والبيانات وكل ما في ذاكرة الحاسب من أشياء يتم التعامل معها كأنها كائنات. وكل كائن له خصائص تميزه وطرق (Methods) ووظائف (Functions) تستخدم للتعامل مع كل كائن للقيام بالوظائف الخاصة به.
المتغيرات Variables
تعتبر كذاكرات تحفظ قيما وتحمل اسما معينا ويمكن استرجاع القيمة أو تعديلها أئناء التشغيل الفعلي للكود (Run time)، كما أنه في لغة جافاسكربت يمكن تعديل نوع البيانات (Data Type) المخزنة في هذا المتغير أيضا أثناء التشغيل الفعلي للكود وتسمى هذه الخاصية تغيير النوع التفاعلي (Dynamic typing). و تقوم بأنشائ المتغيرات عن طريق هذا الكود:: var nameOfVariable;
الدوال Functions
و تسمى أيضا وظائف.
وهي تجمع عدة تعليمات (Instructions) تحت اسم مرجعي واحد. فمثلا لطلب أن يقوم المتصفح بإظهار رسالة معينة للمستخدم ثم تلقي الإجابة منه نقوم بجمع هذه التعليمات في دالة (وظيفة) واحدة، وكلما تطلب الأمر تنفيذ نفس التعليمات السابقة نقوم باستخدام هذه الدالة فورا دون الحاجة لكتابة التعليمات مرة أخرى.
ويتم كتابة دالة بلغة جافا سكريبت عن طريق كتابة الكلمة المحجوزة function ومن ثم يتمبعها اسم الدالة + () وثم يتم فتح جسم الدالة وكتابة الجمل البرمجية التي ستنفذها تلك الدالة مثل function print()
{ window.alert("welcome") }
التكراريات Loops
تمكن من تنفيذ مجموعة تعليمات بطريقة تكرارية أو دورية.
ومنها:
  • تكرارية for
  • تكرارية while
  • تكرارية do while
  • تكرارية case
  • تكرارية foreach
الشرطيات Conditions
مجموعة تعليمات تنفذ في حالة تحقق شرط معين.
ومنها:
  • شرطية if
  • شرطية switch

Java

 الـ جافا
هي لغة برمجة من الجيل الثالث (المستوى الثالث) تم اصدارها لأول مرة عام 1995 عن طريق شركة صن ميكروسيستمس. و تتميز هذه اللغة بأنها كائنية التوجه كليا مما يجعلها مناسبة جدا لتطوير النظم المعقدة جدا و في نفس الوقت فهي بسيطة و سهلة الاستخدام فيمكن استعمالها بسهولة لتطوير برمجيات بسيطة كذالك.
من مميزات الجافا ان جميع البرمجيات التي تكتب بالجافا لا يتم ترجمتها للغة الآلة مثل باقي لغات البرمجة بل يتم ترجمتها إلى ما يسمى بالـ ByteCode (تحفظ كملف بإمتداد “.class”) وهذه الأخيرة عبارة عن لغة وسيطة بين لغة البرمجة و لغة الآلة بالتالي فإن برمجيات الجافا تعمل على “جهاز جافا الإفتراضي” (Java Virtual Machine)و هو عبارة عن برنامج مشغل لبرمجيات الجافا، مما يجعل برمجيات الجافا غير قابلة للتشغيل في حالة عدم وجود هذا البرنامج و لكن في نفس الوقت فإن هذه الخاصية تجعل لغة الجافا أقوى بكثير من نظيراتها حيث أنه بفضل هذه الخاصية يمكننا تشغيل اي برنامج جافا كتب على أي نظام تشغيل على أي نظام تشغيل آخر دون الحاجة لإعادة عملية البرمجة والترجمة.
 
صنعت لغة جافا حتى تقدم بعض الخدمات المتميزة عن لغات الأخرى و هي :
  • الإنتقالية (portability) : و هي امكانية تشغيل برمجيات الجافا على أي نظام تشغيل كما ذكرنا بالأعلى
  • الأمان (security) : كون برمجيات الجافا لا تعمل إلا عن طريق جهاز جافا الإفتراضي فبالتالي فإن هذا الجهاز يضع حدودا لإمكانيات بعض البرمجيات مما يعيق إمكانية صنع برمجيات مخربة عن طريق هذه اللغة
  • كائنية التوجه (Object Oriented): أن ابسط برنامج يمكن عمله بالجافا لا بد ان يتبع توجه البرمجة الكائنية التي تسهل الكثير و الكثير من المشاكل بالنسبة لمتطور البرمجيات كما سترون في تدوينات قادمة
  • —- (Distributed): يمكن صنع برامج جافا تعمل على الشبكة و تتخاطب مع بعضها البعض بكل سهولة.
مع أن لغة الجافا تختلف كثيرا عن قريناتها في طريقة عملها و في خصائصها إلا أنها تتشابه كثيرا في قواعد تركيب و كتابة شفرتها بلغة الـ C++ المشهورة ، مما يسهل عملية تعلم الجافا لمبرمجي هذه اللغة ، أما إذا كنت جديدا في عالم البرمجة فلا عليك فإننا سنأخذك خطوة بخطوة إلى داخل عالم البرمجة بالجافا ثم سيكون الأمر بين يديك لتطوير نفسك بالتدريب المتواصل.
 
تاريخ الجافا
بدأ ظهور الجافا في العالم كمشروع لشركة صن يسمى “اواك” (OAK) في عام 1991 و تحد قيادة أب الجافا “جيمس غوسلينغ“. كان هدف المشروع صنع لغة برمجمة تعمل على اي جهاز صغير، خلال فترة صغيرة تغيرت أهداف المشروع و تغير المشروع نفسه إلى جافا وقد اصدر الإصدار الأول منها عام 1995. كان الإصدار الأول من جافا يهتم بتوفير امكانية صنع بريمجات الويب ( التي تعمل في متصفح الانترنت) و خلال و قت وجيز اصبحت معظم متصفحات الإنترنت تدعم الجافا بسبب امكانيات العالية و الثبات والأمان التي وفرتهم الجافا في تلك الفترة.
في عام 1998 تم تطوير الجافا بشكل جذري و اصبحت تسمى جافا2 و من اهم التطويرات التي وضعت في هذه الإصدارة هي امكانيات الجافا في الواجهة الرسومية للمستخدم.من ثم كان هنالك العديد من تطويرات للجافا هنا نوجزها

JDK 1.1.4 (Sparkler) September 12, 1997
JDK 1.1.5 (Pumpkin) December 3, 1997
JDK 1.1.6 (Abigail) April 24, 1998
JDK 1.1.7 (Brutus) September 28, 1998
JDK 1.1.8 (Chelsea) April 8, 1999
J2SE 1.2 (Playground) December 4, 1998
J2SE 1.2.1 (none) March 30, 1999
J2SE 1.2.2 (Cricket) July 8, 1999
J2SE 1.3 (Kestrel) May 8, 2000
J2SE 1.3.1 (Ladybird) May 17, 2001
J2SE 1.4.0 (Merlin) February 13, 2002
J2SE 1.4.1 (Hopper) September 16, 2002
J2SE 1.4.2 (Mantis) June 26, 2003
J2SE 5.0 (1.5.0) (Tiger) September 29, 2004
Java SE 6 (1.6.0) (Mustang) December 11, 2006
Java SE 7 (1.7.0) (Dolphin) قريبا
 
العديد من التطويرات الجافا التي لا يزال تطويرها مستمرا وخلال السنين تطورت الجافا و اصبحت تستعمل لصنع برامج مكتبية ، بريمجات الإنترنت، صفحات انترنت ، بريمجات اجهزة الجوال و غيرها الكثير.
 
منصات الجافا
تقدم لغة برمجة الجافا اكثر من منصة عمل للمبرمجين و مطوري النظم. كل من هذه المنصات لها خصائص و تقنيات تختلف عن بعضها البعض مما يجعل كل من هذه المنصات متخصصة في تطوير انواع معينة من برمجيات الجافا دون غيرها.
فلنرى كل من هذه المنصات و ما تقدمه لنا كمبرمجين و مطوري نظم:
  • Java 2 Standard Edition (J2SE) :
    تعتبر هذه المنصة الأكثر استخداما في الجافا لتطوير برمجيات المكتبية و (Appletes).
    عموما توفر هذه المنصة وحدات البناء الأساسية لأي برنامج جافا مثلا:
    • الأمور الأساسية بالجافا : توفر اساسيات الكائنات و وحدات تعريف المتغيرات و النصوص و غيرها من الأمور الأساسية في لغة الجافا في رزمة مثل Java.lang
    • إمكانيات القراءة و الكتابة : التي توفر وسيلة الكتابة و القراءة للبرمجيات إما من و في الملفات، قواعد البيانات ، الشبكات و غيرها متوفرة في رزمة Java.io
    • المكتبات المرئية : هي مكتبات تساعد في تكوين الواجهة الرسومية للمستخدم و أشهر رزمتين لتكوين الواجهات الرسومية هم : Java.awt, and Javax.swing
    • التعامل مع قواعد البيانات : توفير امكانية إدخال البيانات و البحث عنها، أغلبها في رزمة java.sql
      و هنالك غير هذه الكثير من الرزم المفيدة المتوفرة مع هذه المنصة
  • Java 2 Micro Edition (J2ME) :
    مجموعة من مكتبات الجافا التي توفر امكانية صنع بريمجيات تعمل في بيئة تفتقر لقوة الحوسبة الكاملة مثل الأجهزة الصغيرة و اجهزة الهاتف النقال. اشتهرت الـ J2ME بسبب توفيرها بيئة سهلة لتصميم برمجيات اجهزة الهاتف النقال و ايضا امكانية ان يعمل البريمج على اكثر من نوع من انواع الهواتف.
  • Java 2 Enterprise Edition (J2EE) :
    هذه المنصة تستعمل لتطوير بريمجات الجافا التي تعمل على جهة الخادم مثل صفحات الـ (JSP) و السيرفرليتس و غيرها من الأدوات و البريمجات المستعملة في تطوير المواقع و البرامج الشبكية.
كما ان هنالك منصات للجافا لا تأتي مع الجافا نفسها ولا هي من صنع صن ميكروسيستمس على سبيل المثال (وليس الحصر) الـ GWT والـ android و هاتين المنصتين هما من صنع جوجل الأولى لبرمجة تطبيقات الويب و الثانية لتطوير برامج تعمل على نظام تشغيل جوجل للجوالات الأندرويد.
 
إضافة لهذه المنصات هنالك العديد من اصناف او لغات مستخلصة من الجافا مثل الجـ روبي والـ جايثون و هما شبيهتان بالروبي و البايثون ولكنهما تعملان على جهاز جافا الإفتراضي مما يعني أن هذه اللغة تترجم إلى الجافا أولا ثم إلى البايت كود (طبعا هذا النوع من اللغات المعتمدة على الجافا لا تتلخص على هاتين اللغتين بل هنالك مجموعة كبيرة من لغات البرمجة تعمل بهذه الطريقة).
شكرا لتعليقك

فهرس




    اندرويد