前回のコラムでは、ChatGPTに教えてもらったら開発初心者が会社のウェブサイト(このページ)を構築できたことを書きました。この開発においては、「Django」というウェブフレームワークを採用しました。Djangoは、日本ではあまりメジャーではないものの、海外では広く普及しています。インスタグラムやYouTube、NASAのウェブサイト等、多くのメジャーなサービスやサイトで採用されています。今回は、弊社がDjangoを採用した背景と、実際に活用して感じたことについて書いてみます。
■Djangoとは
Djangoは、基本言語にPythonを採用し、シンプルさと高速な開発を両立させるための、オープンソース・ウェブフレームワークです。なぜ弊社がウェブサイト(Backend)の構築に当たりDjangoを選択したのか。理由はとてもシンプルで、ウェブサイトの開発要件をChatGPTに伝え、お勧めの技術構成を提案させたところ、Djangoがベストという回答が得られたからです。
■日本ではDjangoはあまりお勧めできないといわれた理由
しかし、念のためIT専門家のアドバイスも求めたところ、Djangoの活用をお勧めする人は一人もいませんでした。その理由はおおよそ次の通りです。
日本語でのサポート/ドキュメント/チュートリアルが少ない。
ウェブフレームワークとしての日本でのシェアが少ない。
Pythonでウェブサイト(Backend)を構築する必然性がない。
初心者には学習難易度が高い。WordPressやWiXなどのCMSを使うのが無難。
日本のSierでDjangoに対応できる開発会社は少なく、将来的にサイトの管理を委託しようとしても選択肢が限られるリスク。
■それにも関わらずDjangoを採用した理由
こうした理由から、「あまり現実解ではない」という指摘を多く受けました。これは今考えても、非常に的を射たアドバイスだったと思います。しかし、こうしたアドバイスにも拘わらず、弊社が最終的にDjangoを採用したのは、ChatGPTが以下のような理由を示し、それに合理性があると判断したためです。
ChatGPT活用前提:そもそもすべての開発工程をChatGPTに頼る前提なので、日本語のドキュメンテーションやチュートリアルを参照しない。(正確には、参照したところで理解できない)。ChatGPTで解決できなければあきらめるというのが大前提。
学習コスト:元々開発者(執筆者)が初心者であり、JavaScriptも全く知らないレベルので、新しい技術フレームワークを採用することによる学習負担差がない。
SQLを書かなくても良い:Djangoでは、オブジェクトリレーショナルマッピング(ORM)という技術を使用してデータベース操作を簡素化しています。これにより、開発者がSQLを直接書かなくても、Pythonコードのみでデータベース操作を行えるため、難易度の高いSQLを別途学習する必要がありません。
管理画面の開発が不要:当社が必要とする機能レベルであれば、Djangoがデフォルトで提供してくれる管理画面を活用できるため、管理画面の別開発が不要です。これは開発の初心者にとって相当大きなメリットです。
グローバルサービスとの連携:Djangoは、グローバルで広く普及しているため、開発における関連サービスとの連携機能(含むAPI)が非常に充実しています。当社のサイトでも、データベースや、ストレージなどは全て、グローバルメガベンダーのサービスを利用しています。ひと昔前なら、月々数千円(但し従量課金)でこれらの最高品質サービスを利用することなど絶対に不可能でした。こうしたグローバルサービスを、非常にシンプルなPythonコードで統合できるのは、Djangoの非常に大きな魅力といえます。また、これらの最新クラウド技術を活用することで、結果的には初心者でも比較的セキュアな環境を構築できる可能性が高まります。
CMSの不自由さ:今回は、複雑なウェブサイトを開発する目的ではありませんでしたが、既存のCMSを少し触ってみて、ノーコードローコード故の「融通の利かなさ」に強いストレスを感じ、これではやりたいことができない、という直観がありました。また、「簡単、シンプル」を売りにしているとは言え、例えばWordPressを使ってそれなりのことをしようとすると、結局部分的なコーディングや、特有の機能への習熟が必要という点も懸念されました。結果的には、Djangoを採用したことは正解だったと感じます。細かい課題は無限にあるものの、作りたかったもののおよそ8割はできました。
このように、Djangoは初心者が作るシンプルなウェブサイトから、インスタグラムのような巨大サービスまで対応可能な、非常に拡張性の高いフレームワークです。そして、現在世界で最も開発人口が多い言語のひとつであるPythonで書かれています。非常に素晴らしいオープンソーステクノロジーであることが初心者にもよく理解できる経験でした。
■エンジニアの「技術愛」について
エンジニアの起業家と話をしていると、自分が採用した技術に「惚れ込む」傾向があることが良く分かりますが、開発を少しかじってみると、その気持ちが非常に良く分かります。弊社も現在「Django」に惚れこんでおります。そして、開発力のレベルを正確に把握し、Djangoを推薦してきた上で実際のコードを全て書き、無限に続くデバックをクリアして、最終的にデプロイまでサポートしてくれたChatGPTの能力には、改めて驚愕せざるを得ません。
- By 西澤龍
- 10月 03, 2023
- ChatGPTが変える未来