Aprovecha el precio especial

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comienza ahora

Termina en:

02d

15h

49m

26s

4

Acelerar la creación de sitios web con Spring CLI

Osmandi
osmandi
45024


Spring es el Framework icónico de Java para BackEnd, con su inyección de dependencia nos libera de controlar el ciclo de vida de las instancias permitiendo mantener la optimización del uso de recursos. Sin embargo no está limitado para construir API, también se puede hacer orientado a presentación aunque con unos ajustes adicionales.

Go, el lenguaje de Google tiene frameworks que agilizan la creación de aplicaciones web, uno de ellos es Hugo para sitios estáticos y otro Revel para permitir hacer sitios dinámicos. En este sentido tenía la curiosidad si existía algo similar para Java. No lo encontré pero, esto se le acerca bastante. 😃

En la página start.spring.io tienen la herramienta que le ayudará a descargar un template con las librerías que escogieron aunque mi opción favorita es Spring Boot CLI.

En ArchLinux la pueden instalar con:

yaourt -S spring-boot-cli

Entonces para crear un proyecto (de forma más rápida que usando NetBeans o Spring Tool Suite) es:

springinit--dependencies=web,mustache--group=com.osmandi--artifact=platziplatzi
  • web Nos permite las opciones para manejar sitios web.
  • mustache Es un *templating engine". Los probé todos, incluyendo thymeleaf y mustache es el que se adaptó mejor. ¿Qué hacen estas librerías? Pues “parsean” los html guardados en src/main/resources/templates ya que esto no lo hace de forma automática Spring Boot. Si ya terminaste el curso me entenderás mejor. Thymeleaf digamos que tine “más fama” pero no te dejará compilar si tienes <meta charset="“utf-8”"> en tu head de tu html.

El paso siguiente es entrar en la carpeta platzi. Desde aquí haremos todo el proyecto.

cd platzi

Lo primero que haremos es el index.html. Yo usaré Atom.

atom src/main/resources/templates/index.html

<html><head>
    <metacharset="utf-8">
    <title>Platzititle>
  head>
  <body><h1>Bienvenido, esto es Spring Boot CLIh1>
    br>
    <h2>¿Qué tal el curso?h2>
  body>
html>

El paso siguiente es decirle a Spring Boot que tenemos un index.html que queremos que muestre.

atom src/main/java/com/osmandi/platzi/DemoApplication.java

package com.osmandi.platzi;

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@SpringBootApplication
publicclassDemoApplication {

        publicstaticvoid main(String[] args) {
                SpringApplication.run(DemoApplication.class, args);
        }

        @RequestMapping("/")
        String index(){
                return"index";
        }
}

Solo queda compilar en nuestro local.

mvn spring-boot:run

Si entramos en nuestro navegador, localhost:8080 accederemos a nuestra aplicación así sin más. 😄

Screenshot_20171022_065712.png

Subí el codigo a GitHub lo tienes aquí github.com/osmandi/spring-boot-cli-platzi. Puedes hacerle un fork y modificarlo a tu gusto.

Pero la programación es más divertida cuando se comparte, así que quiero ir un poco más allá 😏. ¿Qué tal si unimos a Docker y a Now.sh para subirlo a internet? 😎

¡Boom! platzi-spring-cli.now.sh

En resumen, para esa página tan sencilla utilicé:

  • Java
  • mvn (Maven)
  • Spring CLI (Librerías web y mustache)
  • Docker
  • Now.sh
  • Incontables deploy a Now.sh
  • 9 Horas (No encotré ningún tutorial de deploy a Now con Spring Boot y tuve muchos errores)

¿Qué te pareció Spring CLI?

Nota Los químicos jamás sostendríamos un matraz erlenmeyer en medio de una reacción con desprendimiento de gas como lo tiene Duke y menos con la bata desabotonada. 😄

Escribe tu comentario
+ 2