Quali sono i framework Web Scala disponibili? [chiuso]


195

Ho appena iniziato a studiare Scala, e la prima cosa che ho intenzione di implementare è una piccola applicazione web. Ho usato Erlang nell'ultimo anno per implementare software lato server, ma non avevo mai scritto applicazioni web prima. Sarà una bella esperienza.

Esistono web framework per Scala ad eccezione di Lift ?

Non fraintendetemi, Lift sembra fantastico. Voglio solo sapere quanti framework ci sono in modo da poter scegliere tra di loro. È sempre una buona scelta, ma l'unica cosa che ho trovato è stata Lift.

Risposte:


77

Sono molto interessato a Scala, ma non l'ho ancora usato, quindi con questo avvertimento, i framework di cui sono a conoscenza che non sono menzionati nella risposta di HRJ (Lift, Sweet, Slinky) sono:


3
Interessante. Lift è di gran lunga il più pubblicizzato: è curioso che tu non ne abbia familiarità.
mcherm,

13
Nota nota "... Sono a conoscenza e non menzionato da HRJ ..." HRJ ha già menzionato Lift. Grazie
bn.

6
play ha anche una versione scala
islon

1
/ io sospira. <rant> Step è un nome perfettamente valido, perché cambiare in Scalatra? Express.js non si chiama Nodatra. Flask (non è lo stesso ma vicino) non si chiama Pythatra. </rant>
Dave Jensen

1
@ djensen47 sei sempre libero di sviluppare il tuo;)
BAR

45

Ho scritto un post sul blog su questo.

Per riassumere, alcune delle opzioni sono:

  1. Sollevamento
  2. Dolce
  3. furtivo

Alla fine ho scoperto che nessuno era adatto a me e ho sviluppato il mio piccolo "framework". (Non è ancora open source).


35

Mi piace Lift ;-)

Il gioco è la mia seconda scelta per i framework web compatibili con Scala.

Wicket è la mia terza scelta.


46
David, come hai saputo di Lift? ;-)
Derek Mahar,

6
@Derek Mahar All'interno del lavoro credo ;-)

5
Sembra che tu sia affiliato con Lift. Si prega di notare che la nostra politica di autopromozione richiede di divulgare queste informazioni in risposte come questa.
josliber

35

Di seguito è riportato un dump di framework. Non significa che li abbia effettivamente usati:

  • Coeus . Un framework Web MVC tradizionale per Scala.

  • Non filtrato . Un toolkit per la gestione delle richieste HTTP in Scala.

  • Granito Uniscala .

  • Gardel

  • Mondo

  • Amore . Una porta Scala del framework web Ruby Sinatra

  • Bilancia XML . Approccio flessibile alla gestione XML e un modo semplificato di interagire con XML.

  • Cintura . Un'interfaccia simile a un rack per applicazioni Web basata su Scalaz-HTTP

  • Frank . Applicazione Web DSL basata su Scalaz / Belt

  • MixedBits . Un framework per il linguaggio di programmazione Scala per aiutare a costruire siti web

  • Circumflex . Unisce diversi progetti open source indipendenti per lo sviluppo di applicazioni utilizzando il linguaggio di programmazione Scala.

  • Scala Webmachine . La webmachine di Port of Basho a Scala, un sistema basato su REST per la creazione di applicazioni web

  • Bombetta . Un framework Web Scala RESTful e multicanale pronto


1
Unfiltered ha una buona presentazione qui: link
Rick-777,

