2012-06-07 9 views
6

मैंने अपने दिन-प्रति-दिन काम में उपयोग किए जाने वाले औजारों का एक सेट बनाया है और मैं उन्हें वित्तीय संस्थानों को बेचने के लिए थोड़ा और "पेशेवर" दिखाना चाहता हूं।पर्ल में एक पेशेवर आवेदन का निर्माण?

फिलहाल इन औजारों को पर्ल में लिखा गया है और उन्हें डॉस कमांड लाइन से निष्पादित किया गया है, यह बेहद कुशल है लेकिन यह बहुत आकर्षक नहीं दिखता है।
तो, मैं इसे करने के लिए एक यूजर इंटरफेस जोड़ना चाहते हैं, लेकिन मैं वास्तव में क्या knowning भाषा के लिए उपयोग करने के लिए नहीं पता है कि:

  • एक पर्ल CGI वेब पर होस्ट इंटरफ़ेस जानकारी के बाद से एक विकल्प नहीं है इनपुट के रूप में दिया जाना काफी संवेदनशील है।
  • इसे पैकेज/निष्पादन योग्य के रूप में बेचने के लिए आदर्श होगा।
  • मुझे वास्तव में पर्ल/टीएस इंटरफ़ेस पसंद नहीं है।
  • मैं किसी अन्य भाषा में एप्लिकेशन को फिर से लिखने के साथ ठीक हूं लेकिन मैं पर्ल में मुख्य मॉड्यूल का पुन: उपयोग करना पसंद करूंगा क्योंकि यह नियमित अभिव्यक्तियों और सूचियों/सरणीओं के साथ बहुत शक्तिशाली है।

आप मुझे क्या करने की सलाह देंगे? धन्यवाद, लोरी

+2

"वेब एक विकल्प नहीं है क्योंकि जानकारी काफी संवेदनशील है"। इंट्रानेट, या यहां तक ​​कि लोकलहोस्ट भी हैं। – Thilo

+0

वास्तव में मैंने इसके बारे में सोचा था। यह शायद बेवकूफ है लेकिन क्या यह एप्लिकेशन को बेचने का एक आम उपयोग है जिसके लिए अपाचे सर्वर, पर्ल इत्यादि स्थापित करना आवश्यक है? – loeyck

+2

हां। हालांकि, आप इसे अच्छी तरह से बंडल करना चाहते हैं। उदाहरण के लिए वर्चुअल एप्लायंस (वीएमवेयर या वर्चुअलबॉक्स के लिए)। – Thilo

उत्तर

8

आप एक गैर वेब आधारित जीयूआई चाहते हैं, और टी पसंद नहीं है, वहाँ भी Wx है, जो wxWidgets जीयूआई टूलकिट के लिए एक आवरण है।

हालांकि, आजकल वेब एप्लिकेशन बनाने के लिए वास्तव में आसान हो सकता है (आधुनिक ढांचे का उपयोग करके)। Mojolicious एप्लिकेशन लें, उदाहरण के लिए: Mojolicious परर्ल 5.12.x के अलावा कोई निर्भरता नहीं है, और इसका अपना वेब सर्वर (Hypnotoad) प्रदान करता है। आप "लाइट :: ऐप" उत्पन्न करके शुरू कर सकते हैं, जो कि एक सरल स्व-निहित सिंगल-फ़ाइल एप्लिकेशन है, और फिर आवश्यकता होने पर इसे बाद में बड़े वितरण में बढ़ाएं। यह आपके एप्लिकेशन को आसानी से पैक किए गए वितरण में बदलने के लिए टूल के साथ आता है जिसे किसी भी सीपीएएन मॉड्यूल के रूप में आसानी से इंस्टॉल किया जा सकता है।

ताकि सुरक्षा के मुद्दे को छोड़ दिया जा सके। उपयोगकर्ता प्रमाणीकरण, आईपी श्वेतसूची, केवल स्थानीय नेटवर्क ... यदि आपको वही चाहिए तो वेब अनुप्रयोग "केवल आंतरिक उपयोग के लिए" बनाने के कई तरीके हैं।

आप एक वेब-एप्लिकेशन प्रोटोटाइप को एक साथ फेंक सकते हैं, और एक बार जब आप अपने उत्पाद में ग्राहक रुचि निर्धारित करते हैं, तो इसे विंडोज़ जीयूआई एप्लीकेशन के रूप में लिखने में पर्याप्त समय निवेश करें।

+1

आरएडी टूलकिट का उपयोग करके विंडोज जीयूआई को एक साथ जोड़ना बहुत आसान है, फिर वेब, असेंबली, एचटीएमएल, सीएसएस, जावास्क्रिप्ट, स्टेटलेसनेस, कुकीज जैसे पैच के साथ वेब असेंबली में फंस गया है। विशेष रूप से यदि आप एक नौसिखिया हैं। मैं कई सालों से वेब देव कर रहा हूं लेकिन चमकदार डेस्कटॉप विकास की आरएडी दुनिया में इसकी तुलना करने के बाद वेब स्टैक बेहद जटिल और निम्न-स्तर है। वैसे, Mojolicious (जो मैं भी उपयोग कर रहा है) आपके लिए यूआई समस्या हल नहीं करता है। और एक और, Mojolicious विंडोज पर अच्छी तरह से परीक्षण नहीं किया जाता है (कई स्क्रिप्ट चीजों की तरह), और Hypnotoad विंडोज़ बिल्कुल नहीं करता है। – Lumi

