authentication required

لغة الجافا Java Language:
 هي لغة حديثة أنتجتها عام 1995م شركة SUN Micro System لتناسب التطبيقات الحديثة .
وهي تناسب تطبيقات الإنترنت حيث أصبحت هي قلب برمجة الإنترنت بما توفره من إمكانيات .
وتتصف لغة الجافا بالصفات التالية :
   1-  لغة برمجية تعمل بواسطة الأهدافOOP .
   2- لها بيئة تشغيل خاصة بها JVM .
   3- لها مكتبة فصائل Class Libraries .
   4- تقوم على لغة C  / C++ .
   5- تعمل على معظم نظم التشغيل .

وفيما يلي شرح هذه النقاط :
1- لغة تلتزم بقواعد البرمجة بواسطة الأهداف Object Oriented Programming (OOP)   : حيث وفرت كثير من الجهد الذي كان يبذل باستخدام البرمجة التقليدية ، حيث كانت البرمجة التقليدية توفر للمبرمج مكتبة من الدوالي إضافة إلى تركيب تقليدي للبرنامج وعلى المبرمج أن يستعمل الدوالي مع تركيب البرنامج لإنشاء التطبيقات مما يضطره لكتابة السطور الكثيرة أكثر من مرة ؛ لقد كانت وحدة بناء البرنامج هي الدالة .. في حين أتت البرمجة بواسطة الأهداف بفكرة جديدة هي إنشاء عناصر متكاملة تحتوي على بيانات ودوالي هي أساس إنشاء البرنامج .. وبالتالي أصبحت وحدة بناء البرنامج وحدة كبيرة هي الفصيلة أو العنصر Object مما سهل واختصر الكثير .

2- لغة لها بيئة تنفيذ خاصة   JVM  :  للغة الجافا بيئة تشغيل للبرنامج هي JVM  التي تقوم بترجمة البرنامج للغة الآلة وبالتالي فإن لغة الجافا غير مرتبطة بنظام التشغيل .

3- لها مكتبة فصائل قوية Class Libraries  :نظراً لأن لغة جافا تعتمد على مفهومOOP فهي تحتوي على مكتبة فصائل قوية توفر معظم أو كل الفصائل المطلوبة للإعمال مثل التعامل مع الملفات وقواعد البيانات والشبكات و الرسومات المجسمة والحركة وكذلك التعامل مع الإنترنت .

4- لغة مبنية على لغة الـC,C++ :  فعندما تم إنشاء لغة الجافا كان أساس بنائها لغة من أشهر وأقوى اللغات وهي C,C++ وبالتالي فهي لم تبدأ من حيث بدأ الآخرون بل من حيث انتهى الآخرون وهي لغة C++ و ثم إضافة الجديد في لغة الجافا .

~~~ :) ~~~ 

تعريفات هامة :
1- بيئة تشغيل الـJVM جافا .
2- مترجم برنامج JIT .
3- Java Applet .
4- Java Application تطبيق جافا   .
5- مكتبة SDK , JDK .

تعريفات هامة :
1- بيئة تشغيل الجافا JVM .
2- مترجم برنامج JIT .
3- Java Applet .
4- Java .Application تطبيق جافا .
5- مكتبة SDK , JDK .

وفي مايلي شرح هذه التعريفات :
1- بيئة التشغيل “JVM” :
       الحروف JVM اختصار للعبارة JAVA Virtual Machine   , وهي فكرة قامت جافا بإمشائها لتجعل لغة جافا تعمل على جميع أو معظم أنظمة التشغيل . وتقوم الفكرة على إنشاء طبقة وسيطة Software   كأنها برنامج تشغيل للبرامج RunTime لكل نظام تشغيل يتم إنزاله أولاً على الأجهزة بحيث تفهم هي برامج جافا وتفسرها لنظام التشغيل ثم الجهاز ولهذا كان من مزايا لغة جافا أنها تعمل على كثير من نظم التشغيل الموجودة بعد إعداد JVM الخاصة بمعظم أنظمة التشغيل .. فلا يهم إذا كان البرنامج مكتوب لنظام التشغيل WINDOWS أو UNIX  , المهم أن البرنامج يكتب ثم يحمل إلى الجهاز وعلى الجهاز يوجد JVM للنظام الموجود وبالتالي يعمل البرنامج .
