PDF de programación - atix20

Imágen de pdf atix20

atix20gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 29 de Diciembre del 2017)
252 visualizaciones desde el 29 de Diciembre del 2017
3,3 MB
68 paginas
Creado hace 7a (10/01/2013)
Distribuido bajo:

2013 - Bolvia

http://revista.atixlibre.org
Twitter: @atixlibre
Facebook: facebook.com/Atix.Libre

Dirección y Coordinación General

Esteban Saavedra López (esteban.saavedra@atixlibre.org)

Diseño y Maquetación 

Jenny Saavedra López (jenny.saavedra@atixlibre.org)
Esteban Saavedra López (esteban.saavedra@atixlibre.org)

Revisiones

Esteban Saavedra López
Jenny Saavedra López

Noticias

Jenny Saavedra López

Autores Frecuentes

Ernesto Rico Smith

Esteban Saavedra López
Martín Márquez
Rafael Rendón

Herramientas

La edición de esta revista fue realizada de forma integra haciendo uso de Software
Libre



Regreso con Fuerza
D

espués de un tiempo sin publicar nuevos números de nuestra revista, debido
a varios factores que dificultaron nuestro emprendimiento; dificultades que
en este momento no vale la pena recordarlas, pero si aprender de ellas,
nuestro equipo decidió pasar página y encarar un regreso, mentalizados con toda la
fuerza necesaria que nos ayude a continuar el objetivo que hace unos años nos
fijamos.

Se dice que un buen luchador no es aquel que pocas veces o nunca cayó, sino
aquel que cayó muchas veces e igual número de veces supo levantarse.

Regreso con fuerza, un título que representa mucho para nosotros, ya que todos los
miembros de nuestro equipo trabajamos duro para dedicarle un poco de tiempo a
este proyecto, que si bien no es remunerado, pero nos llena de satisfacción de
poder proveer a nuestros lectores un medio de difusión, aprendizaje y colaboración
en todo lo referente al software, conocimiento, tecnología y cultura libre.

En este primer número del 2013, estrenamos un nuevo diseño y presentación, pero
no todo queda ahí, ya que en los próximos números iremos mostrando algunas
nuevas secciones con diversos contenidos.

Asimismo con este primer número del 2013, queremos dar continuidad a nuestro
trabajo que desde que iniciamos con el proyecto de la revista siempre lo hicimos con
la mejor intensión y la mayor voluntad.

Bienvenidos a nuestro vigésimo número

Esteban Saavedra López
Presidente Fundación AtixLibre

Play Web
Framework

En el mundo de desarrollo de software, el uso de los frameworks se ha convertido en una
herramienta poderosa, eficiente y eficaz al momento de afrontar proyectos de desarrollo de
software, por su fácil aprendizaje, rápido desarrollo y estructura robusta.

Para reducir esta brecha entre plataformas
eficientes y escalables, múltiples proyectos
libres han optado por usar una aproximación
mixta, usar las fortalezas de la plataforma
Java y todos los beneficios de los principios
que Rails ha aplicado desde sus inicios, tales
como Convención sobre Configuración y
DRY.
Este artículo se centra en uno de los
frameworks de código
libre más
prometedores de los últimos años llamado
Play Web Framework, el cual tiene como
objetivo los siguientes tópicos:

✔ Usar toda la potencia de Java, sus
librerías y frameworks ampliamente
usados en la industria.

✔ Aplicar los principios y buenas
prácticas heredadas de Rails y
Django: DRY, Convención sobre
Configuración, etc.

✔ Permitir construir aplicaciones ligeras
de forma diferente al estándar
JEE5/6.

✔ Ser compatible con las plataformas de
desarrollo web actuales (REST, SOA).
✔ Proveer un sistema JITC(Just In Time
Compilation) para Java, el cual
permite desarrollar
y probar
aplicaciones de forma rápida.

✔ Permitir definir ambiente de trabajo
dentro de las aplicaciones: desarrollo,
pruebas, integración.

Requisitos
Para el desarrollo de la aplicación se
requieren los siguientes elementos:

Introducción

A

ctualmente el mundo del desarrollo de
software está muy orientado hacia la
construcción de entornos web,
haciendo que aplicaciones en esta categoría
sean cada vez más requeridas, de forma que
su desarrollo sea simple, en menor tiempo y
con calidad incremental a precios razonables.
El crecimiento exponencial de plataformas de
desarrollo web como Rails se debe
principalmente a su capacidad de elaborar
aplicaciones en docenas de horas con muy
poco esfuerzo. Pero este crecimiento ha
demostrado que Rails tiene limitaciones
inhenerentes a su plataforma y arquitectura
con respecto a dos temas muy importantes:
rendimiento y escalabilidad.
Estos aspectos son puntos fuertes en otras
plataformas tales como .Net y Java, pero
éstas tienen también 'incomodidades' debido
a la naturaleza de estos lenguajes
(estáticamente tipados y compilables), tales
como la cantidad de esfuerzo requerido para
obtener resultados y la falta de un esquema
de desarrollo integrado con la visión y
consistencia que Rails tiene.



