avalanche

Софтуер снимки:
avalanche
Софтуер детайли:
Версия: 0.3.0
Дата на качване: 14 Apr 15
Розробник: Eduardo Naufel Schettino
Разрешително: Безплатно
Популярност: 12

Rating: nan/5 (Total Votes: 0)

лавина е уеб рамка Python построен на върха на webapp2 & Nbsp;. Той използва Jinja2 като система шаблон по подразбиране и не включва всяко постоянство слой.
<Силен> цели Avalanche (или защо друг уеб рамка?)
Avalanche дизайн акцент върху тяхната проверяемост и повторна употреба.
Разбира Avalanche не прави чудеса. Тяхната проверяемост и възможност за повторно използване в крайна сметка ще зависи от кода на приложението. Но рамките имат голяма роля за създаването на правилния път.
Целите са представени по-долу, да се надяваме, след четене на дизайна и урок за това ще бъде ясно как са постигнати тези цели.
Тяхната проверяемост
Avalanche е проектирана по начин, който го прави възможно (по-лесно за вас) да пишат добри единици тестове за вашия код. Това е не само прави лесно да пишат тестове. Единица-тестът следва:
- Даде ясен съобщение за грешка, когато се провали
- Да се ​​отхвърли само когато функцията по време на изпитването е счупен, а не на всяка смяна на код
- Да се ​​бърза
Многократното използване
Предимно всяка рамка твърди, че за повторна употреба е една от целите си дизайн. Тук "повторна употреба" означава източник-код повторна употреба.
Много рамки предоставят някои механизми за многократна употреба / plugable под-приложения обаче, че не винаги е лесно да се използва повторно тези приложения изходния код в случай, че се наложи да конфигурирате / я променяте. Plugable приложения също е много важна характеристика, но от този момент нататък Avalanche има липса на подкрепа за това.
Тя не трябва да бъде възможно само да пиша за многократна употреба код, кодът трябва да се използва повторно за първи път, когато го напиша. Вие не трябва да бъде посъветван да се напише код по един начин, и от по-късно трябва да го променят, за да го използва повторно. Т.е. той се противопоставя на казвайки: "Използвайте изглед (манипулатор) функции". И от ... ", ако искате вашите възгледи да бъдат използвани повторно да ги конвертирате в възгледи клас-базирани!".
<Силен> За проекта
- Уебсайт / Документи
- Това е проект с отворен код (лиценз MIT), написани на Python.
- Изтегли от PyPi
- Управление на проекти (Свържете се с нас, заявки за функции и изходния код) на bitbucket.
- Въпроси и обратна информация за Google група.
<Силен> Avalanche Design
Предупреждение
Avalanche е на ранен етап от своето развитие (алфа). The API може да се промени в бъдеще и няма гаранция, че ще се запази съвместимостта.
отвъд MVC (модел-View-Controller)
MVC е софтуерен архитектурен модел създаден с цел да се изолира "домейн логика" от потребителския интерфейс. Това разделяне на безпокойство дава възможност за създаване на по-добра кода на приложението. Този модел бе много успешна за много настолни рамки и така служи като отправна точка за създаването на уеб-рамки. Проблемът е, че тази структура не може да бъде съпоставена директно на пътя на уеб-приложения работят.
Дори така наречените MVC рамки не са наистина MVC. Така че нека просто да голмайстор на MVC си. Това е да се напише чиста, повторно използване и може да се тества код.
уеб приложения
По същество всички уеб-приложения направите, е да получите заявка HTTP, тя процес и генериране на HTTP отговор.
& Nbsp; + ------------------ +
HTTP заявка ------> | уеб приложение + -----> HTTP Response
& Nbsp; + ------------------ +
Изпращането и получаването на HTTP работят с уеб-сървър. Нека погледнем по-отблизо в това, което уеб приложението прави:
& Nbsp; + ------ + + ------- +
HTTP заявка ----> | рутер | -----> | манипулатор | ----> HTTP отговор
& Nbsp; + ------ + + ------- +
Рутерът ще провери адреса на искането и го насочва към заявките, че ще създаде отговора. Avalanche използва webapp2 рутера.
по заявките стилове
Има основно три стилове на заявките.
- Единична функция
- Метод на клас
- Клас
Avalanche (и webapp2) използва третият стил, класа. С помощта на класа като заявките подхожда по-добре на нашите цели, тъй като предоставя по-голяма гъвкавост, по-лесно да се модифицира / разшири и повторна употреба части на водача.
Заявка за обработване манипулатор
Обработката на заявките могат да бъдат разделени в три етапа:
& Nbsp; + ----------------- + + + + ----------------- --------- - +
поиска ----> | Парам Конвертор | ---- Парам обекти ----> | контекст строител | --- контекст -----> | рендер | ----> отговор
& Nbsp; + ----------------- + + + + ----------------- --------- - +
1. Парам Конвертор - получи параметри от HTTP заявка
& Nbsp; HTTP е текстов протокол, прилагането обикновено ще получите някои параметри от искането и конвертирате низови стойности в някои местни типове данни. Тези параметри са взети от пътя URI, URI заявка, след данните, бисквитки и т.н.
2. контекст строител - преработване
& Nbsp; Context е термин, използван за представяне на данните, които ще бъдат използвани от рендер.
& Nbsp; Тази обработка е логиката на приложението. Той често ще получите достъп до постоянство слой (понякога се нарича Model), но това зависи изцяло от кода на приложението и рамката не играе никаква роля в това.
& Nbsp; уеб страница често се състои от няколко елемента, така че понякога има смисъл да се разделят работата на повече от една "контекст строител".
3. рендер - генерира изход
& Nbsp; модула за рендиране ще конвертирате в резултат на обработката на текст за отговора HTTP. Този етап може да бъде пропусната, ако отговорът е HTTP пренасочване. Модула за рендиране обикновено използват система на шаблон за генериране на HTML код или да конвертирате данните за JSON.
На лавина трябва да пишат код за 3-те фази на водача отделно и нека рамките лепило отделните части заедно.
. Преминем към урока, за да видите как изглежда

<силни> Изисквания :

  • Python

Друг софтуер на разработчика Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

hoe.js
hoe.js

13 Apr 15

Коментари към avalanche

Коментари не е намерена
добавите коментар
Включете на изображения!