2- Java Applet  :
 نوع من أنواع التطبيقات الذي صمم خصيصاً للإنترنت حيث يقوم المطوّر بإعداد هذا البرنامج Applet  ثم يستدعيه من خلال  إستخدام ملف HTML  بشرط تحميل برنامج Applet  على الخادم server   الموجود عليه ملف الـHTML . أما طريقة إنشاء Applet   وطريقة إستدعائها من داخل ملف HTML فهذا ما سنتعلمه إن شاء الله خلال الدروس القادمة .
3- Java  Application تطبيق الجافا :
هو تطبيق يشبه التطبيقات المنشأة بجميع لغات البرمجة الأخرى يعمل مع نظام التشغيل بعيداً عن شبكة الإنترنت والمشهور عن لغة جافا أنها تعدّ برامج للإنترنت ولكن غير المشهور أيضاً أنها توفر كثير من نقاط القوة في إعداد أي تطبيق سواء مكتبي DISKTOP أو خاص بالشبكات CLIENTSERVER .

~~~ :) ~~~


طرق كتابة برامج الجافا :
توجد أكثر من طريقة لكتابة برامج الجافا وترجمتها منها : 
(1) استعمال المكتبة JDK   مباشرة مع استعمال أي محرر سطور :
تعتبر هذه الطريقة التقليدية هي استعمال أدوات JDK التي أنتجتها شركة SUN مع أي محرر سطور لإعداد البرنامج وهي الطريقة المتبعة عند شرح أجزاء لغة جافا ونبدأ كما يلي :
       الأدوات المطلوبة لإستعمال هذه الطريقة :
   1/ محرر سطور وليكن NoteBad  " المفكرة "  الموجود مع ويندوز .
   2/ مجموعة JDK : ويمكنك الحصول على مكتبة JDK من موقع SUN .من هنا :J2SE download
 .
   3/ أدوات المجموعة JDK :
      - الملف Javac : وهو الملف التنفيذي المستعمل في ترجمة الملف المصدر إلى الصورة التنفيذية .
      - الملفJava : هو البرنامج النسئول عن تنفيذ برامج 
Java   التنفيذية بعد تحويلها .
      - الملف 
Applet  Viewer : لعرض برنامج Applet   للإختبار .

(2) استعمال برامج وسيطة مثل KAWA أو JCreator : يمكنك إنزالها من هنا : Download JCreator .

(3) استعمال البرامج المعدّة للغة الجافا مثل : Forte , JBuilder : يمكنك إنزالها من هنا : Download Borland JBuilder  , Download Forte  .

 

 وفيما يلي توضيح بسيط لهذه الطرق :
(1) استعمال المكتبة JDK مباشرة وهي الطريقة التقليدية وذلك بإعداد مكتبة جافا أو مترجم لغة جافا على جهازك وهي JDK : Java  Developmenet Kit والتي توفرة شركة SUN  مجاناً على موقعها هنا : JAVA Development Kit  .

(2) استعمال برامج وسيطة : وهي برامج معدّة لتسهيل كتابة برنامج لغة الجافا ولكنها ليست بيئة متكاملة . حيث توفر كتابة البرنامج وتنفيذه من خلال بيئة رسومية بشرط وجود مكتبة ومترجم جافا مسبقاً على الجهاز JDK  يوجد برامج كثيرة لهذا الغرض مثل : برنامج Creator  وكذلك Kawa .

