سؤال

منذ إصدار Adobe AIR وأنا أتساءل لماذا لم تكتسب Java Web Start المزيد من الاهتمام في الماضي، بالنسبة لي يبدو الأمر مشابهًا جدًا، ولكن Web Start متاح لفترة أطول بكثير.

هل يرجع ذلك أساسًا إلى سوء التسويق من شركة Sun، أم أن هناك مخاوف فنية أخرى غير الحاجة إلى تثبيت JVM المناسب؟هل لديك تجارب سيئة في استخدام Web Start؟إذا كانت الإجابة بنعم، أي منها؟ما هي توصياتك عند استخدام Web Start لتوزيع التطبيقات؟

هل كانت مفيدة؟

المحلول

استخدمنا في شركتي Java Web Start لنشر تطبيقات Eclipse RCP.لقد كان الإعداد صعبًا، لكنه يعمل بشكل جيد جدًا بمجرد وضعه.لذا فإن التوصية الوحيدة التي يمكنني تقديمها هي أن أبدأ صغيرًا حتى أتقن الأمر.نشر تطبيق واحد بسيط أولاً.إن محاولة نشر منتج كامل تم تصنيعه بالفعل بدون خبرة في استخدام JWS تصبح معقدة بسرعة كبيرة.

كما أن تعلم كيفية تمرير الوسائط إلى تطبيق JWS كان أمرًا لا يقدر بثمن لتصحيح الأخطاء.يتيح تعيين متغير البيئة JAVAWS_VM_ARGS تعيين أي خاصية عشوائية لجهاز Java الظاهري.في حالتي:

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=4144

مفيد عندما تحتاج إلى التحقق من المشكلات أثناء بدء التشغيل (suspend=y)

أعتقد أن المشكلة الرئيسية لقبول Java Web Start هي صعوبة الإعداد نسبيًا.أيضًا، بطريقة ما يوجد هذا التنافر:عندما يكون لديك تطبيق سطح مكتب، يتوقع الأشخاص وجود أداة تثبيت يمكنهم النقر عليها نقرًا مزدوجًا.عندما يكون لديك تطبيق ويب، يتوقع الأشخاص أنه يمكنهم استخدامه مباشرة من المتصفح.Java Web Start ليس هنا وليس هناك...

ومع ذلك، فهو يستخدم على نطاق واسع في الشبكات الداخلية.

نصائح أخرى

أعمل في الشبكة الداخلية لأحد البنوك منذ 5 سنوات، وقد قامت إدارتي بتطوير وتوزيع الكثير من تطبيقات Java Web Start والتي يتم استخدامها في جميع أنحاء العالم، وأعتقد أن Java Web Start لديها أفضل تطبيقات سطح المكتب (سهولة التطوير، واجهة مستخدم غنية، وقوة معالجة في جهاز العميل) وتطبيقات الإنترنت (سهولة النشر والترقية).

أنا حقًا أحب Java Web Start

لقد قمت بمشروع مرة واحدة في JWS وكان من الصعب البدء فيه.والأسوأ من ذلك أنني لم أكن أتعامل مع الإنترنت بالكامل، بل كان تطبيقًا صغيرًا لن يستخدمه سوى عدد قليل من الأشخاص في مكتبي.لقد شعرت بالاشمئزاز أكثر من مرة أثناء تكوين الخادم ومساعدتهم في إعداد التطبيق على الأجهزة العميلة.

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

وهنا قائمة من com.mindprob:

  • تطبيقات Java Web Start بطيئة للغاية في البدء.تقوم الشاشة بتحميل JVM جديد لنفسها ولكل تطبيق.تتحقق التطبيقات دائمًا من الويب بحثًا عن التحديثات، وتقوم بتنزيل ومعالجة ملف JNLP جديد بالكامل، بدلاً من مجرد التحقق من تاريخه.ومع ذلك، إذا استغرق الأمر 80 ثانية أو نحو ذلك للتحقق من وجود إصدار جديد، فهذا يعني أنك على الأرجح تواجه مشكلة مع الخادم الوكيل.ابدأ تشغيل javaws.exe ثم انقر فوق تحرير ⇒ التفضيلات ⇒ إعدادات الشبكة ⇒ مباشر.لا تريد أن يحاول JWS استخدام وكيل Google Accelerator.تحقق أيضًا من IE، وانقر فوق أدوات ⇒ خيارات الإنترنت ⇒ الاتصالات ⇒ إعدادات LAN وتأكد من أن كل شيء كما تتوقع.
  • يستغرق تنزيل التحديثات نفس الوقت الذي يستغرقه تنزيل التطبيق الأصلي.لم يتم تطبيق أي ذكاء تقريبًا لجعل التحديثات مضغوطة.
  • يتطلب الأمر تعليمات برمجية مخصصة تعمل على مزود خدمة الإنترنت لخدمة ملفات jardiff بشكل صحيح أو لاستخدام الضغط الفائق القادم لـpack200.
  • لم يتغير كثيرًا منذ إصداره الأولي.قد يكون منتجًا يتيمًا آخر.لا يستحق أن يكون.ومع ذلك، أصدرت Sun إصدارًا تجريبيًا جديدًا 1.2 بعد عام أو نحو ذلك من عدم حدوث أي شيء، وقد تم دمجها في JRE، لذلك سنرى ما إذا كانت ستستعيد قوتها مرة أخرى.هناك بعض المشاكل الرئيسية التي تجاهلوها، مثل شهادة OK المختبئة خلف شاشة البداية، والمطالبة بموافقة كل جرة على حدة.حتى لو كان يتيمًا فلن يحدث شيء فظيع.ما لم تكتب تطبيقات JWS غير موقعة وتستخدم وضع الحماية JWS، فستعمل تطبيقات JWS الخاصة بك بشكل مستقل.
  • يتطلب تكوينًا خاصًا لنوع JNLP MIME سواء لدى مزود خدمة الإنترنت أو في متصفح العميل.ولا يخضع أي منهما لسيطرة المطور المباشرة.
  • إذا كان لديك تحديث عاجل، فلا يمكنك فرض تثبيته قبل تشغيل التطبيق مرة أخرى.
  • ويحتاج إلى مخطط صارم لتخصيص مساحة القرص الصلب على جهاز العميل الذي يتمتع بالخصائص التالية:
    • يجب أن تتجنب أسماء الدلائل المعينة تضارب الأسماء مع البائعين الآخرين.يجب أن تتضمن اسم الحزمة الرئيسية للتطبيق.
    • يجب أن تكون الأسماء ذات معنى للمستخدم النهائي.يجب أن تكون شيئًا يمكنه تذكرها والعثور عليها وكتابتها عندما يحتاج إلى البحث عن الملفات باستخدام أدوات سطح المكتب.
    • يجب أن يوفر النظام مكانًا لكل من الملفات لكل مستخدم ولكل تطبيق.
    • يجب أن يعمل البرنامج على أي نظام أساسي دون تعديل للتعامل مع العثور على ملفاته.

