avalanche

Software screenshot:
avalanche
Rincian Software:
Versi: 0.3.0
Tanggal Upload: 14 Apr 15
Lisensi: Gratis
Popularitas: 12

Rating: nan/5 (Total Votes: 0)

longsor adalah kerangka web Python dibangun di atas webapp2 & nbsp;. Menggunakan Jinja2 sebagai sistem template default dan tidak termasuk setiap lapisan ketekunan.
tujuan Avalanche (atau mengapa kerangka web lain?)
Desain fokus longsoran pada testability dan usabilitas.
Tentu saja Avalanche tidak melakukan mujizat. Testability dan usabilitas akhirnya akan tergantung pada kode aplikasi. Tapi kerangka memiliki peran besar pada pengaturan jalan yang benar.
Tujuan disajikan di bawah ini, mudah-mudahan setelah membaca desain dan tutorial akan jelas bagi Anda bagaimana tujuan-tujuan ini tercapai.
Testability
Avalanche dirancang dengan cara yang memungkinkan (lebih mudah bagi Anda) untuk menulis yang baik unit-tes untuk kode Anda. Yang tidak hanya membuatnya mudah untuk menulis tes. A harus unit-test:
- Memberikan pesan kesalahan yang jelas ketika gagal
- Gagal hanya jika fitur yang diuji rusak, tidak pada setiap perubahan kode
- Cepat
Usabilitas
Kebanyakan setiap kerangka mengklaim bahwa usabilitas adalah salah satu tujuan desain mereka. Berikut "usabilitas" berarti kode sumber usabilitas.
Banyak kerangka memberikan beberapa mekanisme untuk digunakan kembali / plugable sub-aplikasi namun tidak selalu mudah untuk kembali menggunakan kode ini aplikasi sumber dalam kasus Anda perlu mengkonfigurasi / memodifikasinya. Aplikasi plugable juga merupakan fitur yang sangat penting tetapi seperti yang sekarang Avalanche tidak memiliki dukungan untuk itu.
Seharusnya tidak hanya mungkin untuk menulis kode dapat digunakan kembali, kode harus digunakan kembali pada saat pertama kali Anda menulis itu. Anda tidak disarankan untuk menulis kode dalam satu cara, dan daripada nanti harus memodifikasi untuk membuatnya dapat digunakan kembali. Yaitu mereka menentang dengan mengatakan "Gunakan view (handler) fungsi". Dan dari ... "jika Anda ingin pandangan Anda akan dapat digunakan kembali mengkonversikannya ke pandangan berbasis kelas!".
Rincian Proyek
- Website / docs
- Ini adalah sebuah proyek open-source (lisensi MIT) yang ditulis dalam python.
- Download dari pypi
- Manajemen proyek (bug tracker, permintaan fitur dan kode sumber) pada bitbucket.
- Pertanyaan dan umpan balik pada kelompok google.
Avalanche Desain
Peringatan
Avalanche adalah pada tahap awal pengembangan (alpha). API mungkin berubah di masa depan dan tidak ada jaminan akan terus kompatibilitas.
melampaui MVC (model-view-controller)
MVC adalah pola arsitektur perangkat lunak yang dibuat dengan tujuan untuk mengisolasi "logika domain" dari antarmuka pengguna. Pemisahan keprihatinan memungkinkan pembuatan kode aplikasi yang lebih baik. Pola ini sangat sukses bagi banyak kerangka desktop dan begitu menjabat sebagai referensi untuk pembuatan web-kerangka. Masalahnya adalah bahwa arsitektur ini tidak dapat dipetakan secara langsung dengan cara web-aplikasi kerja.
Bahkan yang disebut kerangka MVC tidak benar-benar MVC. Jadi mari kita menjaga gawang MVC. Itu adalah untuk menulis bersih, dapat digunakan kembali dan dapat diuji kode.
aplikasi web
Pada dasarnya semua web-aplikasi lakukan adalah untuk menerima permintaan HTTP, proses dan menghasilkan respon HTTP.
& Nbsp; + ------------------ +
HTTP Request ------> | aplikasi web + -----> HTTP Response
& Nbsp; + ------------------ +
Mengirim dan menerima HTTP ditangani oleh web-server. Mari kita lihat lebih dekat ke dalam apa aplikasi web tidak:
& Nbsp; + ------ + + ------- +
Permintaan HTTP ----> | router | -----> | handler | ----> respon HTTP
& Nbsp; + ------ + + ------- +
Router akan memeriksa URL permintaan dan pengiriman ke handler permintaan yang akan menciptakan respon. Avalanche menggunakan router webapp2.
Permintaan penangan gaya
Ada terutama 3 gaya permintaan penangan.
- Fungsi tunggal
- Metode kelas
- Kelas
Avalanche (dan webapp2) menggunakan gaya ketiga, kelas. Menggunakan kelas sebagai permintaan handler sesuai baik tujuan kita karena memberikan fleksibilitas yang lebih besar, lebih mudah untuk memodifikasi / memperpanjang dan penggunaan kembali bagian dari pawang.
Permintaan pengolahan handler
Memproses permintaan handler dapat dibagi dalam 3 tahap:
& Nbsp; + ----------------- + + ----------------- + + --------- - +
meminta ----> | param converter | ---- param benda ----> | konteks pembangun | --- konteks -----> | penyaji | ----> respon
& Nbsp; + ----------------- + + ----------------- + + --------- - +
1. param converter - mendapatkan parameter dari permintaan HTTP
& Nbsp; HTTP adalah protokol teks, aplikasi biasanya akan mendapatkan beberapa parameter dari permintaan dan mengkonversi nilai string menjadi beberapa tipe data asli. Parameter ini diambil dari jalan URI, URI permintaan, pasca-data, cookies, dll
2. konteks pembangun - pengolahan
& Nbsp; Konteks adalah istilah yang digunakan untuk mewakili data yang akan digunakan oleh penyaji.
& Nbsp; pengolahan ini adalah logika aplikasi. Ini akan sering mengakses lapisan kegigihan (kadang-kadang disebut Model) tetapi ini sepenuhnya terserah kode aplikasi dan kerangka memiliki peran itu.
& Nbsp; Sebuah halaman web sering terdiri dari beberapa elemen jadi kadang-kadang masuk akal untuk membagi pekerjaan ke dalam lebih dari satu "pembangun konteks".
3. penyaji - menghasilkan keluaran
& Nbsp; penyaji akan mengubah hasil pengolahan ke dalam teks untuk respon HTTP. Tahap ini mungkin dilewati jika respon redirect HTTP. Penyaji biasanya akan menggunakan sistem template untuk menghasilkan kode HTML atau mengubah data ke JSON.
Pada longsoran Anda harus menulis kode untuk 3 tahap handler secara terpisah dan biarkan kerangka lem bagian yang berbeda bersama-sama.
. Pindah ke tutorial untuk melihat tampilannya seperti

Persyaratan :

  • Python

Perangkat lunak lain dari pengembang Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

Doit
Doit

1 Mar 15

pytest-incremental
pytest-incremental

12 May 15

Komentar untuk avalanche

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!