(3) البرامج المعدّة للغة جافا : وهي أفضل وأقوى الطرق وذلك بإستعمال أحد البرامج التي تطلق عليها برامج visual  حيث تتوفر جميع متطلبات إعداد تطبيق جافا مثل : البيئة السهلة للإعداد والمكتبة والمترجم ، ومن هذه البرامج الشهيرة Forte  وهو من إنتاج شركة SUN وكذلك برنامج visual café وبرنامج الـ JBuilder وبرنامج الـ
Java
  Developer .


~~~ :) ~~~


مكونات Swing GUI  ( Javax.swing ) :
إن المكونات swing  هي مجموعة غنية من تحكمات واجهة تداخل المستخدم الرسومية ؛ كتبت من أجل أن تبدو وتتصرف بشكل نظام التشغيل نفسه على جهاز المستخدم  . على العكس من مكونات AWT فالأخيرة لا تعتمد على مكونات GUI  الأصلية ؛ إن زر AWT سيبدو مثل زر ويندوز على جهاز ويندوز ، زر ماكنتوش على كمبيوتر ماكنتوش ، وهكذا ..
تستخدم مكونات SWING نموذج الحدث نفسه مثل مكونات AWT و JavaBeans مع أن هذه المكونات تعرّف بعض الأحداث الجديدة .
تستطيع إنزالها من هنا : Javax.swing  .

ما الفرق بين Java و JavaScript


الفرق بينهما شاسع .... فهما لغتان مختلفتان تماما او لنقل لغة و سكريبت ...

لكن قبل ان نقوم بالتفصيل هذه بعض الفروق الاساسية بينهما:

1 - لغة الـ Java يكون النص البرمجي لها "code" محفوضا في ملفات متعددة بينما في JavaScript فان نصها البرمجي مضمن ضمن صفحات الـ HTML التي تحتويها.

2 - لغة الـ JavaScript تستخدم لتعزيز قدرة الـ HTML على التحكم بطريقة عرض المعلومات على الشاشة بينما باستخدام Java يمكن عمل "برامج" منفصلة كطبيقات سطح المكتب او حتى الـ applets .... او عمل الربط بين العميل و الخادم Client/Server مثل PHP او ASP

3 - يمكن دائما رؤية و تعديل نص الـ JavaScript من خلال اي برنامج تحرير نصوص ومن ثم حفظ الملف بصيغة html و عرضه على اي متصفح انترنت .... بينما برامج الـ Java تحتاج الى عمل compile ومن ثم interpret لها قبل "تنفيذها".

 

البعد التاريخي:

الـ Java بدأت كمشروع صغير عام 1995 في معامل شركة SUN Micro System  الضخمة باسم green project وكان الهدف منها لتحكم بالاجهزة مبدئيا الى ان تطورت واصبحت كما نرى الآن .... اما الـ JavaScript فهي لغة منتجة من قبل شركة Netscape و هي تعتبر scripting language و قد قامت NetScape بشراء الاسم Java من sun لكي يساعد في تسويق لغتهم الجديدة .....

 

اهم مميزات الجافا:

- يمكن لاي برنامج معمول بلغة الجافا ان يعمل بشكل مباشر على اي framework بمعنى ان البرنامج يمكن ان يعمل على Windows Xp او Linux او Mac على عكس امكانيات لغات البرمجة الاخرى مثل ++C او حتى #C.

- هي الرائدة في تقنية الـ OO او برمجة المتجهات و تعتبر اكثر لغة تطبق الفكرة كاحد مميزاتها الجبارة.

 

البرامج المعمولة بالجافا تنقسم الى 3 انواع رئيسية

1- Applets وهي كائنات تعرض في صفحات الانترنت "ويمكن ان تنفصل عنها لتظهر في نافذة مستقلة" و توفر تفاعل على مستوى عالى مع المستخدم و اشهر امثلة عليها برامج المحادثة الشهيرة في Yahoo او Digichat المشهورة في المواقع العربية

امثلة :

 

و

 (يجب ان يكون جهازك يحتوى على Java VM)

2- Applications