Java Web Start هي الطريقة الصحيحة لبدء تطبيقات Java أكبر لأنها تسمح بتحديث التطبيق وتثبيته/تنزيله بسهولة وتسمح بواجهة مستخدم/تجربة أفضل من تطبيقات Java.

لكن, ، هناك بعض العوائق التي تحول دون تشغيل تطبيقات Java Web Start من صفحة ويب باستخدام المتصفحات الشائعة ذات الإعدادات الافتراضية:

  1. فشلت Sun/Oracle في إنشاء تكامل متصفح فعال.يرى http://crbug.com/10877 على سبيل المثال حول Google Chrome / Chromium.يفشل مكون Java الإضافي بشكل أساسي في تنفيذ عناصر NPAPI المطلوبة لجعل Firefox وChrome يعيد توجيه نوع MIME بشكل موثوق application/x-java-jnlp-file ل javaws / javaws.exe الثنائية.

  2. فشلت Sun/Oracle في الحصول على نوع MIME مسجل حقيقي لـ Java Web Start .jnlp ملفات.ال application/x- البادئة من الناحية الفنية تعني مسودة أو خاصة.

  3. فشلت Sun/Oracle في استخدام نظام URL بدلاً من نوع MIME عندما يكون القصد هو أن Java Web Start يتولى تنزيل التطبيق وتشغيله.على سبيل المثال، إذا بدلاً من استخدام عنوان URL مثل https://example.com/app/launch.jnlp تم إطلاق Java Web Start كـ javaws://example.com/app/launch.jnlp ستعمل الأمور بشكل أكثر سلاسة.وذلك لأنه في هذه الحالة، لا يحتاج متصفح الويب حتى إلى تحميل ملف .jnlp الملف، فهو يقوم فقط بتمرير عنوان URL الكامل إلى معالج المخطط (والذي سيكون ملف javaws الثنائية).

لاحظ الجزء المكرر ("فشل صن / أوراكل ...") ولم تعد بحاجة إلى التساؤل عن سبب عدم حصول Java Web Start على الكثير من الاهتمام.الجزء المفقود الكبير هو الحصول على رابط لصفحة الويب بثقة إطلاق javaws ثنائي مع المعطى .jnlp ملف.الذي - التي يجب يكون سهلاً من الناحية الفنية (فقط قم بتسجيل نظام URL جديد عندما يكون ملف javaws تم تثبيت الملف الثنائي)، إلا أن Sun/Oracle فشلت في القيام بذلك.أنا شخصياً أعتقد أن الفوضى برمتها كانت بسبب محاولة العبث بنوع MIME بدلاً من مجرد استخدام نظام URL جديد.وحتى الأشياء من نوع MIME تم إجراؤها بشكل سيئ للغاية، بسبب البكاء بصوت عالٍ.

إذا كنت لا تزال ترغب في استخدام Java Web Start، فما عليك سوى إعداد وثائق جيدة لتكوين المتصفح بشكل صحيح للتغلب على الفوضى التي خلفتها Sun/Oracle.والجزء الجيد هو أنه يجب القيام بذلك مرة واحدة فقط وسيعمل مع أي موقع يستخدم Java Web start.الجزء السيئ هو أنه عادةً لم يتم تكوين المتصفح مطلقًا للقيام بالشيء الصحيح .jnlp الملفات و أنت احصل على اللوم لاستخدام "التكنولوجيا التي يصعب استخدامها" لأن المستخدمين لا يريدون تكوين متصفحاتهم فقط لاستخدام التطبيق الخاص بك.هل ذكرت أن شركة Sun/Oracle هي التي فشلت في تكوين المتصفح تلقائيًا؟

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

كان التنزيل الأول على ما يرام ، ولكن عند الرغبة في إخراج إصدار جديد ، لم ينجح تخزين ملفات JAR ، لذلك لم يتم دفع الملفات الجديدة إلى العميل.

قضيت أسبوعًا في محاولة إصلاح هذا دون جدوى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top