PythonのWebフレームワークBottleとは?導入方法まで解説

Bottleの特徴やメリット・できることを知りたい
Bottleのインストール方法が知りたい

今回はPythonで今とっても注目されているWebフレームワークのBottleについて、やさしく解説していきたいと思います。

Pythonで使えるフレームワークはさまざまな種類がありますが、Bottleは開発を効率化するための大きなメリットがあります。

ここでは、これからBottleを導入してみたい方に向けて、以下の内容で解説していきます。

  • Bottleを使うメリット
  • Bottleで出来る事とは
  • Bottleの導入

Bottleについて初心者でもわかりやすく解説していますので、ぜひ参考にしてみてください。なお、Pythonのフレームワーク「Bottle」について

もっと学習方法など詳しく知りたい

このように思う人は、弊社で行っている「無料体験レッスン」に参加してみてください。弊社では現役生徒500名以上が在籍し、未経験から転職・フリーランスへ多くの卒業生を輩出しております。

そんな、エンジニア未経験者の悩みを普段から解決している、業界屈指のコンサルタントがあなたのお悩みを解決してくれます。
侍エンジニア塾
無料体験レッスンの詳細はこちら

Bottleを始める前に

「Bottle」はPythonの人気フレームワークだと先ほど述べました。Bottleを使い始める前に、まずはWebフレームワークについての知識を、ざっくりとおさらいしておく必要があります。

Webフレームワークとは

「Bottle」はPythonのフレームワークのひとつですが、そもそもフレームワークとは何でしょうか。Webフレームワークとは、Webアプリなどを開発する際に便利な機能やツールが含まれている、アプリケーションの土台となるソフトウェアの事です。

フレームワークなしでも無論開発は可能ですが、これらのようなフレームワークを使用する事で効率良く開発を進めることが出来ます。開発の効率が向上するだけでなく、よりシンプルに簡素化することが出来るメリットがあるので、フレームワークの利用はもはや当たり前、となっています。

Pythonでは様々なフレームワークが存在します。興味があれば以下のリンクを参照し、他のフレームワークについても調べてみてください。

アプリ開発を100倍効率化!独学初心者が最初に知るべき仕組み3選
更新日 : 2019年5月3日

必要なスキル

Bottleを使い始めるのに必要なスキルは、最低限のPythonの知識で十分だと思われます。基本的には、他のプログラミング言語などに触れた事があるならば、調べたりしながら学習出来るはずです。初心者向けのPythonの基礎については、以下のリンクを参照してください。

Pythonの練習を超効率的に!無料おすすめ学習サイト厳選5選
更新日 : 2019年6月19日

入門書など、おすすめの本などのリストも以下のリンクで紹介しています。

2019年版!Pythonを学習できる初心者向けオススメ本10選【入門書編】
更新日 : 2019年6月20日

Bottleとは

スクリーンショット-2016-04-01-15.36.30

では早速、PythonやWebフレームワークなどといった基本的な概念を理解したところで、「Bottle」について解説していきたいと思います。Bottleはとてもシンプルで入門者におすすめのWebフレームワークです。

公式サイトには、

「Bottle is a fast, simple and lightweight WSGI micro web-framework for Python.(Bottleは早くてシンプルで軽量なWSGI(Web Server Gateway Interface:通称ウィズギー)WEBアプリを作るための仕組みを提供するPythonのWEBフレームワークです。)」

とあります。この文章から理解できるのは、Bottleはとにかく動作が早くシンプルだということですね。では、具体的になぜBottleを使うと良いのか、Bottleのメリットをご紹介していきたいと思います。

Bottleを使うメリット

その1 シンプルで軽量

オフィシャルサイトでも述べられているように、Bottleの特徴はとにかくシンプルで軽い!ということ。Webフレームワークなどを利用するのが初めてという方には、このシンプルさには助けられるはずです。

具体的に何がシンプルなのかというと、Bottleというフレームワークはひとつのファイル(bottle.py)で構成されています。複雑な仕組みを理解する必要が無く、構造が把握しやすいので初心者にはぴったりです。

構造がシンプルな分、アプリに必要だと思われるものを自ら組み込んでいかなければならない場合もあります。しかしそれらは作っていくうちに覚えていくものなので、さほど心配な要素ではないはずです。

その2 WSGI環境である

先ほどご紹介したオフィシャルサイトの説明文に、「WSGI」というキーワードが含まれていました。WSGIとは、サーバーとWebアプリをつなぐインターフェイスのことです。

事実、Pythonのフレームワークの中にはサーバーの種類によっては機能しないものがありました。アプリケーションの動作を共通化すインターフェイスが生まれた事で、Bottleユーザーはサーバーの制限を気にせず開発を行うことが出来ます。

その3 とにかく速い!

Bottleは「Simple Template Engine」という独自のテンプレート機能を搭載しています。簡単に言うと、HTMLの表示などの作業を簡素化してくれます。Web初心者には嬉しい機能ですよね。

Bottleで出来る事

Bottleの概要をざっくりと学んだところで、Bottleで作る最適なアプリはどのようなものなのか見て行きましょう。結論から言うと、大規模なWebアプリケーション開発にBottleは向いていません。

企業などで求められる大規模アプリの作成にはやはりDjangoのような大型フレームワークが最適と言われています。Bottleは簡単なアプリケーションを作り始めたいという初心者ユーザーにとって、とってもおすすめなフレームワークです。

ユーザー管理やデータベースなどの作成には不向きだと言われており、反対に、動作が速いので、リクエストが多いAPIなどの作成に向いているとも言えます。

Bottleを使い始めるには

では早速、Bottleを使い始めるためにはどうすれば良いのでしょうか。Bottleを使い始める前に、まずは仮想環境を構築したほうが賢明です。

仮想環境を構築する主な目的は、ひとつのサーバーに複数のアプリケーションを共存させたい場合、それぞれに適したバージョンに切り替えることです。もし、複数のアプリケーションを共存させない場合は、仮想環境はとりあえず必要ないかもしれません。

準備が整ったら、以下のコマンドを使用しBottleをインストールしてみましょう。

詳しくは、オフィシャルサイトのガイドに従ってインストールを完了させましょう。
http://bottlepy.org/docs/dev/tutorial.html

まとめ

今回はPythonで人気のWebフレームワーク「Bottle」について解説しました。皆さんもこの記事を通して、Bottleを使用して素敵なアプリケーションを作ってみてくださいね!

Pythonカリキュラム無料公開中!

この記事はPython入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Python学習に必要な情報を一つにまとめていますので効率よくPythonを学ぶことが出来ます。この機会に是非活用していただければと思います。

Python入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】
更新日 : 2019年6月26日

Pythonを最短で習得したい方へ

元々ITリテラシーの高い方やプログラムの学び方がわかっている方であれば、この記事通りに進めていけば、Pythonを独学で習得することができるでしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「なかなかやり遂げられ無い、挫折してしまった」
「時間が足りない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決することができない」

このような悩みを抱えている方も少なく無いと思います。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、AI(人工知能)や機械学習、IoTについて学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方やカリキュラムを考えてみませんか?

Pythonならではの学習方法や、現役Pythonエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta_bannar-ai1
LINEで送る
Pocket

書いた人

Kotono

Kotono

イタリア在住15年目の22歳です。イタリアの大学で情報科学&応用数学を学んでいます。主にJavaScriptやPythonについての記事を書いたりしています。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説