分TurboGearsってなに?TurboGearsはオブジェクト指向スクリプト言語Python製のWebアプリケーションフレームワークです(図1⁠)⁠。Railsである」と表現できるかもしれません。Pythonは,欧米を中心にとても人気のあるスクリプト言語です。覚えやすく,使いやすいと定評があり,GoogleやYahoo!,マイクロソフトなどもPythonを活用し,注目しているほどです。図1ノリのよい開発スタイルTruboGearsの大きな特長は,開発を始めるまでの手順が少ないということです。インストールはとても簡単で,必要なモジュールを含めてほぼ自動的に終わります。WindowsやLinuxなど,開発を行う環境を問わず,インストール後すぐに開発を始めることができます。ノリ良く開発ができることを念頭に置いて作られているのです。HTMLを書かなくても簡単にフォームを作れるWidget(ウィジェット=Pythonのクラス)を持っており,Ajax的な機能をとても手軽に利用できます。MochikitというJavaScriptのライブラリを同梱しており,よりリッチな処理を実現できます。そこで,簡単なWeb掲示板を作ることを考えてみましょう。掲示板では投稿内容をどこかに保存しておき,必要に応じて取り出す必要があります。データの保存にはデータベースを使います。CGIでWeb掲示板を作るためには,図2のような工程をたどります。Pythonは開発効率の高いスクリプト言語ですが,それでもなおデータベースとの連携を行うためにSQL文字列を組み立てたり,Webブラウザで表示するHTML文字列を生成したりといった煩雑な処理を,ほとんど自前で行わなければなりません。事前準備データを保存するためのテーブルを設計するデータベース上にテーブルを作るデータベース接続モジュールを選ぶプログラム内部(投稿の表示部分)SQLを文字列として組み立てるPythonからSQLを発行し,表示に必要なデータを得るデータベースから得たデータを元にHTMLを文字列として整形するWebサーバにHTMLを出力するプログラム内部(投稿をデータベースに登録する部分)Webブラウザからの入力を解析して分割する解析した入力結果を元に,SQLを文字列として組み立てるSQLを発行し,データベースにデータを登録する投稿が完了した結果をHTMLの文字列として整形するWebサーバにHTMLを出力するWebアプリ開発の負担の多くを軽減これに対して,TurboGearsを使った場合は図3のようになります。利点を端的に表現すると「MVCモデルとして利用する部品(モジュール)と連携方法が提供されている」ということになるでしょう。文字列操作に関わる泥臭い処理をしなくて済みます。Webブラウザからの入力はコントローラが自動的に解析し,関数(メソッド)の引数として渡してくれます。SQLやHTMLに相当する文字列組み立ても,モデルやビューが処理してくれます。Webアプリを作成する上で行う,典型的な作業の多くを軽減できるわけです。図3事前準備データを保存するためのモデルクラスを設計するコマンドラインツールを使ってプロジェクトとテーブルを作るプログラム内部(投稿の表示部分)モデルを使ってデータベースから必要なデータを得る投稿を表示するテンプレートを作るデータベースから得た結果をテンプレートに渡し,HTMLとして出力するプログラム内部(投稿をデータベースに登録する部分)Webブラウザからのデータを関数の引数として受け取るモデルを使ってデータを登録する投稿結果を表示するテンプレートを作るテンプレートをWebサーバに出力する速さと信頼性を兼ね備えたTurboGears作者であるKevin氏は,TurbgoGearsのことをメガフレームワークと呼んでいます。MVCの部品を自前で作るのではなく,実績と定評のある部品をうまく取り込み,連携を強めて活用しているためにそのように呼ばれているようです。TurboGearsが部品として利用しているモジュールには図4のようなものがあります。どれも信頼性が高く,利用しやすいモジュールです。TurboGearsは生まれて間もないフレームワークですが,実績のある部品を使っているためもあってか,欧米を中心に多くの開発者の注目を集めているのです。MVCそれぞれを受け持つモジュールの他にも,TurboGearsにはWebアプリケーションの開発を支援する便利なツールがたくさん用意されてます。Language)を使ったフレームワークの導入ガイド。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。書店・販売店の皆様へデベロッパアドミニストレータWEB+デザインライフスタイルサイエンスニュース&レポートメールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。