الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الجافا ويب ستارت – Java Web Start

مغلق
بدأه Feras Nasser في 16 ديسمبر 2007 · 9 رد · 7,179 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إن من أصعب الأمور التي يواجها أي مبرمج ليس تطوير البرنامج، بل إدارة البرنامج وصيانته.

ما هو الــ JWS - Java Web Start؟

طورت شركة Sun Microsystems إطار عمل جديد يسمح للبرامج المطورة في بيئة جافا بالانطلاق بضغطة زر من أي موقع إنترنت.

بكل بساطة لديك برنامج ذات واجهة UI سواء كانتSWING أو AWT وتود نشره على الإنترنت ،كل ما عليك القيام هو تفعيل الخاصية فقط والجافا ويب ستارت يتولى الباقي!!!

كيف يعمل Java Web Start؟

الفكرة من التقنية هي حل مشكلة الــ Installation (تثبيت البرنامج) على جهاز المستخدم، بالإضافة إلى تنبيه المستخدم بوجود إصدار جديد من برنامجك وإنزاله، والتأكد من وجود المكتبات اللازمة لعمل برنامجك على جهاز المستخدم (ففي حال عدم توفرها يقوم الــ JWS بإنزالها على الجهاز). كما يضمن وجود الإصدار المطلوب من Java Run-time.

والسر وراء هذه التقنية هو وجود ما يسمى بالـــ Java Network Launching Protocol أو JNPL، وهو عبارة عن ملف XML يحتوي على معلومات التشغيل لبرنامجك وأسماء المكتبات اللازمة لعمل البرنامج بشكل صحيح. ويمرر هذا الملف لــ بيئة جافا التشغيلية JRE ويقوم بدوره بإنزال الملفات المطلوبة وتحديد طريقة التشغيل وتشغيل البرنامج في الأخير.

طريقة نشر البرنامج؟

فهناك طريقتين لاستخدام التقنية، الأولى القيام بكاتبة ملف JNLP بنفسك، أو الاستعانة بــ IDE مثل NetBeans أو Eclipse وهو يقوم بإعداد الملف بشكل تلقائي (تتوفر هذه الخاصية في IDE بعد إنزال الــ Plug-in المطلوب للــ JWS).

وبعد إعداد الملف JNLP، قم بإرساله كرابط على البريد أو قم بوضعه في موقعك كرابط. وهي بهذه البساطة ولا تتطلب أي تعديل لبرنامج.

أمثلة لبرنامج بالــ Java Web Start :ـ (قم بالضغط على Launch)

http://java.sun.com/products/javawebstart/demos.html

ماذا يحدث بعد تثبيت البرنامج أول مره؟

يتم تخزين نسخة من البرنامج على الكاش (أول مره يأخذ وقت لتنزيل الملفات على جهازك) ومن بعدها يعمل كبرنامج موجود على الجهاز،وحسب تصميم البرنامج قد لا يحتاج لاتصال بالإنترنت ليعمل (Offline Mode) وبعضها قد يحتاج في حال ارتباط البرنامج بقاعدة بيانات خارجية أو مصدر أخر على الإنترنت (Online Mode).

كما يمكنك تحديد من إعدادات الــ JNLP إذا أرت من البرنامج عمل اختصار على سطح المكتب أول العمل من خلال الرابط فقط.

ما هو فرق الــ Applet عنها؟

الفرق الجوهري بينهم هو أن JWS على خلاف Applet لا يعمل من داخل المتصفح إنما يعمل كبرنامج جافا على الجهاز.

ما هي التقنيات المشابه لها؟

الفلاش منافس لهذه الأنواع من التقنيات (بوجه نظري)، وكلاهما يندرج تحت مسمى Internet Rich Applications.

ما الفائدة من استخدامي لها؟

أنك ما تشيل هم عن كيفية إيصال برنامجك لأكبر عدد من المستخدمين، وتريح راسك من عملية تحديث البرنامج، مثلا لو طلعت إصدار جديد للبرنامج، تقوم التقنية بالواجب ,أنت مرتاح البال.

هذا رابط لكيفية إعداد NetBeans للحصول على هذه الخاصية: http://www.netbeans.org/kb/articles/matisse-jaws.html

وهذا مقطع فيديو لمن لا يرغب في القراءة (اتنح وشوف كيف تسويها): http://testwww.netbeans.org/kb/articles/matisse-jaws-flash.html

تم تعديل هذه المشاركة بواسطة Feras Nasser في 29 ديسمبر 2007 في 15:43

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#2

نختبر الموضوع قريبا..... ترقبوا!

حسام

#3
حسام الملحم أبومازن كتب:
نختبر الموضوع قريبا..... ترقبوا!

حسام

بإنتظار إبداعاتك،،،،،،،،،،،،،،،،،،،، وبالتوفيق إن شالله

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#4

مرحبا اخي فراس ،شكرا على هذا المقاله الرائعه ولكن عندي سؤال هل من الممكن ان اعمل برنامج غي GUI BY SWING واضع على SERVER يقوم ال CLIENT بطلب البرنامج بواسطة ال المتصفح بدون تنزيله على جهاز ال CLIENT .................

