Domanda

Mi piacerebbe fare un po 'di programmazione web utilizzando la programmazione funzionale. Che decente web framework esiste per linguaggi di programmazione funzionale?

È stato utile?

Soluzione

Ascensore è un quadro interessante per Scala. Il vantaggio pratico di Scala è che può utilizzare tutte le librerie Java esistenti.

Altri suggerimenti

Ci sono molti molti di più (anche io sto sviluppando uno in F #), ma credo che questi (e ascensore, già citato) sono le più complete / popolare / documentata. Non posso commentare sui quadri Erlang.

C'è una lista di framework web disponibili per Erlang. Riassumendo quella lista qui:

Di coloro i due che sembra la maggior parte di interesse per me sono webmachine e di azoto . YMMV.

Noir è bello, funzionale e semplice (nella Rich Hickey " semplice made Easy " senso):

(defpage "/welcome" []
    "Welcome to Noir!")

(server/start 8080)

In particolare mi piace il modo in cui si può quindi costruire l'intera applicazione web semplicemente utilizzando la funzione di composizione, supportata con alcune macro per consentire una bella DSL dichiarativa.

Compojure è un framework web open source per il linguaggio di programmazione Clojure.

http://en.wikibooks.org/wiki/Compojure

Come avete lasciato nessuna lingua fuori questione, credo che si accetta più lingue ...

Quindi, per il linguaggio F # esiste FSharp.WebTools .

Gli strumenti di F # Web aumentano la distribuzione F # con strumenti all'autore applicazioni web client / server / database di omogenee in un progetto di tipo controllato. Le distinzioni modali tra client e server vengono controllati attraverso l'uso di F # flussi di lavoro, e LINQ può essere utilizzato per l'accesso al database. Nella prima versione, parti dell'applicazione vengono dinamicamente serviti come JavaScript. estensioni previste comprendono servire porzioni lato client come codice di Silverlight.

Vi consiglio di guardare in Erlang e framboèsia . Erlang è un linguaggio di programmazione funzionale leggero con un eccezionale set di funzionalità, buone biblioteche e di una comunità di sviluppo attivo. Framboesia è efficiente e ben matained.

Snap è una bella e davvero framework web veloce per Haskell.

un semplice framework di sviluppo web per i sistemi UNIX, scritto nel linguaggio di programmazione Haskell. Snap ha un alto livello di copertura di test ed è ben documentato. Le caratteristiche includono:

  • Una biblioteca server veloce HTTP
  • Una monade sensata e pulita per la programmazione web
  • sistema di template
  • Un basato su HTML per la generazione di pagine ...

C'è un confronto tra Erlang framework web su Github:

https://github.com/evanmiller/ChicagoBoss/ wiki / Confronto-of-Erlang-Web-Frameworks

Non ho giocato con tutti i quadri non elencati in modo da non voglio giudicare, ma ho usato Zotonic abbastanza ampiamente nel mio progetto e attualmente posso consigliamo vivamente di cuore. Per quanto ne so, è l'unico quadro Erlang, che non è solo un quadro, ma anche un CMS in piena regola. Così si può iniziare facilmente con solo le caratteristiche del CMS e quindi espandere il sito web aggiungendo la funzionalità personalizzata utilizzando i propri moduli. Nel mio caso io sto usando esclusivamente come un quadro perché in questo momento il CMS presenta il lavoro solo con PostgreSQL e non posso utilizzare un database separato. Ma anche solo come un quadro che offre un sacco di caratteristiche non sempre si trovano in altri contesti.

Da molto bella è che il progetto è stato molto attivamente sviluppato, perché le persone che stanno dietro la progettazione Zotonic e realizzare siti web e lo usano come loro CMS di scelta.

Se dovessi scegliere, allora avrei probabilmente dare Zotonic la prima occasione, poi ChicagoBoss, e quindi di azoto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top