web-dev-qa-db-fra.com

Quels Scala web-frameworks sont disponibles?

Je viens juste de commencer à apprendre Scala et la première chose que je vais implémenter est une application web minuscule. J'utilise Erlang depuis un an pour implémenter un logiciel côté serveur, mais je n'avais jamais écrit d'applications Web auparavant. Ce sera une belle expérience.

Existe-t-il des cadres Web pour Scala sauf pour Lift ?

Comprenez-moi bien, Lift a l'air génial. Je veux juste savoir combien il y a de cadres pour pouvoir ensuite choisir entre eux. C'est toujours bien d'avoir le choix, mais la seule chose que j'ai trouvée était Lift.

195
Prikrutil

Scala m'intéresse beaucoup, mais je ne l'ai pas encore utilisé. Donc, avec cette mise en garde, les cadres dont je suis conscient ne sont pas mentionnés dans réponse de HRJ (Lift, Sweet, Slinky) sont les suivants:

77
bn.

J'ai écrit un blog post à ce sujet.

Pour résumer, certaines des options sont les suivantes:

  1. Ascenseur
  2. doux
  3. Slinky

J'ai finalement trouvé qu'aucun ne me convenait et j'ai développé mon propre petit "cadre". (Ce n'est pas encore open-source).

44
HRJ

J'aime Lift ;-)

Jouer est mon second choix pour les frameworks web compatibles avec Scala.

Le guichet est mon troisième choix.

35
David Pollak

Ce qui suit est une décharge de cadres. Cela ne signifie pas que je les ai réellement utilisés:

  • Coeus . Un framework web MVC traditionnel pour Scala.

  • Non filtré . Un toolkit pour le traitement des requêtes HTTP dans Scala.

  • Granit Uniscala .

  • Gardel

  • Mondo

  • Amore . Un Scala port du Ruby) framework web Sinatra

  • Balances XML . Approche flexible de la gestion du XML et mode d’interaction simplifié avec XML.

  • ceinture . Une interface de type rack pour les applications Web construite sur Scalaz-HTTP

  • Frank . Application Web DSL construite sur Scalaz/Belt

  • MixedBits . Un cadre pour le Scala pour aider à construire des sites Web

  • Circumflex . Réunit plusieurs projets open source autonomes pour le développement d'applications à l'aide du langage de programmation Scala.

  • Scala Webmachine . La webmachine du port de Basho à Scala, un système basé sur REST permettant de créer des applications Web

  • Bowler . Un framework web RESTful, multi-channel ready Scala)

35
IttayD

Essayez Play Framework , qui prend également en charge Scala.

23
lidaobing

Je trouve Non filtré très intéressant https://github.com/unfiltered/unfiltered .

C'est mentionné dans la liste de IttayD.

Voici une présentation à ce sujet http://unfiltered.lessis.me/# et la vidéo http://code.technically.us/post/942531598/doug-tangren- présente-la-boîte à outils non filtrée pour

Ici aussi, il y a un article avec plus d'informations http://code.technically.us/post/998251172/holding-the-parameter

8
fedesilva

Un framework web très intéressant avec un déploiement commercial est Scalatra , inspiré de Ruby's Sinatra. Voici un article d'InfoQ à ce sujet.

8
Daniel C. Sobral

Il faut noter qu'il y a aussi un intérêt considérable dans Wicket et Scala . Wicket convient à merveille Scala. Si vous souhaitez tirer parti du projet très mature Wicket et de son écosystème (extensions) ainsi que de la syntaxe concise et de l’avantage de la productivité de Scala, celui-ci est fait pour vous!

Voir également:

  1. Quelques prosa

  2. Présentation

  3. Quelques expériences avec Wicket et Scala

  4. Annonces avec référence au projet pour le code de liaison à lier Scala fermetures de modèles

8
Andreas Petersson

Jouer est très gentil.

Il est maintenant prêt pour la production. Il intègre: un framework de templates sympa, un rechargement automatique des fichiers sources en toute sécurité, un système d’action composable, akka awesomeness, etc.

Sa partie de la Typesafe Stack .

Après l'avoir utilisé pour deux projets, je peux dire que cela fonctionne assez bien et que cela devrait être un élément à prendre en compte la prochaine fois que vous chercherez à apprendre de nouveaux cadres Web.

7
JaimeJorge

J'ai tendance à utiliser JAX-RS en utilisant Jersey (vous pouvez écrire des ressources jeans Nice dans Scala, Java ou Groovy) pour écrire des applications Web RESTul. J'utilise ensuite - Scalate pour le rendu des vues à l'aide de l'un des langages de modèle ( JADE , Scaml , Ssp (Pages du serveur Scala), Moustache , etc.).

5
James Strachan

Prikrutil, je pense que nous sommes sur le même bateau. Je viens aussi à Scala de Erlang. J'aime beaucoup azote beaucoup, alors j'ai décidé de créer un Scala) .

Jetez un oeil à Xitrum . Sa doc est assez vaste. De README:

