lunes, 2 de mayo de 2016

Creando una aplicacion inicial con Play Framework

Creando una nueva aplicacion usando activator

 
Activator puede ser usado para crear una nueva aplicacion. Activator permite seleccionar la plantilla a usar para la creacion de una nueva aplicacion. 

Para proyectos de Play, el nombre de la plantilla base de java es play-java.

Nota escogiendo una plantilla para java en este punto no implica que no se pueda cambiar el lenguaje de desarrollo despues. Por ejm, se puede crear una nueva aplicacion usando por defecto una Aplicacion web de Java y despues se puede escribir codigo en scala por donde se desee.

Para crear una nueva Aplicacion Play de Java, se ejecuta:

$ activator new my-first-app play-java

En cualquier caso, se puede reemplazar my-first-app con cualquier nombre que uno desee para usar con la aplicacion. Activator usara esto como el nombre de directorio base de la aplicacion. Se puede cambiar este nombre despues si se desea.

Si se desea usar otras plantillas de Activator, se puede hacer esto corriendo activator new. Este sera escrito como nombre de aplicacion, y luego se da una opcion para navegar y seleccionar la plantilla apropiada.

Una vez la aplicacion ha sido creada se puede usar el comando activator de nuevo para entrar a la consola de play.

$ cd my-first-app
$ activator


Anatomia de una Aplicacion Play

Layout de Aplicacion Play

El layout de una aplicacion es estandarizado para guardar cosas lo mas simples posible.

app                      → Application sources
 └ assets                → Compiled asset sources
    └ stylesheets        → Typically LESS CSS sources
    └ javascripts        → Typically CoffeeScript sources
 └ controllers           → Application controllers
 └ models                → Application business layer
 └ views                 → Templates
build.sbt                → Application build script
conf                     → Configurations files and other non-compiled resources (on classpath)
 └ application.conf      → Main configuration file
 └ routes                → Routes definition
dist                     → Arbitrary files to be included in your projects distribution
public                   → Public assets
 └ stylesheets           → CSS files
 └ javascripts           → Javascript files
 └ images                → Image files
project                  → sbt configuration files
 └ build.properties      → Marker for sbt project
 └ plugins.sbt           → sbt plugins including the declaration for Play itself
lib                      → Unmanaged libraries dependencies
logs                     → Logs folder
 └ application.log       → Default log file
target                   → Generated stuff
 └ resolution-cache      → Info about dependencies
 └ scala-2.11
    └ api                → Generated API docs
    └ classes            → Compiled class files
    └ routes             → Sources generated from routes
    └ twirl              → Sources generated from templates
 └ universal             → Application packaging
 └ web                   → Compiled web assets
test                     → source folder for unit or functional tests

directorio app/  

El directorio app/ contiene los artefactos ejecutables (fuentes java, plantillas, y recursos de aplicacion web).

Hay tres paquetes basicos que son de la arquitectura MVC:

    app/controllers
    app/models
    app/views

Y tambien se puede crear paquetes propios segun las necesidades.

Nota en play, el patron MVC puede variar un poco segun nuestras necesidades de programacion.

directorio  public/ 

Los recursos son almacenados en el directorio public como recursos estaticos y servidos directamente desde el servidor.

Este directorio se divide en tres subdirectorios para archivos de imagenes, css y javascript. se deberia organizar los elementos estaticos de esa forma para que nuestras aplicaciones de play sean consistentes.

En una nueva aplicacion recien creada, el directorio public es mapeado como el directorio /assets del path, pero se puede cambiar con facilidad eso aun en un uso severo de directorios para recursos estaticos.

directorio  conf/  

El directorio conf contiene los archivos de configuracion de la aplicacion. Hay dos archivos de configuraciones principales:

    application.conf, este archivo es el principal en la configuracion de la aplicacion, pues contiene los parametros base de configuracion routes, este archivo contiene la definicion rutas web de la aplicacion.
Si se necesita añadir opciones de configuracion que son especificas de nuestra aplicacion, es bueno añadir las opciones deconfiguracion nuevas en el archivo application.conf.

Si una libreria necesita un archivo de configuracion especifico, se debe tratar de colocar bajo el directorio conf/.

directorio  lib/ 

El directorio lib/ es opcional y contiene librerias y dependencias no clasicas de play, como pueden ser archivos JAR que uno desee administrar directamente fuera del sistema de construccion de Play Framework. Solo dejamos los archivos JAR alli y se añadiran automaticamente al path de la aplicacion.

directorio  project/ 

el directorio project/ contiene las definiciones de construccion de proyecto sbt.

    plugins.sbt define los plugins de sbt usados por el proyecto
    build.properties contiene la version sbt a usar para la construccion del aplicativo.

directorio  target/ 


el directorio target/ contiene todo lo generado por el sistema de construccion. Puede ser util saber que es generado alli.

    classes/ contiene todas las clases compiladas.
    classes_managed/ contiene solo las clases que son administradas por el framework (como puede ser clases generaadas por el ruteador o el sistema de plantillas). Este puede ser util para añadir este folder de clases como un folder de clases externo en el IDE del proyecto.
    resource_managed/ contiene recursos generados , tipicamente recursos compilados tales como CSS resultado de Less y resultados de compilacion de CoffeeScript.
    src_managed/ contiene fuentes generados, tales como los fuentes de Scala generados en funcion del sistema de plantillas de Play Framework.
    web/ contiene recursos web procesados por el sbt-web tales como los recursos de app (app/assets) y la carpeta ṕublic/.

Archivo build.sbt

Las declaraciones de construccion base del proyecto son generalmente encontradas en build.sbt en la raiz de directorios del proyecto. Algunos archivos de extension .scala pueden ser usados para declarar opciones de construccion de nuestro proyecto y pueden ser ubicados en la carpeta project/.

Escrito Por Christian Portilla Pauca

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

1 comentarios:

Alexandra dijo...

Nota escogiendo una plantilla para java en este punto no implica que no se pueda cambiar el lenguaje de desarrollo despues. Por ejm, se puede crear una nueva aplicacion usando por defecto una Aplicacion web de Java y despues se puede escribir codigo en scala por donde se desee.https://nextecno.com/

© 2013 JAVA Programming. All rights resevered. Powered By Blogger