وشكراااااااا......

#5
man_J كتب:
مرحبا اخي فراس ،شكرا على هذا المقاله الرائعه ولكن عندي سؤال هل من الممكن ان اعمل برنامج غي GUI BY SWING واضع على SERVER يقوم ال CLIENT بطلب البرنامج بواسطة ال المتصفح بدون تنزيله على جهاز ال CLIENT .................

وشكراااااااا......

السلام عليكم أخي العزيز،

سؤلك مو واضح بالنسبة لي، هل تقصد الإستغناء عن GUI أو SWING ؟

السؤال الثاني ماذا تقصد بدون تنزيله على جهاز العميل؟

لأن JWS في الأساس تنزل البرنامج على الكاش ميموري بالجهاز، عشان الــ JRE (أو Java Run-time) يستطيع تنفيذ البرنامج.

ولكن تستطيع أن تتحكم ما إذا كان العميل باستطاعته تشغيل البرنامج دون الحاجة للإتصال بالإنترنت، ويمكنك جعل البرنامج لا يعمل إلا بتوفير إتصال للإنترنت، أو بمعنى أخر جعل البرنامج إما Offline أو Online.

أمل أخي الكريم توضيح المقصود وانا حاضر

فراس

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#6

اخي فراس ، الذي اقصده انه بفرض انه يوجد شبكه محليه وضعت البرنامج على ال Server والبرنامج مصنوع بالبيئة J2SE ....

يعني هل من الممكن ان يقوم ال User بطلب البرنامج عن طريق المتصفح by JWS يعني انزل البرنامج server و user يستطيع تصفحه عن طريق intranet................

man_J

#7
man_J كتب:
اخي فراس ، الذي اقصده انه بفرض انه يوجد شبكه محليه وضعت البرنامج على ال Server والبرنامج مصنوع بالبيئة J2SE ....

يعني هل من الممكن ان يقوم ال User بطلب البرنامج عن طريق المتصفح by JWS يعني انزل البرنامج server و user يستطيع تصفحه عن طريق intranet................

man_J

اقتباس
هل من الممكن ان يقوم ال User بطلب البرنامج عن طريق المتصفح

نعم ممكن، كل ما تحتاجة هو ملف JNLP وثم يتم وضعه كرابط على الصفحة، مثال لشكل الرابط:

http://localhost/xxxxx.jnlp

ومجرد ما يضغط على الرابط تفتح صفحة البداية للــ JWS (بشرط توفر الإصدار المناسب من JRE في جهاز الــعميل)، والــ JWS يتولى باقي إجراءات التثبيت على جهاز العميل (سواء كان على شبكة داخلية أو شبكة خارجية) المهم وصول العميل لملف الــ JNLP.

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#8

thankx Feras Nasser

فقط لزياده معلومات : تقوم شركة صن الأن بتطوير لغة جديدة base on JDK تحتى أسم JavaFX , ومن أهم المزياها :

The application that has been wrote in JavaFX can work as Desktop Application or Applte Applicaiton or even Mobile Application !!!

for more information

And this is a big picture:

ig_javafx_architecture.jpg

Very nice :)

تم تعديل هذه المشاركة بواسطة yadoo86 في 30 ديسمبر 2007 في 20:23

winter-main.jpg

6179.gif

#9

السلام عليكم،

جدا مشكور أخي الكريم على المعلومة، قمت بتجربت الــ FX منذ فترة، طريقة برمجتها مختلفة عن الجافا التقليدية(لأنها Script)

هذا رابط لوثيقة مقدمة JavaFX http://java.sun.com/developer/technicalArt...avafxscript.pdf

مثال لكود

class HelloWorldModel {
attribute saying: String;
}
var model = HelloWorldModel {
saying: "Hello World"
};
var win = Frame {
title: bind "{model.saying} JavaFX"
width: 200
content: TextField {
value: bind model.saying
}
visible: true
};

وتقدر تعمل برنامج Web Application على شكل برنامج desktop بشكل سريع جداً، ولكن بصراحة ما حبيت الــ Fx كثير، لبعض الأسباب:

- شخصيا لتطوير البرامج السرعة وإختبار الأفكار التي أود تطويرها أستخدم BeanShell وهي لغة Scripting ما تحتاج Compile فقط JRE وتقدر تطوير أي شي. وهو Open Source، لمعرفة المزيد، http://www.beanshell.org/

- من خلال القراءات في النت وجدت أن الكثير لم يحبون Fx وأن لا جديد لــ Sun بذلك، لم تخترع شي خارق كعادتها، وعلى فكرة الي طورها أحد الموظفيها (Chris Oliver).

بصراحة ما كملت تجارب بعدها على أمل أن يتم تطويره أكثر. هذه وجهة نظري الشخصية، قد يختلف البعض معي، بس الهدف مناقشة هذه التقنيات مع الجميع.

تم تعديل هذه المشاركة بواسطة Feras Nasser في 31 ديسمبر 2007 في 10:43

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#10

يـــــــــــــــــــــــــــــا حسام وين الحركات ودي أشوف برامجك على JWS

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

هذا الموضوع مغلق.

مواضيع مشابهة