Ho aggiunto bowlerframework (l'ho appena trovato sul web).
Adam Gent,



8

Trovo Unfiltered molto interessante https://github.com/unfiltered/unfiltered .

È menzionato nell'elenco di IttayD.

Ecco una presentazione al riguardo http://unfiltered.lessis.me/#0 e il video http://code.technically.us/post/942531598/doug-tangren-presents-the-unfiltered-toolkit-for

Anche qui c'è un articolo con maggiori informazioni http://code.technically.us/post/998251172/holding-the-parameter


1
Non filtrato è molto, molto bello. È davvero pulito e funzionale ma non troppo complesso.
thatismatt il

8

Va notato che esiste anche un notevole interesse per Wicket e Scala . Wicket si adatta sorprendentemente bene alla Scala. Se vuoi approfittare del progetto Wicket molto maturo e del suo ecosistema (estensioni) più la sintassi concisa e il vantaggio di produttività di Scala, questo potrebbe essere per te!

Guarda anche:

  1. Qualche prosa

  2. Presentazione

  3. Qualche esperienza con Wicket e Scala

  4. Annunci con riferimento al progetto per il codice colla per vincolare le chiusure Scala ai modelli


7

Il gioco è piuttosto dolce.

Ora è pronto per la produzione. Incorpora: un fantastico template template, ricarica automatica dei file sorgente su sicuro, un sistema di azione compostabile, akka wesomeness, ecc.

Fa parte dello Stack Typesafe .

Avendolo usato per due progetti, posso dire che funziona abbastanza bene e dovrebbe essere qualcosa da considerare la prossima volta che stai cercando di imparare nuovi framework web.


5

Tendo a usare JAX-RS usando Jersey (puoi scrivere dei buoni bean di risorse in Scala, Java o Groovy) per scrivere applicazioni web RESTul. Quindi uso Scalate per il rendering delle viste usando uno dei vari linguaggi di template ( JADE , Scaml , Ssp (Pagine Server Scala), Moustache , ecc.).


Sono interessato a sapere quale IDE usi per sviluppare progetti scalati?
Ali Shakiba,

1
Uso IntelliJ per tutto il mio sviluppo
James Strachan,

4

C'è un nuovo framework Web, chiamato Scala Web Pages . Dal sito:

Destinatari

È probabile che il framework Web di Scala Pages si rivolge ai programmatori Web che provengono da un background Java e desiderano programmare applicazioni Web in Scala. L'enfasi è sulla OOP piuttosto che sulla programmazione funzionale.

Caratteristiche e caratteristiche

  • Aderisce al paradigma modello-view-controller
  • Motore di template basato su testo
  • Sintassi semplice: $variablee<?scp-instruction?>
  • Codifica / rilevamento del contenuto, in grado di gestire codifiche di testo internazionali
  • Snippet anziché tag personalizzati
  • Riscrittura URL

4

Prikrutil, penso che siamo sulla stessa barca. Vengo anche a Scala da Erlang. Mi piace molto l' azoto, quindi ho deciso di creare un framework web Scala ispirato ad esso.

Dai un'occhiata a Xitrum . Il suo documento è piuttosto esteso. Da README:

Xitrum è un framework e un web server Scala asincroni e raggruppati in cima a Netty e Hazelcast:

  • Riempie il divario tra Scalatra e Lift: più potente di Scalatra e più facile da usare di Lift. Puoi facilmente creare sia API RESTful che postback. Xitrum è il primo controller come Scalatra, non visualizza prima come Lift.
  • L'annotazione viene utilizzata per le route URL, nello spirito di JAX-RS. Non è necessario dichiarare tutti i percorsi in un unico posto.
  • Typesafe, nello spirito della Scala.
  • Async, nello spirito di Netty.
  • Le sessioni possono essere archiviate in cookie o Hazelcast in cluster.
  • Convalida jQuery è integrata per la convalida lato browser e lato server. i18n usando GNU gettext, il che significa che a differenza della maggior parte delle altre soluzioni, sono supportate sia forme singolari che plurali.
  • Condizionale OTTIENI usando ETag.

Hazelcast dà anche:

  • Cache in-process e in cluster, non sono necessari server cache separati.
  • Comet in-process e in cluster, è possibile ridimensionare Comet su più server Web.

Segui il tutorial per un rapido avvio.


3

C'è anche Pinky, che ha usato per essere su bitbucket ma siamo trasferito a Github .

A proposito, github è un ottimo posto per cercare progetti Scala, poiché c'è molto da mettere lì.


3

Vorrei aggiungere i miei sforzi a questo elenco. Puoi trovare maggiori informazioni qui:

quadro accogliente

È in fase di sviluppo iniziale e ci sto ancora lavorando in modo aggressivo. Include funzionalità come:

  • Un focus su semplicità ed estensibilità.
  • Strumento di compilazione integrato.
  • Design modulare; alcuni moduli iniziali includono il supporto per scalate, e-mail, jms, jpa, squeryl, cassandra, servizi cron e altro.
  • Controller e azioni RESTful semplici.

Qualsiasi feedback è molto apprezzato.

AGGIORNAMENTO: 2011-09-078, ho appena pubblicato un importante aggiornamento alla versione 0.9.1. Ulteriori informazioni su http://brzy.org comprendono uno screencast.


1

Sia Sweet che Slinky sembrano non essere stati curati per circa un anno. Sweet Maven repo sweetsoftwaredesign.com è morto, quindi non c'è nemmeno modo di scaricare dipendenze.


1

Nota: Spiffy è obsoleto.

< plug >

Spiffy :

  • è scritto in Scala
  • usa la fantastica libreria e attori Akka per ridimensionare
  • utilizza servlet API 3.0 per la gestione delle richieste asincrone
  • è modulare (la sostituzione dei componenti è semplice)
  • usa DSL per ridurre il codice dove non lo desideri
  • supporta Scalate e Freemarker per il templating

Spiffy è un framework Web che utilizza Scala, Akka (un'implementazione dell'attore Scala) e l'API Java Servlet 3.0. Si avvale dell'interfaccia asincrona e mira a fornire un ambiente ampiamente parallelo e scalabile per le applicazioni web. I vari componenti di Spiffy si basano tutti sull'idea che devono essere moduli minimalisti indipendenti che eseguono piccole quantità di lavoro molto rapidamente e consegnano la richiesta al componente successivo nella pipeline. Dopo che l'ultimo componente è stato elaborato, la richiesta segnala il contenitore servlet "completando" la richiesta e rispedendola al client.

https://github.com/mardambey/spiffy

< / plug >


0

Puoi anche provare il contesto . È stato progettato per essere un framework Java ma l'ho usato con successo con Scala anche senza difficoltà. È un framework basato su componenti e ha proprietà simili a Lift o Tapestry.


0

Mi sono imbattuto nella tua domanda qualche settimana fa, ma da allora ho anche saputo di Circumflex . Si tratta di un framework semplice e minimale che è quindi facile da imparare e ha anche una buona documentazione disponibile.

Oltre alla minimalità, afferma anche di funzionare bene con altre librerie e ti consente di utilizzare la tua implementazione delle cose quando ne hai bisogno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.