Domanda

Ho appena iniziato a imparare Scala e la prima cosa che implementerò è una piccola applicazione web.Sto usando Erlang nell'ultimo anno ho implementato software lato server, ma non ho mai scritto applicazioni web prima.Sarà una grande esperienza.

Esistono framework web per Scala ad eccezione di Sollevare?

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

È stato utile?

Soluzione

Sono molto interessato a Scala, ma non ho ancora utilizzato, in modo che con il caveat, i quadri sono consapevole di che non sono menzionati nel di HRJ risposta (ascensore, dolce, Slinky) sono:

Altri suggerimenti

su questo.

In sintesi, alcune delle opzioni sono:

  1. Sollevare
  2. dolce
  3. Slinky

Alla fine ho scoperto che nessuno era adatto a me, ed ho sviluppato la mia "quadro" poco. (Non è open-source ancora).

mi piace di sollevamento; -)

Il gioco è la mia seconda scelta per il framework web Scala-amichevoli.

Wicket è la mia terza scelta.

A seguito è una discarica di quadri. Ciò non significa che io in realtà li ho usati:

  • Coeus . Un quadro tradizionale MVC web per la Scala.

  • non filtrato . Un kit di strumenti per la manutenzione richieste HTTP in Scala.

  • Uniscala Granito .

  • Gardel

  • Mondo

  • Amore . Una porta Scala del rubino framework web Sinatra

  • Scales XML . approccio flessibile alla gestione di XML e un modo semplificato di interazione con XML.

  • Belt . Un'interfaccia Rack-come per le applicazioni web costruito in cima ad Scalaz-HTTP

  • Frank . applicazione Web DSL costruito sulla cima di Scalaz / cinghia

  • MixedBits . Un quadro per la lingua 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 . Porto di webmachine di Basho a Scala, un sistema basato su REST per costruire applicazioni web

  • Bowler . A, multi-canale quadro pronto Scala web RESTful

Giocare quadro , che supportano anche Scala.

Un framework web molto interessante con la distribuzione commerciale è Scalatra , ispirato da Sinatra di Ruby. Ecco un InfoQ su di esso.

Si deve notare che v'è anche un notevole interesse per Wicket e Scala . Wicket si adatta Scala sorprendentemente bene. Se si vuole approfittare del progetto molto maturo Wicket e il suo ecosistema (estensioni) più la sintassi concisa e il vantaggio della produttività di Scala, questo può essere per voi!

Vedi anche:

  1. Alcuni Prosa

  2. Presentazione

  3. una certa esperienza con Wicket e Scala

  4. announcments con riferimento al progetto per il codice colla per legare Scala chiusure ai modelli

Play è piuttosto dolce.

E 'ora pronto per la produzione. Incorpora:. Un quadro modello di fresco, il ricaricamento automatico dei file di origine su sicurezza, un sistema di azione componibile, Akka suggestione, etc

Typesafe Pila .

Dopo aver usato per due progetti, posso dire che funziona abbastanza liscio e dovrebbe essere qualcosa di prendere in considerazione la prossima volta si sta cercando di imparare nuovi quadri web.

Io tendo ad usare JAX-RS utilizzando Jersey (è possibile scrivere belle fagioli di risorse a Scala, Java o Groovy) per scrivere applicazioni web Restul. Poi io uso Scalate per il rendering i punti di vista utilizzando uno dei vari linguaggi di template ( JADE , Scaml , Ssp (Scala Server Pages), baffi , ecc.).

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

Destinatari

Il framework web Scala Pages è probabile fare appello ai programmatori web che provengono da un background Java e vogliono programmare applicazioni web in Scala. L'enfasi è sulla OOP, piuttosto che la programmazione funzionale.

Caratteristiche e Funzioni

  • Aderisce al Model-View-Controller paradigma
  • template engine basato sul testo
  • sintassi semplice: $variable e <?scp-instruction?>
  • rilevazione di codifica / contenuti, in grado di gestire le codifiche di testo internazionali
  • Frammenti invece di tag personalizzati
  • URL Rewriting