Java Development
(OpenJDK u Oracle JDK)

Kit

1.6.x

✔ Terminal de comandos, Bash(Unix),

Command o PowerShell(Windows)

✔ Play 1.2.5
✔ Acceso a una terminal de comandos,
Bash en Unix/Linux o Command en
Windows.

Instalación
✔ Descargar

1.2.5



Play

y
descomprímirlo en una carpeta (por
ejemplo /opt/play12).



✔ Agregar la carpeta descomprimida al

PATH de su consola de comandos
✔ Unix: Agregar la línea export 
PATH=$PATH:/opt/play12 a su
archivo ~/.bashrc

✔ Windows: Agregar el directorio a
través de su utilidad de asignación
de variables globales.

Primer ejemplo
Ahora demos un vistazo rápido a las capacidades de Play desarrollando una aplicación sencilla
que nos muestre el uso completo de todo el stack de desarrollo del Play:

✔ Requerimos una aplicación que nos permita registrar tareas y marcarlas como

completadas en un entorno web.

Primeramente definimos la estructura base de una aplicación vacía, para esto crearemos una
aplicación genérica a través de la utilidad de línea de comandos de Play.
Desde la consola generamos el proyecto y accedemos a él:
$> play new Tareas
$> cd Tareas
$> play run

Accedemos a nuestra aplicación a través de la URL http://localhost:9000 y veremos la
siguiente página:

Figura 1.



lib: Archivos librería adicionales
(archivos JAR).

✔ public: Archivos Javascript, CSS e

imágenes usadas en las páginas.
test: Archivos de pruebas unitarias y
pruebas de integración.



Todas las peticiones HTTP siguen el mismo
ciclo de vida a través de los componentes
MVC. Las interacciones se inician en las
Vistas, las cuales envían señales al servidor,
éste usa las Rutas configuradas para
redireccionar
los respectivos
Controladores, los cuales acceden a los
elementos del Modelo, mismos que son
renderizados (de ser necesario) por las
vistas.

todo a

Figura 3. MVC

A partir de este punto cualquier modificación
realizada al código y/o configuraciones es
automáticamente aplicada al código al
recargar la página. Esta es una de las
características más trabajadas y útiles en
Play ya que permite tener un entorno
inmediato de desarrollo-resultado integrado
con el framework.

Modelo de dominio
Como toda aplicación MVC empezamos
definiendo el modelo, para nuestro caso
usaremos una estructura sencilla, una clase
persistente Tarea bajo
la carpeta
app/models/Tarea.java.

Esta página inicial contiene toda la
documentación local base para Play,
incluyendo sus preguntas más frecuentes y
guías de uso.

Estructura del proyecto
Ingresando en la nueva carpeta de proyecto
creada, tenemos los siguientes directorios:

Figura 2. Estructura de Proyecto.
✔ app: Carpeta que aloja los principales

componentes MVC de la aplicación.

✔ controllers:

Componentes Java,
controlando la interacción entre
componentes
visuales,
redireccionando peticiones HTTP e
interactuando como punto de acceso
hacia los componentes del modelo.



✔ models: Componentes persistentes o
no del dominio de la aplicación, por
defecto Play usa el estándar JEE JPA
1.0 para la persistencia de datos.

✔ views: Plantillas HTML que permiten
renderizar componentes obtenidos a
través de los controladores. Play usa
una sintaxis similar a Ruby para las
plantillas de vistas.

✔ conf:

Configuraciones de

la
aplicación, tales como conexiones a
bases de datos, módulos adicionales,
internacionalización, mapeo de rutas
HTTP para interacciones REST, datos
iniciales, etc.

package models;
import play.*;
import play.db.jpa.*;
import play.data.validation.*;
import javax.persistence.*;
import java.util.*;
@Entity
public class Tarea extends Model{

@Required
public String titulo;
public boolean completada;

public Tarea(String titulo){
this.titulo = titulo;
}

public String toString(){
}

}

return id + " - " + titulo;

Todos los componentes del modelo en Play
extienden de la clase base Model, que
permite definir clases que se mapean a
tablas de forma automática. Adicionalmente
tiene agregados de validación como el
@Required usado para establecer un campo
como requerido; nótese que el atributo ID es
automáticamente definido en la clase base
Model.
Para habilitar una base de datos de
desarrollo configuramos Play para que la
genere por nosotros en memoria, en el
archivo conf/application.conf encuentre
y descomente (quitar el caracter #):

db=mem

CRUD
Play nos permite generar estructuras CRUD
(Create/Update/Delete) a través de uno de
Ahora acceder de nuevo a la dirección http://localhost:9000 para verificar las operaciones
CRUD, debería mostrar algo similar a la siguiente pantalla:

$> play run --deps

sus módulos de forma sencilla, para este
cometido
archivo
con
  • Links de descarga
http://lwp-l.com/pdf8082

Comentarios de: atix20 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad