ミリミリの社内標準フレームワーク
こんにちは、今回はミリミリがWebアプリケーションを開発する際の標準開発Webアプリケーションフレームワークについてご紹介させていただきます。
このサイトをご覧いただいているかたの中には、Web制作を依頼される会社、Web制作をされる会社などさまざまな立場のかたがいらっしゃると思いますがWebアプリケーション開発時に使用されるWebアプリケーションフレームワークは何をお使いでしょうか。
LaravelやCakePHPなどのPHP系フレームワーク、Rubyの場合は Ruby on Rails など、当社でもリクエスト内容に応じて色々なWebアプリケーションフレームワークを使用してきましたが、特にWebアプリケーションフレームワークのご指定がないケースでは基本的には Django(ジャンゴ)というPython製のフレームワークを社内標準として使用することになっています。
Django - The web framework for perfectionists with deadlines.
Django makes it easier to build better web apps more quickly and with less code.
www.djangoproject.com
Pythonのフレームワークとしては、Flaskなどのほかのフレームワークも存在するのですが、ある程度しっかりとフルスタックで機能が提供されていてバージョンアップも継続的に行われるので安心感もあります。
機能や特徴面から社内標準としている理由の1つとしては、使用したい機能がフルスタックでほぼ標準機能として提供されている機能であることが多いので、都度ライブラリの評価し選定するというプロセスを省くことができるのはありがたいです。
その他にも、ある程度ルール化されていて自動設定されるRails等と比べると都度設定が必要であったりはするものの圧倒的に柔軟なルーティングが使えるということもあります。
テンプレートエンジンは標準のもの以外にも使うことができますので変更することもできますが、MTV方式が使用されていてという(モデル・テンプレート・ビュー)それぞれを組み立てていくことでアプリケーションを開発していきます。
他にも高機能かつある程度複雑なカスタマイズもできる 管理画面が自動生成できたり、RESTfulなAPI開発に便利な DRF (Django REST framework ) を利用できたりとスマートデバイス向けのバックエンドサーバ構築までDjangoを使えば一通りカバーできてしまいます。
言語としてPythonを使いますので、AI関連ライブラリとの親和性も高く、AI関連サービスのバックエンドとしてもおすすめです。