目次
Pythonはフレームワークやライブラリが豊富にあるプログラミング言語です。Pythonのフレームワークやライブラリは、WebサービスからAI分野まで幅広く存在します。この記事では、実際に現場で採用されることが多いPythonのフレームワークやライブラリを紹介します。
Pythonとは
PythonとはWebサービスのバックエンド開発、AI分野、データ分析、組み込み開発、ブロックチェーン開発など幅広い分野で用いられるプログラミング言語です。YouTubeやInstagramでも採用されており、現在最も注目されている言語といっても過言ではありません。Pythonの特徴
Pythonの特徴に汎用性の高さがあります。Pythonはデータ分析やAI分野に強みがあるもののフレームワークやライブラリが非常に充実しているため、Webサービスのバックエンド開発、AI分野、データ分析、組み込み開発、ブロックチェーン開発など幅広い分野で使用することができます。また、Pythonは比較的習得が容易な言語であることも特徴の1つです。フレームワークとは
フレームワークとは、開発を進めていく上で便利な機能がまとまっているものです。言い換えると、開発を進める上での骨格となるものです。フレームワークとして有名なものには、RubyのRuby on RailsやJavaのSpring Bootなどがあります。Pythonにもフレームワークがあり、それらを利用することで効率的に開発を行うことが可能になります。フレームワークのメリット
開発にはフレームワークを使用する場合と使用しない場合がありますが、フレームワークを使用する場合のメリットはどれくらいあるのでしょうか。メリット1:開発期間を短縮できる
フレームワークのメリットの1つに効率を上げられることがあります。フレームワークには必要な機能が揃っているので、その機能を開発するコストを削減することが可能です。また、フレームワークの中にはフルスタックフレームワークと呼ばれるものがあり、それらのフレームワークは機能が充実しているので、コスト削減には最適といえます。
メリット2:記述を統一化できる
多くのエンジニアが関わるプロジェクトの場合は記述方法が複数存在してしまいます。ですが、フレームワークを導入することで記述を統一化することができます。そのため、保守性が上がり結果的にコストを削減することも可能です。
フレームワークのデメリット
フレームワークを導入することにはデメリットも伴います。デメリット1:フレームワークを扱えるエンジニアが少ない場合がある
フレームワークを導入する場合、エンジニアもフレームワークを習得する必要があります。外部からフレームワークを扱えるエンジニアを採用する場合もあると思いますが、フレームワークの種類次第では、採用の難易度も上がります。 例えば、PythonにはDjangoというフルスタックフレームワークがありますが、Djangoを扱えるエンジニアは少ないかつ高額です。逆に、エンジニア視点ではDjangoのような需要が高く、エンジニアが少ないスキルを習得することで案件獲得確率と単価をあげることができます。
デメリット2:フレームワークに脆弱性がある場合がある
フレームワークは必要な機能が揃っていますが完璧ではありません。可能性は低いかもしれませんが、フレームワークに脆弱性が発見される場合もあります。過去には、JavaのStrutsというフレームワークに脆弱性が発見され、Strutsを採用しているシステムには大きな影響を与えました。