2

मेरा अनुमान है कि लक्ष्य प्रणाली विंडोज़ होगी। जीयूआई विकसित करने के लिए एक आरएडी (रैपिड एप्लीकेशन डेवलपमेंट) मंच का प्रयोग करें। इस तरह के एक मंच के लिए उदाहरण डेल्फी या .NET सी # या वीबी के साथ हैं। पर्ल भाग को बंडल करने के लिए, perl2exe नामक टूल का उपयोग करने पर विचार करें।

ऐसा नहीं लगता है कि आपकी स्क्रिप्ट को वेब सर्वर की आवश्यकता होनी चाहिए। इसके अलावा, स्थापना परेशानी पर विचार करें। केवल अनुमान लगाएं क्योंकि आप अपनी लिपियों के बारे में अधिक जानकारी नहीं दे रहे हैं।

+0

वास्तव में यह वास्तव में एक वेब सर्वर की आवश्यकता नहीं है, सिवाय इसके कि एक अंतिम इंटरफ़ेस के लिए, लेकिन कार्यक्षमता के लिए नहीं। आइए मान लें कि मैं एक VB.NET इंटरफ़ेस का विकल्प चुनता हूं जो perl2exe के साथ बंडल की गई एक पर्ल स्क्रिप्ट निष्पादित करता है, क्या मैं फिर भी VB.NET भाग में आउटपुट को पुन: उत्पन्न करने और पुन: उत्पन्न करने में सक्षम हूं? – loeyck

+0

@ user1441405 (बीटीडब्ल्यू, अपने नंबर को किसी नाम पर बदलने पर विचार करें) - हाँ, आप I/O का उपयोग कर सकते हैं और अपने प्रोग्राम में खुले पाइप का उपयोग कर सकते हैं और कमांड भेज सकते हैं और आउटपुट पढ़ सकते हैं। कुछ [googling] करें (https://www.google.com/search?q=vb.net+external+program+read+stdout), जो आपको विचार देना चाहिए। या यहां [नियंत्रण प्रक्रिया I/O "पर [अनुभाग] पर एक नज़र डालें] (http://www.devx.com/dotnet/Article/7914/1954)। – Lumi

+0

ठीक है आपकी मदद के लिए बहुत धन्यवाद (नोटिस मैंने अभी अपना उपयोगकर्ता नाम बदल दिया है। मैंने इस सवाल से पूछने के लिए वास्तव में जल्दी से एक खाता बनाया है :-))। सिर्फ जानकारी के लिए मैं एक वास्तविक डेवलपर नहीं हूं, सिर्फ एक लड़का अपने दैनिक काम की सहायता के लिए कुछ गंदे उपकरण का निर्माण कर रहा है, यही कारण है कि प्रश्न कभी-कभी बेवकूफ़ लगते हैं :-) – loeyck

3

डेविडो के उत्तर से जारी है, क्योंकि वर्तमान वेब माइक्रोफ्रेमवर्क पर्ल के लिए है (मैं Dancer को मोजोजिसी के सुझाव पर पसंद करता हूं, लेकिन दोनों अच्छे और बड़े पैमाने पर समकक्ष हैं) में अपने स्वयं के बंडल किए गए वेब मिनी-सर्वर होते हैं, वे ऐप की भी अनुमति देते हैं पूरी तरह से स्थानीय मशीन पर आसानी से चलाने के लिए।

चूंकि ये मिनी-सर्वर डिफ़ॉल्ट रूप से गैर मानक पोर्ट (आमतौर पर 3000 या 5000) के लिए डिफ़ॉल्ट होते हैं और आप आसानी से उन्हें एक अलग बंदरगाह पर सेट कर सकते हैं, इसलिए उन्हें फ़ायरवॉल अपेक्षाकृत आसानी से अलग किया जा सकता है, यह सुनिश्चित करना कि कोई भी कनेक्ट नहीं हो सके उन्हें दूरस्थ रूप से।आप निश्चित रूप से, ऐप में आईपी एड्रेस चेक भी शामिल कर सकते हैं और इसे किसी भी अनुरोध को अस्वीकार कर सकते हैं जो localhost से उत्पन्न नहीं होता है।

+1

यदि यह एक HTTP :: सर्वर :: सरल आधारित सर्वर है तो यह सिर्फ स्थानीयहोस्ट से बांधें ताकि यह बाहरी दुनिया तक पहुंच योग्य न हो (सुरंग के बिना) – singingfish

0

मैं अपने पर्ल-लिखित टूल को तैनात करने के लिए Cava packager का उपयोग कर रहा हूं। आप कुछ माउस-क्लिक के साथ एक इंस्टॉलर निष्पादन योग्य भी उत्पन्न कर सकते हैं। यह विंडोज पर strawberry Perl और wxPerl के साथ बहुत अच्छी तरह से काम करता है।

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