نبذة عن الجافا
ما هي جافا؟
جافا أو Java هي لغة برمجة عالية المستوى وكائنية التوجه ومتعددة الاستعمالات. لغة برمجة عالية المستوى high-level حيث تتميز بسهولتها واستخدامها لمصطلحات إنجليزية مفهومة وتخفي الكثير من التفاصيل للتعامل مع عتاد الحاسب بعكس اللغات منخفضة المستوى. لغة برمجة كائنية التوجه (object-oriented (OO حيث أنه يتم تمثيل كل شيء على هئية كائن، وكل كائن له نوع معين وصفات وأفعال تميزه عن غيره. لغة برمجة متعددة الاستعمالات general-purpose حيث أنها تستخدم لصناعة برمجيات في شتى المجالات، ومنها على سبيل المثال لا الحصر: تطبيقات سطح المكتب، تطبيقات الويب، تطبيقات الهواتف المحمولة، تطبيقات الأجهزة محدودة الموارد embedded systems، وغيرها.
جافا هي أيضاً منصة برمجية software platform تحتوي على آلة جافا افتراضية (Java Virtual Machine (JVM تقوم بتشغيل برامج الجافا عليها بغض النظر عن نظام التشغيل (operating system (OS أو نوع ومعمارية المعالج CPU architecture التي تشغل هذه الآلة. تتألف برامج الجافا التي تقوم بتشغيلها آلة الجافا الافتراضية من لغة وسيطة intermediate language تسمى جافا بايت كود Java bytecode. يتم إنتاج الجافا بايت كود عادةً بواسطة مترجم الجافا Java compiler وهو الذي يقوم بترجمة لغة الجافا إلى لغة الجافا بايت كود التي تفهمها آلة الجافا الافتراضية. يوجد أيضاً العديد من لغات البرمجة التي يمكن ترجمتها إلى جافا بايت كود، وتسمى هذه اللغات بلغات آلة الجافا الافتراضية JVM languages، ومن أشهرها لغة سكالا Scala.
بسبب طبيعة آلة جافا الافتراضية من حيث أنها تقوم بتشغيل نفس الجافا بايت كود على أي بيئة تشغيلية، تتميز لغة الجافا بمبدأ “أكتب مرة، شغل بأي مكان” (Write Once, Run Anywhere” (WORA”. بمعنى آخر، أكتب برنامج جافا مرة واحدة فقط، وسوف يعمل على جميع الأنظمة التشغيلية، بعكس اللغات الأخرى مثل ++C\C حيث يتم كتابة برنامج مختلف لكل نظام تشغيل.
تاريخ الجافا
بدأ مشروع تطوير لغة جافا عام 1991 م بواسطة جَيْمس قُوْزلِن James Gosling في شركة سن مايكروسيستم Sun Microsystems. تم اختيار اسم اللغة اشتقاقاً من قهوة الجافا والتي يتم إنتاجها في جزيرة في إندونيسيا تسمى جافا. لذلك نلاحظ دائماً اقتران لغة الجافا بكوب القهوة.
تم إصدار أول نسخة من لغة جافا عام 1996 م. قامت سن مايكروسيستم بتحويل جافا إلى لغة مفتوحة المصدر open source عام 2007 م. في بداية عام 2010، قامت شركة أوراكل Oracle بالاستحواذ على شركة سن مايكروسيستم، ومازالت حتى الآن هي المالكة والمطورة للغة ومنصة الجافا.
منصات الجافا
يوجد 3 إصدارات رئيسية من منصة الجافا:
- الإصدار القياسي (standard edition (Java SE: هذا الإصدار يحتوي على المكتبات libraries وإطارات العمل frameworks المستخدمة لبناء الوظائف الأساسية في أي برنامج جافا، بالإضافة إلى بناء البرامج المتقدمة مثل برامج الواجهات الرسومية (Graphical User Interface (GUI، والبرامج التي تعتمد على الاتصال بالإنترنت وبالشبكات الداخلية، والبرامج التي تتعامل مع قواعد البيانات، وغيرها الكثير. لاحظ بأنه عندما يتم ذكر جافا بشكل عام، فالمقصود بها هذا الإصدار من الجافا.
- إصدار المؤسسات وقطاع الأعمال (enterprise edition (Java EE: هذا الإصدار مبني على الإصدار القياسي. بالإضافة لذلك، فهو يحتوي على تقنيات تساعد في بناء أنظمة ذات كفاءة عالية تعمل على خوادم servers ويتم الوصول إليها غالباً عبر الإنترنت.
- إصدار الأجهزة الصغيرة وذات موارد محدودة (micro edition (Java ME: هذا الإصدار يحتوي على جزء من مكتبات الإصدار القياسي بالإضافة إلى مكتبات خاصة للتعامل مع الأجهزة الصغيرة ذات الموارد المحدودة (مثلاً ذاكرة صغيرة، معالج بسيط، إلخ).
يوجد أيضاً منصة خاصة بالطاقات الذكية تسمى جافا البطاقات Java Card، وتعتبر أصغر منصة من منصات الجافا. من أمثلة البطافات الذكية؛ شرائح الاتصال SIM card، بطاقات الصرّاف الآلي ATM card، وغيرها الكثير.
إصدارات الجافا
لغة ومنصة الجافا خضعت للعديد من التغييرات والتطوير منذ أول إصدار بتاريخ 23 يناير 1996 م. منذ الإصدار الرابع من المنصة القياسية J2SE 1.4، يتم تطوير الجافا عبر برنامج يطلق عليه (Java Community Process (JCP. يمكّن هذا البرنامج المؤسسات والأفراد من المشاركة في تطوير الجافا عبر آلية منظمة. البرنامج يتضمن استخدام (Java Specification Requests (JSRs وهي عبارة عن مستندات تشرح مواصفات التقنية المقترحة لإضافتها للجافا.
الجدول التالي يوضح إصدارات الجافا Java SE:
رقم النسخة | تاريخ الإصدار |
---|---|
JDK 1.0 | 23 يناير 1996 |
JDK 1.1 | 19 فبراير 1997 |
J2SE 1.2 | 8 ديسمبر 1998 |
J2SE 1.3 | 8 مايو 2000 |
J2SE 1.4 | 6 فبراير 2002 |
J2SE 5.0 | 30 سبتمبر 2004 |
Java SE 6 | 11 ديسمبر 2006 |
Java SE 7 | 28 يوليو 2011 |
Java SE 8 | 18 مارس 2014 |
لكل إصدار من إصدارات الجافا الحديثة يتم إصدار تحديثات بشكل دوري، كل تحديث له ترقيم خاص. مثلاً التحديث الأربعون من النسخة الثامنة يحمل رقم النسخة 8u40.
الجدول التالي يوضح إصدارات الجافا Java EE:
رقم النسخة | تاريخ الإصدار |
---|---|
J2EE 1.2 | 12 ديسمبر 1999 |
J2EE 1.3 | 24 سبتمبر 2001 |
J2EE 1.4 | 11 نوفمبر 2003 |
Java EE 5 | 11 مايو 2006 |
Java EE 6 | 10 ديسمبر 2009 |
Java EE 7 | 12 يونيو 2013 |
الإصدار الحالي لمنصة Java ME هو 8.2.
مواصفات منصات الجافا وتطبيقاتها
كل منصة من منصات الجافا تكون عبارة عن مواصفات مكتوبة specifications، ويوجد منصات تطبيقية موافقة لهذه المواصفات implementations. بالنسبة للإصدار القياسي Java SE، فتنقسم فيه المواصفات إلى قسمين:
- مواصفات اللغة: مستند يشرح بالتفصيل تراكيب اللغة وقواعدها.
- مواصفات آلة الجافا الافتراضية: مستند يشرح بالتفصيل مواصفات آلة الجافا الافتراضية وتعاملها مع لغة الجافا بايت كود.
وأشهر المنصات التي تطبق هذه المواصفات هي:
- Oracle: التطبيق الرسمي لمنصة Java SE، ويأتي بتوزعتين (Java Development Kit (JDK و (Java Runtime Environment (JRE. الـ JRE يحتوي على الأدوات اللازمة لتشغيل برامج الجافا، وهو موجه للمستخدم النهائي end user. الـ JDK يحتوي على JRE بداخله، بالإضافة إلى أدوات التطوير اللازمة لبناء برامج جافا، وهو موجه للمبرمجين. آلة جافا الافتراضية الموجودة بداخل الـ JRE تسمى HotSpot.
- OpenJDK: التطبيق المرجعي (Reference Implementation (RI لمنصة Java SE. التطبيق المرجعي يعني أن أي محاولة لبناء منصة جافا قياسية جديدة يجب أن تكون متوافقة مع هذا التطبيق ليتم اعتباراها منصة جافا قياسية.
- وغيرها الكثير.
بالنسبة لبقية منصات الجافا، فكل منصة تتألف من العديد من التقنيات، كل تقنية منها تكون مواصفاتها مكتوبة داخل JSR، وكل تقنية لها العديد من التطبيقات الموافقة لتلك المواصفات.
التعليقات (6)
أضف تعليقك
أداة البحث
التصنيفات
- أمن معلومات (1)
- برمجة (7)
السلام عليكم ورحمة الله وبركاتة
اشكرك على هذه التدوينه.
لدي سؤال: لو حاب ابرمج تطبيق سطح مكتب يشتغل على 6 من اجهزة الشركة ومرتبط البرنامج بقاعدة بيانات موجوده على سيرفر محلي في الشركه.
اي اصدار من اصدارات الجافا احتاج ؟ SE ام EE
وعليكم السلام ورحمة الله وبركاته
أهلاً بك عزيزي. بالنسبة لتطبيق سطح المكتب، تحتاج إلى Java SE فقط. بينما الربط مع قاعدة البيانات، فهناك طريقتين، الأولى أن تجعل قاعدة البيانات تعمل في سيرفر منفصل ويتم الاتصال بين تطبيق سطح المكتب وقاعدة البيانات بشكل مباشر، وهنا لن تحتاج إلا إلى Java SE فقط، وتحديداً JDBC APIs.
أما الطريقة الثانية (وهي الأفضل من ناحية الأمان والأفضل للأنظمة الكبيرة) فهي بناء backend يكون مبني بتقنيات Java EE، ويكون وسيط بين تطبيق سطح المكتب وقاعدة البيانات. الاتصال بين الـ backend وتطبيق سطح المكتب يكون باستخدام REST Web Services مثلاً (JAX-RS)، والاتصال مع قاعدة البيانات يكون باستخدام تقنيات مثل JPA أو Hibernate.
اشكرك اخي الكريم . الطريقة االاولى معروفه والثانيه اول مره اسمع فيها؛ سابحث عنها
اخي الفاضل :
لدي شغف كبير لتعلم البرمجه ( جافا)
احتاج منك مسار واضح لتعلم لغة الجافا من البدايه الى الإحتراف ..
كتب – دورات تنصح بها
مثل ماتعرف المصادر العربيه كثيرة ..
فنحتاج الأفضل التي تراها انت مناسبه ..
انا خريجة تقنية معلومات واللغة الاساسيه في جامعتنا الجافا، وانقطعت عن البرمجة لمده ٣ سنوات بعد التخرج، قاعده احاول ارجع لاني كنت متمكنه منها واحبها بس احد صعوبه/ ايش نصيحتك ؟
انا مبتدا في مجال البرمجة المعاصرة كنت اتقن بعض الشئ البرمجة بلغة قديمة معقدة علك سمعت بها وهي لغة كليبرclibber 5 بالاستعانة بلغة ديبار في انشاء ما يسمى فورمات اكروformat ecran
ولكن الان اصبحت بحاجة غلى تعلم اللغات الحديثة اطلب مسعادتكم وشكراً.