Ora conosco il linguaggio di Scala e sono pronto per lo sviluppo web. L'unica struttura che ho trovato è Lift e non ne so nulla. Come ti avvicini allo sviluppo web usando Scala?Come posso iniziare a sviluppare per un web usando Scala?
risposta
Esistono almeno 2 scala framework per lo sviluppo web. Uno, come hai detto, è Lift.
C'è anche Step, che è un micro-quadro nella vena di Sinatra per rubino. Sembra abbastanza bello e ha una bella DSL.
Leggermente più sperimentale, l'ultima busta scalaz dispone di un pacchetto per la gestione delle applicazioni Web. È un po 'carente nella documentazione e negli esempi, ed è probabile che subisca alcune pesanti modifiche nei prossimi mesi (sono un committer). Se desideri seguire i modi più sanguinanti che sto pensando di usarlo, puoi dare un'occhiata allo scapps. Spero di avere presto un app di esempio.
Il passaggio sembra ottimo, ma non posso fallo funzionare con Scala 2.8. –
Ho usato sia Wicket e Tapestry per creare applicazioni Web in Scala.
Il motivo principale per cui non sono andato con, per esempio, Lift è perché i nostri sviluppatori hanno abbastanza esperienza con i due framework e quindi la conversione in Scala sarebbe più facile per loro.
Naturalmente, ci sono alcune cose da tenere a mente quando si utilizza un framework web Java con Scala:
- classi Collection. Le collezioni Scala sono molto più ricche delle loro controparti Java, ma la maggior parte dei framework Java non è in grado di usarle. (Apparentemente qualcosa da rimediare sarà introdotto con Scala 2.8)
- Problemi di compatibilità occasionali, ad esempio Tapestry 5.1 non accetta metodi che non richiede nelle classi modulo, ma Scala aggiunge implicitamente uno
$tag()
ad ogni classe. Ciò causerà a Tapestry il rigetto della classe.
Come hai risolto il problema del '$ tag'? Non usando Tapestry 5.1? –
Ho appena scritto quella classe in Java :) Questa è una soluzione hacker, ma apparentemente Scala 2.8 ritirerà comunque il metodo $ tag e quindi non sarà più un problema. – andri
Suggerimento: è possibile utilizzare le raccolte Java in Scala e le raccolte Scala in Java con 2.7.x, con http://github.com/jorgeortiz85/scala-javautils/tree/master –
Ho avuto successo con Struts 2 e Scala. Le annotazioni @BeanInfo e @BeanProperty nel pacchetto scala.reflect sono utili per l'accesso alle proprietà.
Credo che Lift sia attualmente il framework Web leader se si desidera scrivere la propria applicazione in Scala.
Utilizzando Ascensore per lo sviluppo web a Scala ha alcuni aspetti positivi:
- attiva, solidale, comunità reattivo;
- il framework è progettato per Scala anziché essere compatibile con Scala;
- ha già subito notevoli sforzi per investirlo da più contributori.
Gli aspetti negativi:
- forse una sfida, se (come me) ci si sposta da framework come Struts;
- la maggior parte della reattività alle richieste degli utenti avviene in 1.1-SNAPSHOT rispetto alle versioni specifiche, il che significa che stai codificando contro lo spostamento del bersaglio. Non è un grosso problema in pratica, ma posso vedere questo essere inquietante per alcuni. Chiaramente questo punto non invecchierà bene una volta 1.1 è stato rilasciato.
Come ha sottolineato Nick Partridge nella sua risposta, ci sono altri quadri. Come io non so che cosa si desidera o aspetto di un quadro posso solo puntare ad alcune risorse ascensore che possono aiutare a rendere la vostra mente:
- C'è un ascensore libro open source (una fotografia di cui era pubblicato come The Definitive Guide to Lift) che potete trovare a http://groups.google.com/group/the-lift-book (cercare master.pdf su quella pagina).
- cominciando con Ascensore PDF è un'introduzione più breve http://liftweb.net/docs/StartingWithLift.pdf
- La mailing list è grande disponibilità (per me), ma una grande fonte di informazioni: http://groups.google.com/group/liftweb
Si consiglia inoltre di dare un'occhiata a motivazione e le influenze di Lift ("Sessioni e sicurezza altamente granulari di Seaside, Rails flash-to-bang veloce, Django's" più di un semplice CRUD è incluso ", Wicket's design-friendly templating ....") elencato su http://liftweb.net/ per vedere se abbina quello che vuoi
play framework è ora uno dei più grandi framework web scala.
- 1. Come posso iniziare a sviluppare con Django su Cloud9?
- 2. Di cosa ho bisogno per iniziare a sviluppare per iPhone?
- 3. Posso sviluppare Lego Mindstorms in Scala?
- 4. È tempo di iniziare a sviluppare con HTML5?
- 5. Come posso iniziare a scrivere il test unitario in web Scrapy usando python?
- 6. Come posso iniziare a contribuire a GNOME?
- 7. Quando posso iniziare a usare le proprietà impostate usando UIAppearance?
- 8. Come iniziare a scrivere applicazioni per iPad?
- 9. Come sviluppare un sito web di streaming musicale utilizzando PHP
- 10. Come dovrei iniziare a programmare un'applicazione web simile a Skype?
- 11. Come posso iniziare a scrivere un transpiler? È possibile?
- 12. Come posso iniziare a creare un Lettore RSS C#?
- 13. Come sviluppare firefox addon usando angularjs
- 14. come iniziare a imparare concetti informi in scala
- 15. Come iniziare a creare siti Web con Delphi Prism?
- 16. Come sviluppare una funzione di chat XMPP basata sul web usando PHP e JQuery?
- 17. Posso sviluppare applicazioni Blackberry usando C# .NET su windows7
- 18. Iniziare con prese web
- 19. come sviluppare si no conferma usando jquery
- 20. È sicuro ora sviluppare un'applicazione Web con specifiche HTML 5?
- 21. Come iniziare con OAuth per proteggere un'applicazione API Web?
- 22. Come iniziare a sviluppare i telefoni cellulari cinesi basati sul nucleo RTOS? (MTK)
- 23. Scala + Eclipse + WebServer = Una web app
- 24. come sviluppare l'applicazione VOIP per iphone
- 25. Come posso ottenere un nodo adiacente a un nodo univoco usando Scala?
- 26. Come posso iniziare con SharpSVN?
- 27. Come iniziare a utilizzare BouncyCastle?
- 28. Come iniziare a utilizzare Chainsaw per Log4j?
- 29. Dove posso iniziare a imparare a programmare i bot?
- 30. Dove posso iniziare a fare un attacco di input linux?
Stai escludendo Lift per qualche motivo o le risposte sono valide? Questo non è chiaro. –
Non escludo Lift. Sto solo dicendo che non so quanto sia maturo iniziare a usarlo. Voglio sapere qual è l'approccio generale per lo sviluppo web di Scala? – Cory