يمكن ان تنتج الجافا برامج تعمل على سطح المكتب مستقلة تماما مثل برامج تحرير النصوص (عملت واحدا بنفسي !!) شبيهه جدا بالنوتباد مثلا او حتى متصفحات الانترنت

او مثل هذا البرنامج الذي يستخمد كعارض للصور

http://www.cs.umd.edu/hcil/photomesa/

3- تطبيقات الانترنت web applications

هنا نجد البرامج تعمل بوصل العميل مع الخادم تماما مثل لغة PHP و ASP و تدعم قواعد البيانات و غيرها الكثير

وافضل مثال هو موقع sun نفسه ....

 

اتمنى ان اكون الغيت بعض الخلط بين اللغتين Java و JavaScript ..... طبعا لم افصل كثيرا في الـ JavaScript لانها تعتبر معروفة بالنسبة للكثيرين ....

س1: ماهي بدايات لغة الجافا ؟؟
لغة الجافا هي من تطوير شركة صن المعروفة وكانت في البداية جزء منها مكتوب ب سي ++ وسي اما الان فهي مكتوبة من اولها الى اخرها بلغة الجافا.
طبعا اهم ما يميز الجافا انها لا تعتمد على(platform ) معين لانها تعمل على آلة الجافا الافتراضية JVM  لذلك هي مستقلة عن طبيعة platform وهذا هو السبب الرئيسي لإنتشارها الواسع جدا.

س2:هل الجافا هي الجافا سكريبت ؟
لا
يخلط كثير من المبتدئين بين هاتين اللغتين ولكن دعوني اوضح ماهي الجافا سكريبت في البداية التي هي من انتاج شركة نتسكيب وكانت في البداية تسمىlive code و اخذت تسمية الجافا سكريبت لسبب تجاري فقط لان الجافا كانت في اشد انتشارها.
الجافا سكريبت هي لغة بسيطة جدا مقارنة بالجافا فهي لغة Client Side  أي انه يتم تنفيذها على متصفح الويب فالكود يرسل من السيرفر بدون معالجة ,حيث انه يعالج على جهاز الزبون ( client).

س3: ماهي الجافا ؟
توجد ثلاث نسخ للجافا وهي :
J2EE  و  J2SE و J2ME  .لن ندخل في تفاصيلها ولكن سوف اتكلم على J2EE  لانها هي الي عليها الكلام اما J2ME  فهي تخص ال  (wireless devices)  بشكل عام يعني على اجهزة الجوال وغيرها .

س4:ماهي J2EE  ؟
هي إختصار ل Java 2 Enterprise Edition  وهي تزودنا بالتطبيقات الكبيرة على مستوى الشركات الكبيرة وهي تحتوي على تقنيات كثيرة ( حول 12 تقنية ) أنظر الصورة الي اسفل سوف توضح لك أكثر.

س5:ماهي مترجمات (  IDE OR Compilers ) للجافا ؟
يوجد هناك العديد منها ولكنني شخصيا أفضل Jbuilder  من شركة بورلاند المرموقة والان يوجد النسخة التاسعة منة فهو افضل ماجربت في الحقيقة, ولكنه يحتاج الى ذاكرة رام كبيرة لكي يعمل بصورة جيدة (طبعا عيبة البطء لانة مكتوب كامل بلغة الجافا والجافا عيبها انها بطيئة نوعاً ما ولكن مع تطور الاجهزة ربما يندثر هذا العيب).
طبعا هناك ايضا forte من صن وغيرها كثير.

س6:ماهو مدى انتشار الجافا خصوصا في الوطن العربي ؟
جواب:
في الحقيقة الجافا منتشرة في الدول المتقدمة بصورة كبيرة جدا وخصوصا في ( امريكا وبريطانيا ) ولكن مع الاسف فهي عالمنا العربي قليلة الانتشار وان كانت الجامعات أدخلتها ولكن منذ مدة بسيطة نسبياً.

