.
çığ ve webapp2 & nbsp üstüne inşa edilmiş bir Python web framework, bir varsayılan şablon sistemi olarak jinja2 kullanan ve herhangi bir kalıcılık katmanı içerir değildir.
Çığ gol (ya da neden başka bir web framework?)
Test edilebilirlik ve yeniden kullanılabilirlik üzerine Çığ tasarım odak.
Tabii Çığ mucizeler yapmaz. Sonuçta uygulama kodu bağlıdır olacak Testedilebilirlik ve yeniden kullanılabilirliği. Ama çerçeve doğru yolu kurma üzerinde büyük bir rolü vardır.
gol umarım tasarım okuduktan sonra, aşağıda sunulan ve bu hedeflere elde nasıl size açık olacak öğretici vardır.
Testedilebilirlik
Çığ o (sizin için daha kolay) mümkün kodunuz için iyi birim testleri yazmak için yapar bir şekilde dizayn edilmiştir. Bu sadece testleri yazmak için kolay yapmıyor. Bir birim testi gerekir:
- Başarısız olduğunda net bir hata mesajı verir
- Test altında özelliği kırık olduğunda değil, her kod değişikliği, sadece başarısız
- Hızlı ol
Tekrar Kullanılabilirlik
Çoğunlukla her çerçeve yeniden kullanılabilirliği tasarım amaçlarından biri olduğunu iddia ediyor. İşte "yeniden kullanılabilirliği" kaynak kodu yeniden kullanılabilirliği anlamına gelir.
Eğer bunu değiştirmek / yapılandırmanız gerekir durumda yeniden kullanmak bu uygulamaların kaynak kodu her zaman kolay değildir ancak birçok çerçeveler plugable / yeniden alt-uygulamalar için bazı mekanizmalar sağlar. Plugable uygulamalar da çok önemli bir özelliktir ama şimdi olduğu gibi Çığ bunun için hiçbir desteği vardır.
Sadece kod yazmak ilk kez yeniden olmalıdır, yeniden kod yazmak mümkün olmamalıdır. Siz bir şekilde kod yazmak için tavsiye ve daha sonra daha da yeniden yapmak için değiştirmek zorunda olmamalıdır. Yani o "görünümü (işleyici) işlevlerini kullanın" diyerek karşı çıkıyor. Ve daha ... "senin görüşleri yeniden kullanılabilir istiyorsanız sınıf temelli görüşleri onları dönüştürmek!".
Proje Detayları
- Web sitesi / belgeler
- Bu Python ile yazılmış bir açık kaynak projesi (MIT lisansı) 'dir.
- PyPi İndirme
- Bitbucket Proje yönetimi (bug tracker, özellik istekleri ve kaynak kodu).
- Google grup Sorular ve geribildirim.
Çığ Tasarım
Uyarı
Çığ geliştirme (alfa) erken aşamalarında olduğunu. API gelecekte değişebilir ve uyumluluk tutacak garantisi yoktur.
MVC (Model-view-controller) ötesinde
MVC kullanıcı arabiriminden "etki alanı mantığı" izole etmek amacı ile oluşturulan bir yazılım mimari desen. Endişe Bu ayırma daha iyi uygulama kodu oluşturulmasını sağlar. Bu model, birçok masaüstü çerçeveler için çok başarılı oldu ve böylece web çerçevelerin oluşturulması için bir referans olarak görev yaptı. Sorun bu mimari yolu web uygulamaları çalışma yöneltilir edilemez olduğunu.
Hatta sözde MVC çerçeveler gerçekten MVC değildir. Yani sadece MVC'ın golü devam edelim. Yani, temiz yeniden kullanılabilir ve sınanabilir kod yazmak için.
web uygulamaları
Esasen yapmak tüm web uygulaması, bir HTTP isteği alma süreci o ve bir HTTP yanıtı üretmektir.
& Nbsp; + ------------------ +
HTTP istek ------> | web uygulaması + -----> HTTP Cevap
& Nbsp; + ------------------ +
Gönderme ve alma HTTP web sunucusu tarafından işlenir. Web uygulaması ne içine daha yakından bir göz atalım:
& Nbsp; + ------ + ------- +
HTTP isteği ----> | yönlendirici | -----> | işleyici | ----> HTTP yanıtı
& Nbsp; + ------ + ------- +
yönlendirici isteği URL'yi kontrol ve yanıt yaratacak bir istek işleyicisi gönderir. Çığ webapp2 yönlendirici kullanır.
istek eylemciler stilleri
Istek işleyicileri 3 stilleri çoğunlukla vardır.
- Tek bir fonksiyonu
- Bir sınıf yöntemi
- Bir sınıf
Çığ (ve webapp2) üçüncü tarzı, bir sınıfını kullanır. Bir büyük esneklik sağlar, çünkü istek işleyicisi daha iyi hedeflere uygun olarak bir sınıfını kullanma, kolay / değiştirme uzatmak ve işleyicisi parçaları yeniden kullanımı.
istek işleyicisi işleme
istek işleyicisi işleme 3 aşamada ayrılabilir:
& Nbsp + ----------------- + ----------------- + --------- + -
talep ----> | param çevirici | ---- param nesneler ----> | bağlam oluşturucu | --- bağlam -----> | render | ----> tepki
& Nbsp + ----------------- + ----------------- + --------- + -
1. param dönüştürücü - HTTP isteği parametreleri almak
& Nbsp; HTTP protokolü metin, uygulama genellikle istek bazı parametreleri almak ve bazı yerel veri türleri içine dize değerlerini dönüştürmek olacaktır. Bu parametreler URI yolu, vb URI sorgu sonrası veri, çerezler, alınır
2. Bağlam oluşturucu - işleme
& Nbsp; Bağlam, bir Oluşturucu tarafından kullanılacak verileri temsil etmek için kullanılan bir terimdir.
& Nbsp; Bu işleme uygulaması mantığı. Genellikle bir kalıcılık katmanı (bazen Modeli olarak adlandırılır) erişecek ancak bu uygulama kodu kadar tamamen ve çerçeve bu konuda hiçbir rolü yoktur.
& Nbsp; Bir web sayfası genellikle bazen birden fazla "bağlam oluşturucu" içine işi bölmek için mantıklı birkaç unsurdan oluşmaktadır.
3. render - çıktı oluşturmak
& Nbsp; render HTTP yanıtı için metnin içine işleme sonucu çevirecektir. Yanıtı HTTP yönlendirme ise bu aşama atlanabilir. Oluşturucu genellikle HTML kodunu oluşturmak veya JSON verileri dönüştürmek için bir şablon sistemi kullanacak.
Çığ üzerinde ayrı işleyicisi 3 aşaması için kod yazmak ve çerçeve birlikte farklı bölümlerini tutkal izin vermelisiniz.
. Bunun neye benzediğini görmek için öğretici geçmek
Gereksinimler :
- Python
Yorum Bulunamadı