avalanche

Screenshot Software:
avalanche
Szczegóły programowe:
Wersja: 0.3.0
Filmu: 14 Apr 15
Licencja: Wolny
Popularność: 1

Rating: nan/5 (Total Votes: 0)

lawiny jest ramy web Python zbudowany na webapp2 & nbsp;. Wykorzystuje Jinja2 jako domyślnego systemu szablonów i nie zawiera żadnej warstwy trwałości.
cele Avalanche (lub dlaczego kolejny ramy internetowej?)
Lawina ostrości wzór na sprawdzalności i ponownego użycia.
Oczywiście Avalanche nie czynić cuda. Testowalność i ponownego wykorzystania będzie ostatecznie zależy od kodu aplikacji. Ale ramy mają dużą rolę w tworzeniu właściwą drogę.
Cele przedstawione poniżej, mam nadzieję, że po przeczytaniu projektu i Samouczek będzie to dla was jasne, jak te cele zostały osiągnięte.
Testowalność
Avalanche został zaprojektowany w taki sposób, że sprawia, że ​​jest to możliwe (łatwiejsze) napisać dobre jednostek testy kodu. To jest nie tylko co ułatwia pisanie testów. Jednostka test powinien:
- Przekazać jasny komunikat o błędzie, gdy nie jest on
- Nie tylko wtedy, gdy funkcja Badane uszkodzony, nie na każdej zmianie kodu
- Być szybki
Ponowne
Przeważnie każdy twierdzi, że możliwość ponownego użycia ramy jest jednym z ich celów projektowych. Tutaj "ponownego użycia" oznacza możliwości ponownego użycia kodu źródłowego.
Wiele ramy zapewniają pewne mechanizmy podrzędnych aplikacji wielokrotnego użytku / wtykane jednak to nie zawsze jest łatwe do ponownego wykorzystania tych kodu źródłowego w przypadku aplikacji należy skonfigurować / modyfikować. Aplikacje wtykane jest również bardzo ważna cecha, ale już teraz Avalanche ma wsparcia dla tego.
To nie powinno być możliwe tylko napisać kod wielokrotnego użytku, kod powinien być wielokrotnego użytku na pierwszy raz piszesz go. Nie należy zalecić, aby napisać kod w jeden sposób, a nie później trzeba go zmodyfikować, aby go do wielokrotnego użytku. To znaczy sprzeciwia się mówiąc: "view (uchwytu) korzystają". A, niż ... ", jeśli chcesz, aby Twoje poglądy mogą być używane powtórnie konwertować je do poglądów opartych na klasach!".
Szczegóły projektu
- Strona internetowa / docs
- Jest to projekt open-source (MIT licencji) napisany w Pythonie.
- Pobierz z PyPI
- Zarządzanie projektami (bug tracker, wnioski fabularnych i kod źródłowy) na bitbucket.
- Pytania i opinie na temat grupy google.
Avalanche projekt
Ostrzeżenie
Avalanche jest na wczesnym etapie rozwoju (alfa). API może się zmienić w przyszłości i nie ma gwarancji, że będzie zachować kompatybilność.
poza MVC (Model-View-Controller)
MVC jest oprogramowanie architektoniczny wzór tworzony z celem odizolowania "logikę domeny" z interfejsu użytkownika. To oddzielenie obawy umożliwia tworzenie lepszego kodu aplikacji. Ten wzór był bardzo udany dla wielu ram stacjonarnych i tak służył jako odniesienie do tworzenia stron ram. Problemem jest to, że ta architektura nie może być przypisane bezpośrednio do aplikacji web-sposób pracy.
Nawet tak zwane ramy MVC naprawdę nie są MVC. Więc po prostu zachować cel MVC jest. To jest napisać czyste, ponownego użycia i dającej się przetestować kod.
aplikacje internetowe
Zasadniczo wszystkie web-aplikacji zrobić, to otrzyma żądanie HTTP, proces go i wygenerować odpowiedzi HTTP.
& Nbsp; + ------------------ +
HTTP Zapytanie ------> | aplikacja internetowa + -----> odpowiedzi HTTP
& Nbsp; + ------------------ +
Wysyłanie i odbieranie HTTP obsługiwane przez serwerem www. Przyjrzyjmy się bliżej do tego, co robi aplikacja internetowa:
& Nbsp; + ------ + ------- +
Żądanie HTTP ----> | Router | -----> | Ładowarka | ----> odpowiedzi HTTP
& Nbsp; + ------ + ------- +
Router sprawdzić adres URL żądania i wysyła go do obsługi żądania, że ​​będą powodować reakcję. Lawina wykorzystuje router webapp2.
żądania Ładowarki style
Są to głównie trzy style zajmujące się wnioskami.
- Jednofunkcyjny
- Metoda klasy
- Klasa
Avalanche (i webapp2) wykorzystuje trzeci styl, klasę. Korzystanie z klasy jako wniosek obsługi pasuje lepiej nasze cele, ponieważ zapewnia większą elastyczność, łatwiej jest zmodyfikować / rozszerzenie i ponownie wykorzystywać części przewodnika.
Wniosek przetwarzania obsługi
Przetwarzania żądania obsługi można podzielić na 3 etapy:
& Nbsp; + ----------------- + ----------------- + --------- - +
zażądać ----> | Walutowy param | ---- param obiekty ----> | budowniczy kontekstu | --- Kontekst -----> | renderujący | ----> odpowiedzi
& Nbsp; + ----------------- + ----------------- + --------- - +
Konwerter 1. param - uzyskać parametry z żądania HTTP
& Nbsp; HTTP jest protokołem tekst, aplikacja będzie zazwyczaj uzyskać pewne parametry z żądania i przekonwertować wartości ciągu w niektórych rodzimych typów danych. Parametry te są podejmowane w adresie URI, URI zapytania, po danych, ciasteczka, itp
2. Kontekst budowniczy - przetwarzanie
& Nbsp; Kontekst jest terminem używanym do reprezentacji danych, która będzie używana przez renderer.
& Nbsp; przetwarzanie to logika aplikacji. Bardzo często dostęp do warstwy trwałości (czasami zwany model), ale jest to całkowicie do kodu aplikacji i ramy nie ma rolę na tym.
& Nbsp; strona internetowa jest często składa się z kilku elementów, więc czasami warto podzielić pracę na więcej niż jeden "budowniczy kontekstowego".
3. renderujący - generuje moc
& Nbsp; renderujący przekonwertuje wyniki przetwarzania do tekstu odpowiedzi HTTP. Ten etap może być pominięty, jeśli odpowiedź jest przekierowanie HTTP. Renderujący zazwyczaj użyć systemu szablonów do generowania kodu HTML lub konwersji danych do formatu JSON.
Na lawiny trzeba napisać kod dla trzech etapach obsługi oddzielnie i niech ramy przykleić różne części razem.
. Przejść do samouczka, aby zobaczyć, jak to wygląda

Wymagania :

  • Python

Inne programy z deweloperem Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

pytest-incremental
pytest-incremental

12 May 15

Komentarze do avalanche

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!