Python Webアプリ

Webアプリは、PHP、RUBYが主流ですが、Pythonを利用して作成するWebアプリが注目です。

Pyhonもインタプリタなので速度的にはPHPより速くなるとは考えられませんが、ローカルで処理する分には意外と速い言語だというイメージがあります。
エクセルの処理をするにはVBAが最速ですが、SQLiteへの書き込みなどをVBAと比べたとき十分実用的でした。

Pythonはライブラリが豊富なので(特に学術系とかAIとか)いろんな分野にファンがいることもあり、急激に伸びてくる可能性があります。

ネイティブアプリも作成できるようですが、こちらはライブラリがまだ乏しいとのこと。
ライブラリが乏しければPythonが選択される可能性は低いと思われます。
… このあたりは、Node.jsあたりに注目が必要かと思います。(React Native、Vue Native)

Pythonは基本コマンドプロンプトで操作。

python hello.py

いちいち、実行するpythonコマンドが必要。(hello.pyをexeにすることも可能らしい)

GUIのアプリもTkというツールキットを使えばできるが、他の言語と比べてGUIは不得手ではないかと思います。

それでWebアプリができるのかと思いますが、Web用のフレームワークの評判が良い。
まだ使ったことはありませんが、これらのフレームワークのために、Webアプリで注目されてきたと思われます。
YouTube DropBoxなどの実績もあり。

Windowsにも簡単にインストール可能。
また、ローカルホストにWebサーバーをたてることも、Pythonで簡単にできる。

python -m http.server --cgi 8080

これで、localhost:8080で自分のPCにアクセスできて、Webアプリの動作が確認できる。

サーバーにアップロードして動作させる方法が意外に難しかったので、メモ。

※ソースの先頭にShebangと呼ばれるコメントが必要。ここでインタプリタを指定する。

!/usr/bin/env python3.10

※ファイルや格納するフォルダのパーミッション設定が必要。
サーバーによる違いはあるが、実行プログラムやフォルダーは705または755

※.htaccessの設定。

DirectoryIndex index.py indexhtml
AddHandler cgi-script .py

など。(拡張子pyをCGIとして処理する指示)