س7:ماذا عن دعم الشركات العملاقة للجافا ؟
في الحقيقة أن ميكروسفت تحارب الجافا وهذة حقيقة مع الاسف فيمكن تلاحظون كثيرا ان الي مركبين  ويندوز اكس بي يعانون من مشكلة عدم توفر JVM على الويندوز الذي كان في نسخة السابقة توجد فيه.
طبعا صن رفعت قضية على مايكروسفت وفازت بها في المحاكم الامريكية ووعدت مايكروسفت انها في النسخ القادمة سوف توفرها في الويندوز لكي لايضطر المستخدمين الى تحميلها من الانترنت.
ولكن هناك شركات عملاقة تدعم الجافا بكل تفاني مثلا عندك الاوراكل وكلكم يعلم ان Form 9i  مبني على تقنية الجافا ابليت وايضا اي بي ام ( أم الشركات) ومايكروميديا وغيرها كثير.

س8:ماذا عن تقنيات الويب في الجافا ؟
في الحقيقة تكمن قوة الجافا الحقيقة في الشبكات بشكل عام وتراسل البيانات التي مع الاسف لاارى له حضور حتى على مستوى الجامعات اللهم القليل فقط.
الجافا تقدم عدد من التقنيات اهمها(طبعا في مجال الويب) :
JSP

APPLET

SERVLET

EJB

JAVABEAN

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

س9: ماهي ال JSP ؟
هي لغة تمكنك من بناء صفحات انترنت ديناميكية وهي تشبة   asp حقت مايكروسفت في المفهوم فقط .
طبعا  JSP  لغة بسيطة جدا تمكنك من دمج رموز ال HTML مع رموز JSP بحيث يمكنك من دمج كود جافا .

س10: ماهو Servlet  ؟
جواب:
باختصار ال جي اس بي هي امتداد لل سيرفلت يعني فقط تسهيلا لكتابة JSP وضعوا ال جي اس بي بالطبع هناك بعض الفروقات التي لا مجال لذكرها هنا ولكن افضل شي هو تكاملهما مع بعض .

س11: ماهو javaBeans  ؟
جواب:
هي كلاسات جافا لها بعض الشروط البسيطة تخدم مع الويب وفائتها الاساسية تقليل كتابة الكود بحيث يمكن استخدامها في اكثر من صفحة.
 EJP  هي بالمناسبة مكونات تكون موزعة بحيث تستطيع الشركة من خلالها تكامل الانظمة والتحكم في مستوى الامن والانسيابية.

س12:ماهي سيرفرات الجافا على الويب؟
جواب:
اهمها و الكبار منها ( غير مجانية)
1-   IBM WbSphere  وهو بالطبع بيئة إحترافية بحد ذاتها وغنية بالمزايا والان يوجد النسخة 5.1
2-   Oracle9iAs وهو من اسرع السيرفرات وهو من تطوير اوراكل .
3- Bea WebLogic   وهو من السيرفرات المرموقة وحاليا توجد النسخة 8.1 أخرى(مجانية)
1-Tomcat  وهو مجاني ومفتوح المصدر من شركة اباتشي المعروفة وهو المفضل لدى الكثيرين و النسخة الحالية هي 5.1
وغيرهم كثير .

س13:ماهي الصعوبات الي تواجة مطوري الجافا في العالم العربي ؟
جواب:
في الحقيقة دعوني أجيب على هذا السؤال من خلال تجربتي الشخصية:
كنت قد نويت أن أعمل مشروع عبارة عن شركة للسيارات من خلال الانترنت وكنت حينها لا أعلم عن الويب شي (فقط القليل من asp)  قررت أن أستخدم الجافا وخصوصا ان خبرتي في الجافا ابليكيشن والحمد لله جيدة. المهم نزلت أجوب مكتبات الرياض ومع الاسف لم أجد حتى الكتب التي أريدها لتعلم لغة JSP في حين ان رفوف الكتبة مليئة بكتب  ASP.NET . دبرهتا بطريقة خاصة ومن بعض المواقع على النت الحمدلله استطعت اني انهي مشروعي ولكن السلبيات التي مريت بهاالامور :
1-حصولي على الكتب في منتهى الصعوبة .
2- مشاريع كبيرة تمت كتابتها بتقنيات مايكروسفت, حصلوا على دعم كبير بحيث ان الشركة توفر لهم الكتب المطلوبة والنصائح من المختصين لدى الشركة وهذا لم احصل علية لانني كتبت مشروعي بالجافا.
3-عدم انتشار اللغة بصورة كبيرة بحيث كل زملائي الذين اعرفهم كتبوا بلغات دوت نت لذلك لم استطع الاستفادة منهم.
4-عندما حاولت إستضافة موقعي مع الاسف لم أجد المناسب وذلك لقلة شركات استضافة الجافا(العربية).