Xitrum est un framework Web et un serveur Web asynchrones et groupés Scala) au-dessus de Netty et Hazelcast:

  • Il comble le fossé entre Scalatra et Lift: plus puissant que Scalatra et plus facile à utiliser que Lift. Vous pouvez facilement créer des API et des publications RESTful. Xitrum est un contrôleur d’abord comme Scalatra, pas comme d’abord Lift.
  • L'annotation est utilisée pour les itinéraires d'URL, dans l'esprit de JAX-RS. Vous n'êtes pas obligé de déclarer tous les itinéraires dans un seul endroit.
  • Typesafe, dans l'esprit de Scala.
  • Async, dans l'esprit de Netty.
  • Les sessions peuvent être stockées dans des cookies ou en grappe Hazelcast.
  • la validation jQuery est intégrée pour la validation côté navigateur et côté serveur. i18n using GNU gettext, ce qui signifie que contrairement à la plupart des autres solutions, les formes au singulier et au pluriel sont prises en charge.
  • GET conditionnel utilisant ETag.

Hazelcast donne aussi:

  • Cache en cours de traitement et en cluster, vous n'avez pas besoin de serveurs de cache distincts.
  • Comet en cours de traitement et en cluster, vous pouvez l’adapter à plusieurs serveurs Web.

Suivez le tutoriel pour un démarrage rapide.

4
Ngoc Dao

Il existe un nouveau cadre Web appelé Pages Web Scala . Du site:

Public cible

Le framework Web Scala Pages est susceptible de plaire aux programmeurs Web issus d'un arrière-plan Java et désirant programmer des applications Web dans Scala. L'accent est mis sur = OOP plutôt que de la programmation fonctionnelle.

Caractéristiques et caractéristiques

  • Adhère au paradigme modèle-vue-contrôleur
  • Moteur de template basé sur du texte
  • Syntaxe simple: $variable et <?scp-instruction?>
  • Encodage/détection de contenu, capable de gérer les encodages de texte internationaux
  • Extraits au lieu de balises personnalisées
  • Réécriture d'URL
4
Daniel C. Sobral

Il y a aussi Pinky, qui était sur bitbucket mais a été transféré sur github .

À propos, github est un excellent endroit pour rechercher des projets Scala, car ils sont nombreux.

3
Daniel C. Sobral

J'aimerais ajouter mes propres efforts à cette liste. Vous pouvez trouver plus d'informations ici:

cadre brzy

C'est en début de développement et j'y travaille toujours de manière agressive. Il comprend des fonctionnalités telles que:

  • Un accent mis sur la simplicité et l'extensibilité.
  • Outil de construction intégré.
  • Conception modulaire; Certains modules initiaux incluent la prise en charge des services scalate, email, jms, jpa, squeryl, cassandra, cron, etc.
  • Contrôleurs et actions RESTful simples.

Tous les commentaires sont très appréciés.

MISE À JOUR: 2011-09-078, je viens de publier une mise à jour majeure de la version 0.9.1. Il y a plus d'informations sur http://brzy.org qui inclut un screencast.

3
Michael Fortin

Sweet et Slinky semblent ne pas être entretenus depuis environ un an. Sweet Maven repo sweetsoftwaredesign.com est mort, il n’ya donc aucun moyen de télécharger des dépendances.

1
Nowaker

Remarque: Spiffy est obsolète.

< plug>

Spiffy :

  • est écrit en scala
  • utilise la fantastique bibliothèque Akka et ses acteurs
  • utilise la servlet API 3.0 pour le traitement des requêtes asynchrones
  • est modulaire (le remplacement des composants est simple)
  • utilise DSL pour réduire le code là où vous ne le voulez pas
  • prend en charge Scalate et Freemarker pour la création de modèles

Spiffy est un framework Web utilisant Scala, Akka (une Scala)) et Java Servlet 3.0. Il utilise l'interface asynchrone et vise à fournir un environnement extrêmement parallèle et évolutif pour les applications Web. Les différents composants de Spiffy sont tous basés sur l’idée qu’ils doivent être des modules indépendants minimalistes qui effectuent très rapidement de petites tâches et transfèrent la demande au prochain composant en cours. Une fois le dernier composant traité, la requête est signalée au conteneur de servlets en "complétant" la requête et en la renvoyant au client.

https://github.com/mardambey/spiffy

</plug>

1
Hisham

Je suis tombé par hasard sur votre question il y a quelques semaines, mais depuis lors, j'ai également appris à propos de Circumflex . Il s’agit d’un framework minimal et agréable, donc facile à maîtriser, qui dispose d’une très bonne documentation.

En plus de son minimum, il prétend également bien fonctionner avec d'autres bibliothèques et vous permet d'utiliser votre propre implémentation lorsque vous en avez besoin.

0
Dave Vogt

Vous pouvez également essayer Context . Il a été conçu pour être un framework Java, mais je l’ai utilisé avec succès avec Scala également sans difficulté. Il s’agit d’un framework basé sur des composants et qui possède des propriétés similaires à celles de Lift ou Tapestry.

0
M.L.