avalanche

Logiciel capture d'écran:
avalanche
Détails logiciels:
Version: 0.3.0
Date de transfert: 14 Apr 15
Licence: Gratuit
Popularité: 1

Rating: nan/5 (Total Votes: 0)

avalanche est un framework web Python construit au sommet d'webapp2 & nbsp;. Il utilise Jinja2 comme un système de template par défaut et ne comprend pas de couche de persistance.
objectifs d'avalanche (ou pourquoi une autre framework web?)
Avalanche conception centrée sur la testabilité et la réutilisabilité.
Bien sûr, Avalanche ne pas faire de miracles. Testabilité et la réutilisabilité sera finalement dépend du code de l'application. Mais le cadre ont un grand rôle sur la mise en place dans le droit chemin.
Les objectifs sont présentées ci-dessous, je l'espère, après avoir lu la conception et le tutoriel, il sera clair pour vous la façon dont ces objectifs sont atteints.
Testabilité
Avalanche a été conçu d'une manière qui il permet (plus facile pour vous) pour écrire de bons tests unitaires pour votre code. Ce ne est pas seulement le rendant facile à écrire des tests. Une unité-test doit:
- Donner un message d'erreur clair quand il échoue
- Ne pas uniquement lorsque la fonction en cours de test est cassé, pas à chaque changement de code
- Être rapide
Réutilisation
Partiellement chaque cadre prétend que la réutilisation est un de leurs objectifs de conception. "Réutilisation" signifie ici code source réutilisation.
Beaucoup de cadres fournissent des mécanismes de sous-applications réutilisables / enfichable mais il ne est pas toujours facile à réutiliser ces codes source des applications au cas où vous avez besoin pour configurer / modifier. Applications enfichables est également une caractéristique très importante mais dès maintenant Avalanche a pas de soutien pour cela.
Il ne doit pas seulement être possible d'écrire du code réutilisable, le code devrait être réutilisable sur la première fois que vous l'écrivez. Vous ne devriez pas être conseillé d'écrire le code dans un sens, et que plus tard avoir à modifier pour le rendre réutilisable. Ce est- elle se oppose à dire "Utiliser vue (gestionnaire) fonctions". Et que ... "si vous voulez que vos opinions soient réutilisables les convertir en points de vue basés sur les classes!".
Détails du projet
- Site web / docs
- Ce est un projet open-source (licence MIT) écrite en python.
- Télécharger de Pypi
- Gestion de projet (bugs, demandes de fonctionnalités et code source) sur bitbucket.
- Questions et commentaires sur le groupe Google.
Avalanche Conception
Avertissement
Avalanche est sur les premiers stades de développement (alpha). L'API peut changer à l'avenir et il ne ya aucune garantie qu'il tiendra compatibilité.
au-delà de MVC (Modèle-Vue-Contrôleur)
MVC est un modèle d'architecture de logiciel créé dans le but d'isoler "logique de domaine" de l'interface utilisateur. Cette séparation de préoccupation permet la création d'un meilleur code de l'application. Ce modèle a été très fructueuse pour de nombreux cadres de bureau et ainsi servi de référence à la création de web-cadres. Le problème est que cette architecture ne peut pas être mappé directement à la façon dont les applications web travail.
Même les cadres dits MVC ne sont pas vraiment MVC. Donc, nous allons juste garder l'objectif de la MVC. Ce est-à écrire du code propre, réutilisables et testable.
des applications Web
Essentiellement tout une application web faire est de recevoir une demande HTTP, processus et générer une réponse HTTP.
& Nbsp; + ------------------ +
Demande HTTP ------> | application web + -----> réponse HTTP
& Nbsp; + ------------------ +
Envoi et réception de HTTP est géré par un serveur web. Prenons regarder de plus près dans ce que l'application Web fait:
& Nbsp; + ------ + ------- + +
requête HTTP ----> | routeur | -----> | gestionnaire | ----> réponse HTTP
& Nbsp; + ------ + ------- + +
Le routeur va vérifier l'URL de la demande et de l'expédier à un gestionnaire de requête qui permettra de créer la réponse. Avalanche utilise le routeur de webapp2.
gestionnaires de requêtes styles
Il ya principalement trois styles de gestionnaires de requêtes.
- Une seule fonction
- Une méthode de classe
- Une classe
Avalanche (et webapp2) utilise le troisième style, une classe. Utilisation d'une classe comme demande gestionnaire convient mieux nos objectifs parce qu'il offre une plus grande flexibilité, plus facile à modifier / étendre et réutiliser des parties du gestionnaire.
traitement des demandes de gestionnaire
Le traitement de traitement des requêtes peut être divisée en trois étapes:
& Nbsp; + ----------------- + ----------------- + --------- + + - +
demander ----> | Le converter des param | ---- ---- objets param> | contexte constructeur | --- contexte -----> | rendu | ----> réponse
& Nbsp; + ----------------- + ----------------- + --------- + + - +
1. Convertisseur de param - obtenir paramètres de demande HTTP
& Nbsp; HTTP est un protocole de texte, l'application sera généralement obtenir certains paramètres de la demande et de convertir les valeurs de chaîne dans certains types de données natifs. Ces paramètres sont pris à partir du chemin de l'URI, URI requête, post-données, les cookies, etc.
2. Contexte constructeur - traitement
& Nbsp; Le contexte est un terme utilisé pour représenter les données qui sera utilisé par un moteur de rendu.
& Nbsp; Ce traitement est la logique de l'application. Il sera souvent accéder à une couche de persistance (parfois appelé modèle) mais ce est entièrement au code d'application et le cadre n'a pas de rôle à ce sujet.
& Nbsp; Une page Web est souvent composé de plusieurs éléments si parfois il est logique de diviser le travail en plus d'un «bâtisseur de contexte».
3. rendu - générer une sortie
& Nbsp; Le rendu permet de convertir le résultat du traitement en texte pour la réponse HTTP. Cette étape peut être ignorée si la réponse est une redirection HTTP. Le rendu sera typiquement utiliser un système de template pour générer du code HTML ou convertir les données en JSON.
Sur avalanche vous devez écrire du code pour les 3 étapes du gestionnaire séparément et laisser le cadre coller les différentes parties ensemble.
. Passer au tutoriel pour voir à quoi ça ressemble

Exigences :

  • Python

D'autres logiciels de développeur Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

Commentaires à avalanche

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!