ウェブアプリ開発に使えるライブラリ
Pythonはウェブアプリケーションの開発にもよく使われています。Googleも推奨しているPythonですから、インターネット上で利用できるライブラリも沢山用意されています。
中でもDjango、Flaskなどは利用者も非常に多いライブラリです。GoogleのクラウドサービスであるGoogle App EngineやCloud Platformなどとも親和性も高く、高度なウェブアプリケーション開発に向いています。
Django
https://www.djangoproject.com/
DjangoはPythonでWebアプリケーションを開発する際のフレームワークとして最も使われているといわれているライブラリです。Webアプリケーションを開発するのに必要とされているほとんどすべての機能をカバーしていて、かつ大規模たシステム開発にも利用できる内容になっています。
Django2.0は2017年にリリースされ、このバージョンよりPython3系にのみ対応しています。
Flask
Flask(フラスク)はPython用の軽量で簡易的なウェブアプリケーション用フレームワークです。最小限の機能に限定していて、1つのファイルだけでウェブアプリケーションを作成できます。マイクロフレームワークと呼ばれBSDライセンスで公開されています。
Pyramid
Pyramid(ピラミッド)軽量なウェブアプリケーション用フレームワークで、簡単に始められることから人気のあるフレームワークです。また拡張子アプリケーションの規模を大きくしようとした場合にも小さなアプリケーションを元に拡張できるため、規模の大きなアプリケーション用にソースコードを大幅に書き換えるような事がないという特徴があります。Flask同様に単一ファイルでの動作も可能です。最初は小さく作りやがて大きくしていくというアプリケーション開発に最適です。
他のフレームワーク
Pythonでのウェブ開発には他にも様々なライブラリが用意されています。日本ではあまり知られていないものもありますが、使えそうなものを中心にまとめてみました。
Bottle
シンプルで軽量なため動作も早いPython用マイクロウェブフレームワークです。
Cheetah
殆どのメジャーなフレームワークをサポートしているテンプレートエンジン。
CherryPy
オブジェクト指向なウェブアプリケーション開発が可能なフレームワーク。コードも小さくできて開発の時間を節約できる。
feed parser
https://pythonhosted.org/feedparser/
RSS/Atomフィードを解析してサイトの新着情報などの記事を抽出できるPython用のライブラリ。フォーマットの違いも関係なく取り扱える。(RSS1.0,RSS2.0,Atomなど)
Pylons
比較的新しいウェブアプリケーション開発用フレームワーク。WebサーバーとWebアプリケーションを接続するための標準化されたインターフェース定義であるWSGIに最も早く対応したフレームワーク。フレキシブルに素早くウェブアプリケーション開発ができる。
Tornade
高速に稼働するウェブアプリケーションフレームワークです。元々はFriendFeedというFacebookに吸収された会社が開発していたもので、facebookに移行後にオープンソースとなった。WebSockets やその他アプリケーションによりユーザー同士が長時間にわたり繋がる必要があるリアルタイム通信などに使われます。
Web2py
オープンソースのセキュアなデータベースを使うウェブアプリケーション開発フレームワーク。このフレームワークだけでウェブアプリの開発に必要なコンポーネントを含んでいます。
Webアプリケーションを開発するためには様々なフレームワークが用意されています。Fabshopではラズベリーパイをウェブサーバーと見立てて様々なウェブアプリケーション開発を行っていきますが、その際にさらに細かくこれらフレームワークの使い方などを紹介していきます。