avalanche

Skjermbilde programvare:
avalanche
Prog.varedetaljer:
Versjon: 0.3.0
Last opp dato: 14 Apr 15
Lisens: Gratis
Popularitet: 12

Rating: nan/5 (Total Votes: 0)

snøskred er en Python web rammeverk bygget på toppen av webapp2. & Nbsp; Den bruker Jinja2 som standardmal system og ikke inkluderer noen utholdenhet laget.
Avalanche mål (eller hvorfor en annen web rammeverk?)
Avalanche designfokuset på testbarhet og gjenbruk.
Selvfølgelig Avalanche ikke gjøre mirakler. Testbarhet og gjenbruk vil til syvende og sist avhenger av programkode. Men rammen har en stor rolle på å sette opp den rette veien.
Målene er presentert nedenfor, forhåpentligvis etter å ha lest design og opplæringen vil det være klart for deg hvordan disse målene nås.
Testbarhet
Avalanche er designet på en måte som det gjør det mulig (lettere for deg) å skrive gode andels tester for koden din. Det er ikke bare å gjøre det lett å skrive tester. En enhet-test bør:
- Gi en klar feilmelding når det svikter
- Mislykkes bare når funksjonen under test er ødelagt, ikke på hver kodeendring
- Være rask
Gjenbruk
Stort sett hver rammeverk hevder at gjenbruk er en av deres design mål. Her "gjenbruk" betyr kildekode gjenbruk.
Mange rammer gi noen mekanismer for gjenbruk / pluggbar under programmer men det er ikke alltid lett å gjenbruke disse programmene kildekoden i tilfelle du trenger å konfigurere / endre den. Pluggbar applikasjoner er også en svært viktig funksjon, men som nå Avalanche har ingen støtte for det.
Det bør ikke bare være mulig å skrive gjenbrukbar kode, koden skal være gjenbruk på første gang du skriver det. Du bør ikke bli bedt om å skrive inn koden på en måte, og enn senere måtte endre den for å gjøre det gjenbrukbare. Dvs. det er i motsetning til å si "Bruk view (handler) funksjoner". Og enn ... "hvis du vil ha dine synspunkter for å bli re-brukbare konvertere dem til klassebaserte utsikt!".
Prosjekt Detaljer
- Nettstedet / docs
- Dette er en åpen kildekode-prosjekt (MIT lisens) skrevet i python.
- Last ned fra PyPI
- Prosjektledelse (bug tracker, anmodninger om funksjoner og kildekode) på bitbucket.
- Spørsmål og tilbakemeldinger på google gruppe.
Avalanche Design
Advarsel
Avalanche er på tidlige stadier av utvikling (alfa). API kan endre seg i fremtiden, og det er ingen garanti det vil holde kompatibilitet.
utover MVC (Model-view-controller)
MVC er en programvare arkitektonisk mønster opprettet med det mål å isolere "domene logikk" fra brukergrensesnittet. Denne separasjon av bekymring muliggjør etablering av bedre applikasjonskode. Dette mønsteret var veldig vellykket for mange stasjonære rammer og så fungerte som en referanse til etableringen av web-rammeverk. Problemet er at denne arkitekturen ikke kan tilordnes direkte til måten web-applikasjoner arbeid.
Selv de såkalte MVC rammeverk er egentlig ikke MVC. Så la oss bare holde MVC mål. Det er å skrive ren, gjenbrukbare og testbar kode.
webapplikasjoner
Hovedsak alle en web-applikasjon gjøre er å motta en HTTP-forespørsel, prosess det og generere en HTTP respons.
& Nbsp; + ------------------ +
HTTP Request ------> | webapplikasjon + -----> HTTP Response
& Nbsp; + ------------------ +
Sender og mottar HTTP håndteres av en web-server. La oss ta en nærmere titt inn i hva web-applikasjon gjør:
& Nbsp; + ------ + + ------- +
HTTP-forespørsel ----> | router | -----> | behandleren | ----> HTTP-svar
& Nbsp; + ------ + + ------- +
Ruteren vil sjekke nettadressen til forespørselen og sende det til en forespørsel handler som vil skape responsen. Avalanche bruker webapp2 ruteren.
forespørsel handlers stiler
Det er i hovedsak tre stiler av forespørsel handlers.
- En enkelt funksjon
- En klassemetode
- En klasse
Avalanche (og webapp2) bruker den tredje stil, en klasse. Ved hjelp av en klasse som forespørselshåndtereren passer bedre våre mål fordi det gir en større fleksibilitet, lettere å modifisere / utvide og gjenbruke deler av behandleren.
forespørselshåndtereren behandling
Forespørselshåndtereren behandling kan bli delt i tre stadier:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
be ----> | param Kalkulator | ---- param gjenstander ----> | sammenheng byggmester | --- sammenheng -----> | renderer | ----> svar
& Nbsp; + ----------------- + + ----------------- + + --------- - +
1. param converter - få parametere fra HTTP-forespørsel
& Nbsp; HTTP er en tekst-protokollen, vil programmet vanligvis få noen parametere fra forespørselen og konvertere strengverdier i noen innfødte datatyper. Disse parametrene er hentet fra URI banen, URI spørring, post-data, cookies, etc.
2. sammenheng byggmester - bearbeiding
& Nbsp; Kontekst er et begrep som brukes for å representere data som vil bli brukt av en renderer.
& Nbsp; Denne behandlingen er programmet logikk. Det vil ofte få tilgang til en utholdenhet laget (noen ganger kalt Model), men dette er helt opp til applikasjonskoden og rammen har ingen rolle om det.
& Nbsp; En nettside er ofte sammensatt av flere elementer så noen ganger er det fornuftig å dele arbeidet opp i mer enn ett "kontekst builder".
3. renderer - generere utdata
& Nbsp; Den renderer vil konvertere resultatet av behandlingen i teksten for HTTP-svaret. Dette stadiet kan hoppes dersom responsen er en HTTP redirect. Den renderer vil vanligvis bruke en mal system for å generere HTML-kode eller konvertere dataene til JSON.
På skred bør du skrive kode for de tre stadier av behandleren separat og la rammen lim de ulike delene sammen.
. Gå videre til opplæringen for å se hvordan det ser ut som

Krav :

  • Python

Annen programvare fra utvikleren Eduardo Naufel Schettino

Doit
Doit

1 Mar 15

hoe.js
hoe.js

13 Apr 15

pytest-incremental
pytest-incremental

12 May 15

Kommentarer til avalanche

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!