avalanche

Software captura de pantalla:
avalanche
Detalles de software:
Versión: 0.3.0
Fecha de carga: 14 Apr 15
Licencia: Libre
Popularidad: 1

Rating: nan/5 (Total Votes: 0)

avalancha es un framework web Python construido encima de webapp2 & nbsp;. Utiliza Jinja2 como un sistema de plantillas predeterminada y no incluye ninguna capa de persistencia.
objetivos Avalanche (o por qué otro framework web?)
Enfoque de diseño Avalancha en la capacidad de prueba y reutilización.
Por supuesto la avalancha no hace milagros. Comprobabilidad y reutilización voluntad depende en última instancia del código de la aplicación. Sin embargo, el marco tiene un papel importante en la creación de la senda correcta.
Las metas se presentan a continuación, es de esperar después de leer el diseño y tutorial estará claro a usted cómo se logran estos objetivos.
Comprobabilidad
Avalancha fue diseñado de una manera que hace que sea posible (más fácil para usted) para escribir buenas unidad de pruebas para el código. Eso no sólo es hacer que sea fácil de escribir pruebas. A-prueba de la unidad debe:
- Dar un mensaje claro error cuando falla
- Fallar sólo cuando se rompe la característica a prueba, no en cada cambio de código
- Ser rápido
Reutilización
Mayormente cada marco afirma que la reutilización es uno de sus objetivos de diseño. Aquí "reutilización": el código fuente reutilización.
Muchos marcos proporcionan unos mecanismos de sub-aplicaciones reutilizables / enchufable sin embargo, no siempre es fácil volver a utilizar estas aplicaciones de código fuente en caso de tener que configurar / modificarlo. Aplicaciones conectable es también una característica muy importante, pero a partir de ahora la avalancha no tiene soporte para ello.
No sólo debe ser posible escribir código reutilizable, el código debe ser reutilizable en la primera vez que lo escribe. Usted no debe ser aconsejado a escribir el código de una manera, y que tarde tendrá que modificarlo para que sea reutilizable. Es decir se opone a decir "utilice las funciones de vista (controlador)". Y que ... "si desea que sus opiniones sean reutilizables convertir los puntos de vista basados ​​en la clase!".
Detalles del proyecto
- Página web / docs
- Este es un proyecto de código abierto (licencia MIT) escrito en python.
- Descarga de PyPI
- Gestión de proyectos (bug tracker, peticiones de características y el código fuente) en bitbucket.
- Preguntas y comentarios sobre el grupo de google.
Avalancha Diseño
Advertencia
Avalancha está en etapas tempranas del desarrollo (alfa). El API podría cambiar en el futuro y no hay garantía de que se mantendrá la compatibilidad.
más allá de MVC (modelo-vista-controlador)
MVC es un patrón de arquitectura de software creado con el objetivo de aislar "la lógica de dominio" de la interfaz de usuario. Esta separación de preocupación permite la creación de un mejor código de la aplicación. Este patrón fue muy exitoso para muchos marcos de escritorio y así sirve como una referencia a la creación de los web-marcos. El problema es que esta arquitectura no se puede asignar directamente a la forma en que las aplicaciones web de trabajo.
Incluso los llamados marcos MVC no son realmente MVC. Así que vamos a mantener el objetivo de la MVC. Eso es escribir código limpio, reutilizable y comprobable.
aplicaciones web
Esencialmente todo, una aplicación web hacer es para recibir una petición HTTP, proceso y generar una respuesta HTTP.
& Nbsp; + ------------------ +
Solicitud HTTP ------> | aplicaciones web + -----> respuesta HTTP
& Nbsp; + ------------------ +
Envío y recepción de HTTP es manejado por un servidor web. Echemos un vistazo más de cerca a lo que hace la aplicación web:
& Nbsp; + ------ + + ------- +
Petición HTTP ----> | enrutador | -----> | manejador | ----> respuesta HTTP
& Nbsp; + ------ + + ------- +
El router compruebe la URL de la solicitud y la enviará a un controlador de solicitudes que creará la respuesta. Avalancha utiliza el router webapp2.
Los gestores estilos
Hay principalmente 3 estilos de gestores dependientes.
- Una sola función
- Un método de clase
- Una clase
Avalancha (y webapp2) utiliza el tercer estilo, una clase. El uso de una clase como controlador de solicitudes se adapte mejor a nuestros objetivos, ya que proporciona una mayor flexibilidad, más fácil modificar / ampliar y reutilizar partes del manejador.
procesamiento controlador de solicitudes
El procesamiento de controlador de solicitudes se puede dividir en 3 etapas:
& Nbsp; + ----------------- + + + + ----------------- --------- - +
solicitar ----> | Conversor param | ---- param objetos ----> | constructor contexto | --- contexto -----> | renderizador | ----> respuesta
& Nbsp; + ----------------- + + + + ----------------- --------- - +
Convertidor 1. param - obtener parámetros de petición HTTP
& Nbsp; HTTP es un protocolo de texto, la aplicación se suelen obtener algunos parámetros de la petición y convertir los valores de cadena en algunos tipos de datos nativos. Estos parámetros se toman de la ruta URI, consulta URI, después de los datos, galletas, etc.
2. Contexto constructor - procesamiento
& Nbsp; El contexto es un término que se utiliza para representar los datos que serán utilizados por un procesador.
& Nbsp; Este procesamiento es la lógica de la aplicación. A menudo acceder a una capa de persistencia (a veces llamado Modelo), pero esto es totalmente de código de la aplicación y el marco no tiene ningún papel en eso.
& Nbsp; Una página web a menudo se compone de varios elementos así que a veces tiene sentido dividir el trabajo en más de un "constructor de contexto".
3. render - generar una salida
& Nbsp; El renderizador convertirá el resultado de la transformación en texto para la respuesta HTTP. Esta etapa puede omitirse si la respuesta es una redirección HTTP. El procesador normalmente utilizará un sistema de plantillas para generar código HTML o convertir los datos en JSON.
El alud se debe escribir código para las 3 etapas del controlador por separado y dejar que el marco pegar las diferentes piezas.
. Continúe en el tutorial para ver cómo se ve como

Requisitos :

  • Python

Otro software de desarrollador Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

Comentarios a la avalanche

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!