2008-09-09 9 views
19

मैं अपनी परियोजनाओं के लिए हास्केल का अधिक उपयोग करना चाहता हूं, और मुझे लगता है कि अगर मैं इसे वेब ऐप्स के लिए उपयोग करना शुरू कर सकता हूं, तो यह वास्तव में उस कारण की सहायता करेगा। मैंने एक या दो बार खुशी की कोशिश की है लेकिन जमीन से उतरने में परेशानी थी। क्या वहां सरल/अधिक पारंपरिक (लैंप की तरह अधिक) ढांचे हैं जो मैं उपयोग कर सकता हूं या क्या मुझे सिर्फ एक और प्रयास खुशी मिलनी चाहिए?हास्केल में वेब ऐप्स लिखने का सबसे आसान तरीका क्या है?

उत्तर

1

आप विकी के Haskell Web Development आलेख में सूचीबद्ध अनुसार सीजीआई और एक (एक्स) एचटीएमएल संयोजक पुस्तकालय का उपयोग कर सकते हैं। हैकेल में वेब प्रोग्रामिंग के लिए पुस्तकालयों, ढांचे आदि का एक बड़ा अवलोकन Practical web programming in Haskell में पाया जा सकता है।

+0

सीजीआई, बहुत सरल है विशेष रूप से अपाचे चल सिस्टम पर। आप बस एक निष्पादन योग्य बनाते हैं जो एक HTML पृष्ठ (या इसका हिस्सा) प्रिंट करता है। आप यूआरएल (जीईटी) स्ट्रिंग को पार्स कर सकते हैं और पर्यावरण चर का उपयोग कर सिस्टम से POST डेटा प्राप्त कर सकते हैं। यह आसान है लेकिन उन टुकड़ों से एक sytem निर्माण काम लेता है। –

4

आप HApps के साथ जाने का फैसला करते हैं तो आप शायद इस उत्कृष्ट उदाहरण संचालित ट्यूटोरियल है कि एक HApps आवेदन के रूप में विकसित किया जा रहा है चेकआउट करने के लिए चाहता हूँ:, HApps Tutorial

0

वहाँ भी Hope (लिंक मूल्यह्रास हुआ है) है, हालांकि यह प्रतीत होता है कि HApps और WASH के रूप में ज्यादा कर्षण प्राप्त हुआ है। हालांकि, साइट लगभग एक साल तक भी शांत रही है।

16

2011 के रूप में सबसे अच्छा साधन:

वेब विकास समुदाय इन समुदायों के बीच प्रतिस्पर्धा पर संपन्न किया गया है।

लेखकों भी यहां उनके चौखटे तुलना: Comparing Haskell's Snap and Yesod web frameworks

1

Yesod एक अच्छा विकल्प हो सकता है, आप ओ रेली Yesod Web Framework Book ऑनलाइन पा सकते हैं।

2

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

4

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

अपने लिए न्यायाधीश: यह तीन पृष्ठों के साथ एक पूर्ण आवेदन है। एक लूप में, यह दो संख्याओं के लिए पूछता है और योग दिखाता है। आप कृपया बैक बटन दबा सकते हैं:

module Main where 
import MFlow.Wai.Blaze.Html.All 

main= do 
    addMessageFlows [("sum", transient . runFlow $ sumIt)] 
    wait $ run 8081 waiMessageFlow 

sumIt= do 
    setHeader $ html . body 
    n1 <- ask $ p << "give me the first number" ++> getInt Nothing 
    n2 <- ask $ p << "give me the second number" ++> getInt Nothing 
    ask $ p << ("the result is " ++ show (n1 + n2)) ++> wlink() << p << "click here" 

राज्य को थोड़ा संशोधन के साथ लगातार बनाया जा सकता है।

http://hackage.haskell.org/package/MFlow

वहाँ उदाहरण यहां हैं: http://haskell-web.blogspot.com.es/

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