Prikrutil, penso che siamo sulla stessa barca. Ho anche venuto a Scala da Erlang. Mi piace azoto molto così ho deciso di creato un quadro Scala web ispirato da esso.

Date un'occhiata a Xitrum . suo doc è piuttosto esteso. Da README:

Xitrum è un asincrono e cluster Scala framework web e server web in cima Netty e Hazelcast:

  • E 'colma il divario tra Scalatra and Lift: più potente di Scalatra e più facile da usare rispetto Lift. È possibile creare facilmente sia RESTful API e postback. Xitrum è regolatore-first come Scalatra, non visualizzare-first come sollevamento.
  • annotazione viene utilizzato per i percorsi URL, nello spirito di JAX-RS. Non è necessario dichiarare tutte le rotte in un unico luogo.
  • Typesafe, nello spirito della Scala.
  • Async, nello spirito di Netty.
  • Le sessioni possono essere memorizzati nei cookie o raggruppati Hazelcast.
  • jQuery convalida è integrato per il lato del browser e la validazione lato server. i18n usando GNU gettext, il che significa che a differenza di molti altre soluzioni, sono supportati sia le forme singolari e plurali.
  • condizionale GET utilizzando ETag.

Hazelcast dà anche:

  • In-process e cache di cluster, non è necessario server cache separate.
  • In-process e cluster Comet, si può scalare Comet a più server Web.

esercitazione per un avvio rapido.

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

A proposito, GitHub è un ottimo posto per la ricerca di progetti di Scala, come c'è un sacco di essere messo lì.

Mi piacerebbe aggiungere i miei sforzi a questa lista. È possibile trovare ulteriori informazioni qui:

brzy quadro

E 'in fase di sviluppo precoce e sto ancora lavorando su di esso in modo aggressivo. Esso include caratteristiche come:

  • Un focus sulla semplicità e l'estensibilità.
  • strumento di compilazione integrato.
  • Design modulare; alcuni moduli iniziali include il supporto per scalate, e-mail, JMS, JPA, squeryl, Cassandra, servizi di cron e altro ancora.
  • Semplici controllori e le azioni RESTful.

C'è ne e tutti i feedback è molto apprezzato.

UPDATE: 2011-09-078, ho appena pubblicato un importante aggiornamento alla versione 0.9.1. C'è di più informazioni su http://brzy.org che comprende uno screencast.

dolci e Slinky sembrano essere unmaintanted per circa un anno. Dolce Maven repo sweetsoftwaredesign.com è morto così c'è anche un modo per scaricare le dipendenze.

Nota:Spiffy è obsoleto.

<tappo>

Spiffy:

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

Spiffy è un framework web che utilizza Scala, Akka (un'implementazione di attore Scala) e l'API Java Servlet 3.0.Fa uso dell'interfaccia asincrona e mira a fornire un ambiente estremamente parallelo e scalabile per le applicazioni web.I vari componenti di Spiffy si basano tutti sull'idea che devono essere moduli minimalisti indipendenti che svolgono piccole quantità di lavoro molto rapidamente e trasferiscono la richiesta al componente successivo nella pipeline.Dopo che l'ultimo componente ha terminato l'elaborazione della richiesta, segnala al contenitore servlet "completando" la richiesta e rinviandola al client.

https://github.com/mardambey/spiffy

</tappo>

Si potrebbe anche provare Contesto . E 'stato progettato per essere un Java-quadro, ma ho usato con successo con Scala anche privo di difficoltà. Si tratta di un framework basato su componenti e ha proprietà simili come ascensore o Tapestry.

Ho inciampato su sua domanda un paio di settimane fa, ma da allora anche imparato a conoscere Circumflex . Questo è un bel quadro, il minimo che è quindi facile da imparare, e ha abbastanza buona documentazione disponibile pure.

Al lato è minimal-ness, essa sostiene anche di lavorare bene con altre biblioteche e consente di utilizzare una propria implementazione delle cose quando ne avete bisogno.

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