ولكن هذا لايعني ان الجافا لغة ليست جيدة بل هي منتشرة جدا جدا في الدول المتطورة ولكن هي قليلة الانتشار في الوطن العربي , مع انني سعيد جدا لكتابة مشروعي بها فهي لغة رائعة حقا وقوية جدا.

س14: هل اتعلم الجافا او .NET ؟جواب:
إجابة هذا السؤال تعتمد عليك أنت فإذا كنت تحب البرمجة وتعشق التحدي والمغامرة والجافا تناسب إحتياجك فعليك بها( لاتريد أن تعتمد على  platform معين ).
إما إذا كنت خلاف ذلك فمن رأيي أن تتوجة الى الدوت نت فهي توفر لك كامل الدعم وهي بكل تاكيد أسهل من الجافا لانني كما ذكرت هناك الكثير من الكتب والكثير من الدعم والكثير من المحررات العملاقة و.. يكفي أنها من مايكروسفت.
وعموما الخلاصة ماذا تريده أنت من اللغة هو الذي يحدد إختيارك لها!

س15:أريد أن أتعلم الجافا ولكن لا أردري أي الكتب أفضل ؟؟

بالنسبة للمبتدئين والمتوسطين  أنصحهم بكتاب Java How To Program  من شركة  Deitel™  فهو بحق كتاب رائع جدا ومناسب وسهل الاسلوب جدا (طبعا الكتب باللغة الانجليزية).متوفر في جرير الان(الطبعة الخامسة).
بالنسبة لل Java database  فهناك كتاب لم أرى قط مثلة حتى الان وهو كتاب رائع جدا جدا ولكن لازم تكون عندك خبرة بالجافا قبل ماتقراه وهو  Java Database Programming من Bible ورقم ال    ISBN هو 0-7645-4924-3.
بالنسبة للويب :
Web Development with Java Server Pages الطبعة الثانية
Core Servlets & Java Server Pages  من كتب شركة صن وهو كتاب رائع.

س16:هل الجافا صعبة ؟؟
هذا سؤال في الحقيقة أيضا يعتمد عليك فأصعب مافي الجافا بدايتها فقط ,فأذا تجاوزت البداية وأحببت اللغة فيكون الباقي سهل باذن الله.

س17: ودي اتعلم جافا بس وين المواقع الجيدة ؟؟؟
جواب:
المواقع الي سوف أذكرها كلها باللغة الانجليزية.

www.java.sun.com هذا هو أهم المواقع فهذا هو الموقع الرسمي للغة الجافا وفية الكثير والكثير من الدروس وأنصحك بالمنتديات( Forums ) ستجد فيها ثروة بما تعنيه هذة الكلمة.

www.javaworld.com هذا مجلة عالم الجافا المشهورة وفي ارشيف هذة المجلة العديد من الدوس والمقالات المميزة وهي تعنى بآخر أخبار مايستجد للجافا من أخبار ومنتجات جديدة.

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

 

 

 

  • Currently 60/5 Stars.
  • 1 2 3 4 5
20 تصويتات / 1658 مشاهدة
نشرت فى 15 سبتمبر 2005 بواسطة mara

ساحة النقاش

عدد زيارات الموقع

946,093