son romualfons romualdfons romuald que las keywords etiquetas description curso rest servlets web-applications browser ceylon

rest - romualfons - ¿Cómo escribir aplicaciones web usando Ceylon?



romuald seo (3)

Ceilán golpeando 1.0 llamó mi atención últimamente. La característica más interesante es que se puede compilar para los motores JVM y Javascript (node.js, navegadores), por lo que permite el uso compartido de código desde el principio entre el backend del servidor y la aplicación web que se ejecuta en el navegador.

Empecé a buscar la documentación para obtener detalles sobre cómo crear una aplicación WAR desplegable con Ceilán, donde tengo algunos puntos finales REST que sirven cosas al lado del navegador. No esperaba el soporte de Spring WebMVC, aunque este sería mi objetivo final. Para mi sorpresa, no encontré nada útil en este tema. ¿Hay alguna recomendación sobre cómo usar Ceylon cuando trato de apuntar a un motor Servlet como Jetty o Tomcat de la forma en que lo describí?

En este momento estoy haciendo lo siguiente en una aplicación Java:

  • Crear un proyecto de webapp Maven
  • Coloque el código del cliente JQuery Javascript y otras cosas estáticas en src / main / webapp
  • Escriba algunos controladores Spring MVC en los recursos JSON del servidor

Algo similar sería genial cuando el código del cliente también se transpone desde el código de Ceilán. Como veo, Ceilán usa su propio diseño de proyecto y sistema de construcción, aunque me gustaría utilizar Maven o Gradle para no alejarme demasiado de los proyectos existentes.



Me doy cuenta de que esta es una vieja pregunta, pero como solo buscaba lo mismo, casi 2 años después, parece que alguien está construyendo uno (llamado Cayla):

https://github.com/vietj/ceylon-cayla


Ahora que el lenguaje y sus compiladores han alcanzado 1.0, podemos cambiar algo de nuestra atención al desarrollo de cosas como los marcos web. En este momento, Ceylon no tiene un marco web terminado.

Lo que sí tiene es:

  1. Un servidor HTTP simple basado en JBoss Undertow, como parte del módulo ceylon.net . Esto hace que sea realmente fácil crear un pequeño servidor web, especialmente en conjunto con ceylon.html para representar páginas HTML.
  2. El módulo vert.x de Julien Viet y el módulo de promesas , que proporcionan un contenedor para vert.x.
  3. Un cartucho para OpenShift de Red Hat, que te permite implementar una aplicación web de Ceylon en la nube de Red Hat.

Entiendo que esta no es una solución completa a su pregunta de cómo puede ejecutar Ceylon en un motor servlet tradicional. La verdad es que puedes tomar un archivo compilado del módulo Ceylon, insertarlo en .war y usarlo dentro de Tomcat o Jetty o JBoss o lo que sea. A .car es, después de todo, solo un .jar con algunos metadatos adicionales. El problema con eso es que perderás las ventajas del tiempo de ejecución del módulo de Ceylon que usualmente tienes cuando usas la ceylon run . Necesitarás:

  • asegúrese manualmente de que todas las dependencias que utiliza su módulo estén disponibles en .war , y
  • no obtendrá el aislamiento del cargador de clases.

Si puedes vivir con eso, entonces, ve por ello. Funcionará. Pero desde mi punto de vista, la visión que tenemos es alejarnos de los motores servlet heredados y ejecutar algo como Undertow ( ceylon.net ) o vert.x encima del tiempo de ejecución del módulo. Recuerde que este "tiempo de ejecución del módulo" del que estamos hablando es, de todos modos, solo JBoss Modules, el pequeño núcleo de JBoss en sí mismo.