Je travaille sur un petit "cadre" MVC (c'est vraiment très petit) à Scala. J'aimerais pouvoir écrire mes fichiers d'affichage en tant que code Scala afin que je puisse obtenir beaucoup d'aide du compilateur. La compilation préalable est excellente, mais ce que je veux vraiment, c'est un moyen de compiler automatiquement certains fichiers (mes fichiers de vue) sur demande, donc je n'ai pas à éteindre la jetée et compiler tous mes fichiers source à la fois, puis Commencez-le encore juste pour voir de petites modifications à mon HTML. P>
Je fais beaucoup cela avec des fichiers .ascx dans .NET (le fichier contiendra une seule étiquette d'écriture avec un groupe de code C # à l'intérieur qui écrit un balisage à l'aide d'un xmlwriter) et j'adore ce flux de travail. Vous venez de modifier, puis de rafraîchir votre navigateur, mais il se compilait toujours! P>
Je n'ai pas beaucoup d'expérience avec Java, mais il semble possible de le faire avec JSP. Je me demande si ce genre de chose est possible à Scala. P>
J'ai cherché à construire cela moi-même (voir plus d'informations ici: http: // www.n.non.com/comepiler-api-td12050645.html ) Mais je préférerais utiliser quelque chose d'autre si c'est là-bas. P>
3 Réponses :
Il y a beaucoup d'alternatives. Une alternative, par exemple, est d'utiliser Jrebel (formelement Javarebel) et un processus de compilation d'arrière-plan (tel que MVN Scala: CC code> avec Maven, par exemple). P>
Y a-t-il un moyen de combiner Scala: CC avec jetée: courir? Jrebel a fière allure, mais malheureusement ce n'est pas gratuit.
Je pourrais être un moyen de partir ici, et peut-être que c'était juste des informations erronées, mais je pourrais jurer que j'ai vu sur Twitter ou quelque part en ligne que les gens de Jrebel donnaient à Jrebel pour des projets Scala. Quelque chose sur la promotion de la croissance Scala. Peut-être poster quelque chose sur les forums Java Posse? Je parie qu'ils auraient une réponse
Tu as raison, Marc. Il y a une documentation sur l'ascenseur Wiki pour obtenir une licence gratuite et la configuration de Jrebel avec Tomcat ou Jetty wiki .liftweb.net / index.php? Titre = Javarebel
Vous pouvez simplement utiliser deux fenêtres, une avec scala: CC en cours d'exécution et l'autre avec une jetée: courez.
Ceci se présente lorsque je saute JSP / Cadres en écrivant des servlets à Scala avec XML incorporé pour la templature:
class MyServlet extends HttpServlet {
def get(req) = {
var title = "hello world"
var link = "somepage"
<html>
<head><title>{ title }</title></head>
<body><a href={ "/" + link }>Click</a></body>
</html>
}
def doGet(req: HttpServletRequest, res: HttpServletResponse) = {
val out = new PrintWriter(res.getOutputStream())
out.println(get(req))
out.close
}
}
Je m'aime du feu de Firebug, mais je préfère vraiment faire tout mon édition de travail dans mon éditeur préféré. Il y a aussi beaucoup d'avantages à utiliser du code pour écrire HTML. Par exemple, vous pouvez imprimer de manière conditionnelle un attribut (comme cocher = "coché" sur une case à cocher). Je me trouve ajouter ce genre de choses plus compliquées dans le code tout le temps et j'aimerais que l'histoire de sauvegarde-rafraîchissance fonctionne.
Si vous voulez quelque chose, c'est un peu comme JSP / ASP / ERB, mais à l'aide de code SCALA, vous voudrez peut-être jeter un coup d'œil à Scalate . p>
SCALATE est un moteur de modèle basé sur scala qui vous permet d'utiliser de puissantes expressions scala au lieu de la langue d'expression JSP / JSF / JSTL limitée - tout en étant complètement saisi de manière statique afin que les modèles soient vérifiés lors de l'édition / de la compilation des erreurs - et Les modèles sont rechargés à la volée car ils sont édités. p>
Pour le style JSP / ASP de modèles, essayez le Modèles SSP dans Scalate qui sont très jsp-like. P>
Si vous générez principalement un marquage HTML / XML, je vous recommande également de donner au Scaml Modèles à Écalez un essai - ce sont des versions scala de haml qui conduit à des modèles vraiment secs < / p>