avalanche

ソフトウェアのスクリーンショット:
avalanche
ソフトウェアの詳細:
バージョン: 0.3.0
日付のアップロード: 14 Apr 15
ライセンス: 無料
人気: 1

Rating: nan/5 (Total Votes: 0)

雪崩はwebapp2が上に構築されたPythonのW​​ebフレームワークである これは、デフォルトのテンプレートシステムとしてJinja2のを使用し、すべての永続化層を含むされません。
の雪崩の目標(または、なぜ別のWebフレームワーク?)
テスト容易性と再利用性に雪崩設計の焦点。
もちろん、雪崩は奇跡を行いません。テスト容易性と再利用性は、最終的には、アプリケーション·コードに依存します。しかし、フレームワークは、正しい道を設定する上で大きな役割を持っている。
目標は、以下に提示できれば設計を読んだ後、それは、これらの目標が達成され、どのように明らかであろうチュートリアルされる。
テスト容易性
雪崩は、それがあなたのコードのための良いユニット·テストを書くために(あなたのために簡単に)ことを可能にするような方法で設計されました。それは唯一のテストを書くためにそれが容易ではない。ユニット·テストする必要があります:
- それが失敗したときに明確なエラーメッセージを与える
- テスト中の機能はなく、すべてのコード変更で、壊れている場合にのみ失敗する
- 高速である
再利用可能性
主にすべてのフレームワークは、再利用性が彼らの設計目標の一つであることを主張している。ここで、「再利用性」とは、ソースコードの再利用性を意味します。
それはあなたがそれを変更/設定するために必要がある場合に再利用するこれらのアプリケーションのソースコードには必ずしも容易ではないが多くのフレームワークは、プラグ可能/再利用可能なサブアプリケーションのためのいくつかのメカニズムを提供する。プラグ可能なアプリケーションも非常に重要な機能ですが、今のように雪崩は、そのためのサポートしていません。
それだけで、コードは、あなたがそれを最初に書く時間に再利用可能である必要があり、再利用可能なコードを書くことが可能であってはならない。あなたは一つの方法でコードを書くことをお勧めし、以降もそれを再利用可能にするためにそれを変更する必要はすべきではありません。すなわちそれは「ビュー(ハンドラ)関数を使用してください」と言って対向している。よりも... "あなたはあなたのビューが再利用可能にする場合は、クラスベースのビューに変換!」。
のプロジェクトの詳細
- ウェブサイトの/ docs
- これはPythonで書かれたオープンソースプロジェクト(MITライセンス)である。
- PyPIのからダウンロード
- プロジェクト管理のBitbucket上の(バグトラッカー、機能要求とソースコード)。
- Googleのグループに関する質問とフィードバック。
の雪崩デザイン
警告
雪崩は、開発の初期段階(α)である。 APIは将来変更される可能性があり、それが互換性を維持します保証はありません。
MVC(モデル - ビュー - コントローラ)を越えて
MVCは、ユーザインターフェースから「ドメインロジックを「分離することを目標に作成されたソフトウェアアーキテクチャー·パターンです。懸念の分離は、より良いアプリケーションコードの作成が可能になります。このパターンは、多くのデスクトップフレームワークのために非常に成功したので、ウェブフレームワークの創出への参照を務めた。問題は、このアーキテクチャは、Webアプリケーション、作業方法に直接マッピングすることができないことである。
でも、いわゆるMVCフレームワークは本当にMVCではありません。それでは、ただMVCの目標にしておこう。つまり、クリーンな再利用可能とテスト可能なコードを記述することです。
ウェブアプリケーション
本質的に行うすべてのWebアプリケーションは、HTTP要求を受信しそれを処理し、HTTPレスポンスを生成することである。
  + ------------------ +
HTTPリクエスト------> | Webアプリケーション+ -----> HTTPレスポンス
  + ------------------ +
送信側と受信側のHTTPは、Webサーバによって処理されます。のWebアプリケーションが何をするかに詳しく見てみましょう:
  + ------ + + ------- +
HTTPリクエスト----> |ルータ| -----> |ハンドラ| ----> HTTPレスポンス
  + ------ + + ------- +
ルータは、リクエストのURLをチェックし、応答が作成されます要求ハンドラにそれをディスパッチします。雪崩はwebapp2がルーターを使用しています。
要求ハンドラのスタイル
要求ハンドラの3スタイルが主にあります。
- 単機能
- クラスメソッド
- クラス
雪崩(とwebapp2が)第三のスタイル、クラスを使用しています。それはより大きな柔軟性、ハンドラの変更するために/拡張が容易と再利用部品を提供するため、要求ハンドラとしてクラスを使用すると、より良い私たちの目標に適しています。
要求ハンドラの処理
要求ハンドラの処理は、3段階に分けることができます。
  + ----------------- + + ----------------- + + --------- - +
リクエスト----> |のparamコンバータ| ---- PARAMオブジェクト----> |コンテキストビルダ| ---コンテキスト-----> |レンダラ| ---->応答
  + ----------------- + + ----------------- + + --------- - +
1. PARAMコンバータは - HTTPリクエストからパラメータを取得
  HTTPは、テキストプロトコルであり、アプリケーションは通常、要求からいくつかのパラメータを取得し、いくつかのネイティブデータ型に文字列値を変換します。これらのパラメータは、URIパスなどURIクエリ、ポスト·データ、クッキー、から取られ
2.コンテキストビルダ - 処理
とをタップ、コンテキストレンダラによって使用されるデータを表すために使用される用語である。
とをタップ、この処理は、アプリケーションロジックがある。それは多くの場合、永続化層(時々モデルと呼ばれる)にアクセスしますが、これは、アプリケーションコードまで完全にあるとフレームワークは、その上で何の役割も持っていません。
  Webページは、多くの場合、そのように、時にはそれが複数の「コンテキストビルダ」に作業を分割することに意味がいくつかの要素で構成されている。
3.レンダラ - 出力を生成
 レンダラは、HTTPレスポンスのためのテキストに処理結果を変換します。レスポンスがHTTPリダイレクトの場合、この段階ではスキップされることがあります。レンダラは、通常のHTMLコードを生成したり、JSONにデータを変換するテンプレートシステムを使用します。
雪崩上では、個別に、ハンドラの3つのステージのためにコードを記述し、フレームワークは一緒に異なる部分を接着させてください。
それがどのように見えるかを確認するためのチュートリアルに進みます。

の要件の:ます。

  • のPythonます。

開発者の他のソフトウェア Eduardo Naufel Schettino

hoe.js
hoe.js

13 Apr 15

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

へのコメント avalanche

コメントが見つかりません
コメントを追加
画像をオンにする!