2011-12-28 13 views
5

मेरे पास कुछ ऐप्पलैंक है जो मैं जावा से चलाना चाहता हूं। जावा से ऐप्पलस्क्रिप्ट निष्पादित करने का सबसे अच्छा तरीका

  • (((new ScriptEngineManager()).getEngineByName("AppleScript")).eval(scriptString)) का प्रयोग करके)
  • AppleScript एक आवेदन के रूप में सहेजा जा रहा है और जावा से एप्लिकेशन चला रहे एक स्ट्रिंग AppleScript ScriptEngine का उपयोग कर के रूप में AppleScript चल रहा है (Desktop.getDesktop().open("name.app") का उपयोग कर)
  • उन दो लग रहा था: मैं सहित कई विकल्प हैं मेरे लिए सबसे अच्छे विकल्प और मैं सोच रहा था

  • क्या कोई बेहतर तरीका है?
  • यदि! (1।) इनमें से कौन सा तरीका सबसे अच्छा है? (Speedwise)
  • यदि! (1।) क्या मेरे तरीकों को बेहतर बनाने के तरीके हैं?
  • उत्तर

    1

    यकीन नहीं है कि मैं 2 के साथ जाऊंगा, यह एक बहुत बड़ा हथौड़ा जैसा लगता है।

    अन्य पुराने स्टाइल समाधान 'osascript' कमांड को निष्पादित करना था।

    जहां तक ​​मुझे पता है कि स्क्रिप्ट इंजन समर्थन का उपयोग करना पसंदीदा तरीका है।

    1

    आपका पहला विकल्प मेरे लिए सही लगता है, लेकिन अगर किसी कारण से आप इसे बाहरी स्क्रिप्ट के रूप में चलाने के लिए चाहते हैं, तो आप ओएसस्क्रिप्ट को उसी तरह से चलाने पर विचार कर सकते हैं जैसे आप शेल स्क्रिप्ट चलाते हैं।

    1

    मुझे लगता है कि विकल्प 1 आपकी सबसे अच्छी शर्त हो सकती है, क्योंकि एप्पलस्क्रिप्ट कैसे काम करता है।

    दो प्रकार के एप्पलस्क्रिप्ट हैं: सादे पाठ एप्पलस्क्रिप्ट, फिर संकलित एप्पलस्क्रिप्ट। अनुपालन एप्पलस्क्रिप्ट का अनुवाद (अनिवार्य रूप से) एप्लेटस्क्रिप्ट अनुपालन द्वारा बाइटकोड में किया गया है।

    इस प्रकार, यदि आपका एप्लिकेशन इसे अनुमति देता है, तो आप एक बार को संकलित करने पर विचार कर सकते हैं, फिर उन्हें बाद में कॉल कर सकते हैं। यह आपको कुछ समय बचाएगा (सेकेंड?)।

    (मैं बस यहाँ कि, eval आदेश के अलावा, अपने जावा वर्ग एक तरह से बस संकलित करने के लिए Apple स्क्रिप्ट है अनुमान लगा रहा हूँ।)

    संकलन चरण के दौरान, Apple स्क्रिप्ट भी सभी आवेदनों की पहचान करने की कोशिश करता स्क्रिप्ट का उपयोग करता है। मेरा मानना ​​है कि यह इस चरण के दौरान है जहां एप्पलस्क्रिप्ट कह सकता है, "मुझे खेद है, मुझे सर्फवाइटर नहीं मिल रहा है, कृपया मुझे ऐप पर इंगित करें"। इस प्रकार का उपयोगकर्ता अनुभव उन चीजों में से एक है जो उपयोगकर्ता जितना संभव हो उतना करना चाहते हैं;)

    संबंधित मुद्दे