avalanche

Software kuvakaappaus:
avalanche
Ohjelmiston tiedot:
Versio: 0.3.0
Lähetyksen päivämäärä: 14 Apr 15
Lupa: Vapaa
Suosio: 1

Rating: nan/5 (Total Votes: 0)

Avalanche on Python web puitteet rakennettu päälle webapp2. & Nbsp; Se käyttää Jinja2 kuin oletuspohjaa järjestelmä eikä sisältää mitään pysyvyys kerros.
Avalanche tavoitteita (tai miksi toisessa WWW puitteet?)
Avalanche suunnittelu keskittyä testability ja uudelleenkäytettävyys.
Tietenkään Avalanche ei tee ihmeitä. Testattavuutta ja uudelleenkäytettävyys tulee viime kädessä riippuu sovelluksesta koodin. Mutta puitteet on iso rooli perustamisesta oikealla tiellä.
Tavoitteet on esitetty alla, toivottavasti kun luet suunnittelu ja opetusohjelma se on selvää, miten nämä tavoitteet saavutetaan.
Testattavuutta
Avalanche oli suunniteltu siten, että se tekee mahdolliseksi (helpompaa) kirjoittaa hyvä laite-testit koodia. Se ei ole vain tehdä se helppo kirjoittaa testejä. Yksikkö-testi olisi:
- Antaa selkeän virheilmoituksen kun se ei
- Epäonnistuvat vain kun ominaisuus testattavan on rikki, ei joka koodin muutos
- Olla nopea
Uudelleenkäytettävyys
Enimmäkseen jokainen kehys väittää uudelleenkäytettävyys on yksi heidän suunnittelun tavoitteita. Here "uudelleenkäytettävyydellä" lähdekoodin uudelleenkäytettävyys.
Monet kehykset tarjoavat joitakin mekanismeja uudelleenkäytettäviä / plugable alisovelluksia mutta se ei ole aina helppo käyttää uudelleen näitä sovelluksia lähdekoodin tapauksessa sinun täytyy määrittää / muuttaa sitä. Plugable sovelluksia on myös erittäin tärkeä ominaisuus, mutta jo nyt Avalanche ei ole tukea, että.
Se ei vain ole mahdollista kirjoittaa uudelleenkäytettäviä koodia, koodin pitäisi olla käytettävissä uudelleen ensimmäisen kerran kirjoittaa sitä. Sinun ei pitäisi suositeltavaa kirjoittaa koodia yhdellä tavalla, ja kuin myöhemmin on muuttaa sitä, jotta se uudelleen. Toisin sanoen se vastustaa sanomalla "Käytä näkymä (handler) toiminnot". Ja kuin ... ", jos haluat näkemyksiä voidaan käyttää uudelleen muuntaa ne luokkapohjaiset näkymät!".
Projektin tiedot
- Verkkosivusto / docs
- Tämä on avoimen lähdekoodin projekti (MIT lisenssi) kirjoitettu Pythonilla.
- Lataa osoitteesta PyPi
- Projektinhallinta (bug tracker, pyyntöjä ja lähdekoodi) on bitbucket.
- Kysymykset ja palaute google ryhmään.
Avalanche malli
Varoitus
Avalanche on varhaisessa kehitysvaiheessa (alfa). API saattaa muuttua tulevaisuudessa, ja mikään ei takaa sitä pitää yhteensopivuus.
pidemmälle MVC (Model-View-ohjain)
MVC on ohjelmisto arkkitehtoninen kuvio luotu tavoitteena eristää "domain logiikka" käyttöliittymästä. Tämä erottelu huolta mahdollistaa luomisen parempi soveltaminen koodin. Tämä malli oli erittäin onnistunut monia työpöydälle puitteita ja siten toiminut viittaus luomiseen web-puitteet. Ongelmana on, että tämä arkkitehtuuri ei voida sijoittaa suoraan siihen, miten www-sovellusten työtä.
Jopa ns MVC kehykset eivät oikeastaan ​​MVC. Joten pidä vain MVC: n tavoite. Tämä on kirjoittaa puhdas, uudelleen käytettävissä ja testattavissa koodin.
web-sovellukset
Pohjimmiltaan kaikki web-sovellus tehdä, on saada HTTP-pyynnön, prosessi se ja tuottaa HTTP-vastauksen.
& Nbsp; + ------------------ +
HTTP Request ------> | web-sovellusten + -----> HTTP Response
& Nbsp; + ------------------ +
Lähettäminen ja vastaanottaminen HTTP hoitaa web-palvelin. Otetaanpa tarkemmin, mitä web-sovellus tekee:
& Nbsp; + ------ + + ------- +
HTTP-pyyntö ----> | reititin | -----> | käsittelijä | ----> HTTP-vastaus
& Nbsp; + ------ + + ------- +
Reititin tarkistaa URL pyynnön ja lähettää sen pyynnön käsittelijä, joka luo vastauksen. Avalanche käyttää webapp2 reititin.
pyynnön käsittelijät tyylit
On lähinnä 3 tyylejä pyynnön käsittelijät.
- Yksi toiminto
- Luokka menetelmä
- Luokka
Avalanche (ja webapp2) käyttää kolmannen tyyli, luokka. Käyttämällä luokka pyynnön käsittelijä sopii paremmin tavoitteitamme, koska se tarjoaa enemmän joustavuutta, helpompi muokata / laajentaa ja uudelleen käyttö osien käsittelijälle.
pyynnön käsittelijä käsittely
Pyynnön käsittelijä käsittely voidaan jakaa 3 vaihetta:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
pyytää ----> | param muuttaja | ---- param esineet ----> | yhteydessä rakentaja | --- yhteydessä -----> | renderer | ----> vastaus
& Nbsp; + ----------------- + + ----------------- + + --------- - +
1. param muunnin - saat parametrit HTTP-pyynnön
& Nbsp; HTTP on teksti Pöytäkirjat, sovellus tyypillisesti saada joitakin parametreja pyynnöstä ja muuntaa merkkijonon arvot joidenkin oman tietotyyppejä. Nämä parametrit ovat peräisin URI polku, URI kysely, post-data, evästeet, jne.
2. yhteydessä rakentaja - työstäminen
& Nbsp; Konteksti on termi, jota käytetään kuvaamaan tietoja, jotka käyttää renderer.
& Nbsp; Tämä käsittely on sovellus logiikka. Se on usein pääsy pysyvyys kerros (joskus kutsutaan Model), mutta tämä on täysin sovelluksen koodin ja puitteilla ei ole mitään roolia siitä.
& Nbsp; web-sivu on usein koostuvat useista osista, joten joskus on järkevää jakaa työ useampaan kuin yhteen "yhteydessä rakentaja".
3. renderer - tuottaa tuotos
& Nbsp; renderer muuntaa käsittelyn tulos tulee teksti HTTP-vastauksen. Tämä vaihe voidaan ohittaa, jos vastaus on HTTP uudelleenohjaus. Renderer käyttävät yleensä mallijärjestelmää tuottaa HTML-koodia tai muuntaa tiedot JSON.
On lumivyöry sinun pitäisi kirjoittaa koodin 3 vaiheissa ohjaajan erikseen ja anna puitteet liimaa eri osat yhteen.
Siirtyä opetusohjelma miten se näyttää.

Vaatimukset :

  • Python

Muu ohjelmistojen kehittäjä Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

hoe.js
hoe.js

13 Apr 15

Kommentit avalanche

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!