avalanche

Screenshot Software:
avalanche
Detalii soft:
Versiune: 0.3.0
Incarca data: 14 Apr 15
Licenţă: Gratuit
Popularitate: 1

Rating: nan/5 (Total Votes: 0)

avalanșă este un cadru web Python construit pe partea de sus a webapp2 & nbsp;. Se folosește Jinja2 ca un sistem de șablon implicit și nu include nici un strat de persistență.
goluri Avalanche (sau de ce un alt cadru web?)
Accent de design Avalanche pe testabilitatea și reutilizare.
Desigur Avalanche nu face minuni. Testability și reutilizare va depinde în ultimă instanță de codul aplicatiei. Dar cadrul avea un rol important în înființarea calea cea dreaptă.
Obiectivele sunt prezentate mai jos, sperăm după ce a citit proiectarea și tutorial va fi clar pentru tine cum sunt atinse aceste obiective.
Testability
Avalanche a fost proiectat într-un mod care face posibila (mai ușor pentru tine), pentru a scrie bune titluri de teste pentru codul. Asta nu este numai a face mai ușor de a scrie teste. A-test de unitate ar trebui:
- Da un mesaj de eroare clar atunci când acesta nu
- Nu numai în cazul în care funcția de testat este rupt, nu pe fiecare schimbare a codului
- Să fie rapid
Reutilizarea
Cea mai mare parte fiecare cadru susține că posibilitatea de reutilizare este unul dintre obiectivele lor de proiectare. Aici "reutilizare" înseamnă codul sursă de reutilizare.
Multe cadre ofere unele mecanisme de sub-aplicații reutilizabile / plugable toate acestea, nu este întotdeauna ușor să re-utiliza aceste cod aplicații sursă în cazul în care aveți nevoie pentru a configura / modifica. Aplicații Plugable este, de asemenea, o caracteristică foarte importantă, dar ca de acum Avalanche are nici un suport pentru asta.
Nu ar trebui să fie doar posibilitatea de a scrie cod reutilizabil, codul ar trebui să fie reutilizabile pe prima dată când îl scrie. Tu nu ar trebui să fie sfătuiți să scrie codul într-un fel, și decât mai târziu trebuie să îl modifice pentru a face reutilizabile. Adică se opune spune "Utilizarea vizualizare (handler) funcții". Și decât ... "dacă doriți opiniile dvs. pentru a fi re-utilizabile a le converti la vedere pe bază de clasă!".
Detalii proiect
- Site-ul / docs
- Acesta este un proiect open-source (licenta MIT) scris în Python.
- Descarca de la PyPi
- Managementul proiectului (tracker bug, cereri de caracteristici și codul sursă) pe BitBucket.
- Întrebări și feedback-ul pe grup Google.
avalanșă de proiectare
Avertizare
Avalanche este pe stadii incipiente de dezvoltare (alfa). API-ar putea schimba în viitor și nu există nici o garanție că va păstra compatibilitate.
dincolo de MVC (Model-View-Controller)
MVC este un model arhitectural software creat cu scopul de a izola "logica domeniu" din interfața cu utilizatorul. Această separare de îngrijorare permite crearea de cod aplicare mai bine. Acest model a fost foarte de succes in mai multe cadre desktop și astfel a servit ca o trimitere la crearea de web-cadre. Problema este că această arhitectură nu poate fi mapat direct la fel web aplicatii munca.
Chiar și așa-numitele cadrele MVC nu sunt cu adevărat MVC. Așa că hai să păstreze poartă MVC lui. Asta este de a scrie cod curat, reutilizabile și verificabile.
aplicații web
În esență, toate un web-aplicație face este de a primi o cerere HTTP, va prelucra și a genera un răspuns HTTP.
& Nbsp; + ------------------ +
HTTP Cerere ------> | aplicație web + -----> Răspuns HTTP
& Nbsp; + ------------------ +
Trimiterea și primirea HTTP este manipulat de un web-server. Să aruncăm o privire mai atentă în ceea ce face aplicația web:
& Nbsp; + ------ + + ------- +
Cerere HTTP ----> | router | -----> | handler | ----> răspuns HTTP
& Nbsp; + ------ + + ------- +
Router-ul va verifica URL-ul cererii și expedierea-l la un handler cerere care va crea răspunsul. Avalanche folosește router webapp2.
Stiluri de gestionare a cererii
Există în principal trei stiluri de gestionare a cererii.
- O singură funcție
- O metodă de clasă
- O clasa
Avalanche (și webapp2) utilizează treilea stil, o clasă. Folosind o clasă, handler cerere se potriveste mai bine scopurilor noastre, deoarece acesta oferă o flexibilitate mai mare, mai ușor de a modifica / extinde și re-utilizare părți din handler.
prelucrare handler cerere
Procesarea cerere handler poate fi împărțită în 3 etape:
& Nbsp; + ----------------- + + + + ----------------- --------- - +
solicita ----> | Convertor param | ---- param obiecte ----> | constructor context | --- context -----> | redare | ----> răspuns
& Nbsp; + ----------------- + + + + ----------------- --------- - +
Convertor 1. param - obține parametrii de la solicitare HTTP
& Nbsp; HTTP este un protocol de text, aplicația va primi în mod tipic unor parametri de cererea și transforma valorile șir în anumite tipuri de date native. Acești parametri sunt luate de la calea URI, interogare URI, post-date, cookie-uri, etc.
2. Contextul constructor - prelucrare
& Nbsp; Contextul este un termen folosit pentru a reprezenta datele care vor fi utilizate de către o redare.
& Nbsp; Acest prelucrare este logica aplicație. Se vor accesa de multe ori un strat de persistență (uneori denumit model), dar acest lucru este în întregime până la codul de aplicații și a cadrului nu are niciun rol în asta.
& Nbsp; O pagină web este adesea compus din mai multe elemente astfel încât, uneori are sens să împartă activitatea în mai multe "constructor context".
3. redare - generează ieșire
& Nbsp; redare va converti rezultatul prelucrării în text pentru răspunsul HTTP. Această etapă poate fi omisă în cazul în care răspunsul este o redirecționare HTTP. Redare va folosi de obicei un sistem șablon pentru a genera cod HTML sau converti datele de JSON.
Pe avalanșă ar trebui să scrie cod pentru cele 3 etape ale handler separat și lăsați cadrul lipici diferitele părți împreună.
. Mutare pe tutorial pentru a vedea cum se pare ca

Cerințe :

  • Python

Alte software-uri de dezvoltator Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

pytest-incremental
pytest-incremental

12 May 15

Comentarii la avalanche

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!