Djangoの20回目の誕生日を祝う
(djangoproject.com)- Django がリリース20周年を迎えた記念すべき節目
- Djangoは 完璧主義者でありながら締め切りを守らなければならない開発者 のためのWebフレームワークとして、20年間にわたり多くの支持を集めてきたプロジェクト
- Pythonエコシステムにおける主要な Webフレームワーク として定着し、大規模なコミュニティと豊富なオープンソース資料、多様なプラグインを基盤に、企業、スタートアップ、個人開発者まで幅広く活用されている
- 長年にわたる 継続的な開発とメンテナンス により、信頼性・セキュリティ・拡張性が強化される流れを続けてきた
- Djangoは簡潔でありながら強力な設計手法を通じて、迅速なプロトタイピングと安定したサービス運用 の両方を支援する点で、際立った競争力を持っている
- 現在も活発なアップデートとエコシステム拡大を軸に、大規模Webサービス開発者 の中核ツールとして活用されている
9件のコメント
Djangoだけ使っていれば幸せなのに、DRFまで絡むと不幸になります……うう
もしかして、どうしてなんでしょう!?
DjangoでREST APIを実装したことがあるのですが、Form などを使っていると、DRFのほうがより適切だったのではと思ってしまうことがありました。
正確には、フロントとバックが分かれているサービスで Django を使ってバックエンドサーバーを実装する場合、バック側だけで使うには Django 特有のフルスタックさに由来する重さが負担でもありましたし、Django に RESTful さを加えるために一緒に使っていた DRF への依存が大きくなりすぎるのも不快でした..
特に、DRF 自体が Django ORM に強く結び付いていることから来る依存性や、DRF を頻繁に多くの場所で使うほどどこでも Django ORM を使えるようになってしまうことで生じる断片化、DB へのアクセス可能性などが不安に感じられた点、さらに DRF が提供する serializer が、その名の通りのデータ直列化やデータ検証を超える役割や可能性を持っていることに加えて、serializer を使えば使うほど次第に MVC の区別が無意味になっていくことなど……。こうなると、あえて Django+DRF の組み合わせを使うより、別のフレームワークでバックエンドを実装するほうが安定的だろう、という考えを強く持つようになっていました。なので実際、ある時点からは FastAPI を優先して選ぶようになりましたね。
Django を使うようになってから、自分のキャリアが大きく向上したと感じているユーザーとして、とても感謝しています。Django にも何度か contribution したことがありますが、これからも長く愛されてほしいですね(笑)
Djangoは本当に大好きです! 私自身もいろいろな面で大きな恩義があり、感謝の気持ちでいっぱいです。Djangoは以前より少し人気が落ち着いたかもしれませんが、そもそもDjangoに特別にものすごく熱かった時期があっただろうかという気もしますし、これからも安定して愛されるフレームワークとして末長く続いていくと信じています!
趣味のWeb開発にはよく使っています
Django、お誕生日おめでとう!
うわあ…! 最初に使ったとき、Pythonだからという理由で使っていたプロジェクトだったのですが…
長い時間が経ちましたね!
また使える環境で働けたらいいですね :) ふふふ
副業ででもやってみようかな…
Hacker Newsのコメント
自分のキャリア全体はDjangoのおかげと言っていい。学部時代に研究室でWebサイトを作っていたときに初めてDjangoに触れたが、当時のDjangoはまったく新しく、安定性やセキュリティのことなど何も気にせず、何でもDjangoでやっていた。数年後には、Djangoで積み上げたスキルのおかげで最先端の機械学習研究室に入り、複雑なフロントエンドを整理する役割を担うことになった。その後も、研究室のスピンアウトで最初の正社員になり、大企業による買収を経験し、センサーベースのMLシステムをスケールさせ、ML中心のVCファンドを共同創業し、さらには10年以上続くAI企業を起業できたのも、すべてDjangoのおかげだった
あの頃のPythonコミュニティは本当に温かかった。オンラインには助け合う人が大勢いて、Rubyでも同じように楽しい経験ができた
研究室ではDjangoのORMを使いながら、ユーザーごとに物理的に分離されたMySQLデータベースサーバーを個別に作っていたせいで、複雑な構成になっていた。正直、こういうケースならsqliteのほうが向いている気がする
Djangoに不安定だとかセキュリティに弱いといった評判があったのか気になる。それと、なぜ機械学習の博士課程の学生たちがユーザーごとに分離DBという要件を作ったのかも気になる
自分にとってもDjangoは、初めてフリーランスやソフトウェア開発を気軽に体験させてくれたソフトウェアであり、洗練されたPythonのソースコードや開発文化に触れる機会を与えてくれた
10年前、KansasのLawrenceでDjango 10周年イベントをオフライン開催した。そのときの発表動画はこちらで見られる。昨日のDjango 20周年に合わせて、当時の自分の発表を注釈付きでまとめ直したので、Djangoの始まりの物語に興味があるならこの記事を読んでほしい
自分が最初にDjangoを使ったのは2006年、v0.95 "magic removal" リリースの頃だった。当時19歳で、小さなスタートアップでPHPを使っていた。Railsが大きな注目を集めていたのでインストールしてみようとしたが、UbuntuのノートPCでは簡単ではなかった。そこでPythonとDjangoを知り、20分でHello Worldページを表示できた。その後、newforms、1.0リリース、クールなDB機能、マイグレーション(SouthとNashvegasを巡る議論もあった)、クラスベースビュー、組み込みのJSONFieldのようなPostgres機能、Python 3対応、ASGIなど、さまざまな変化があった。2008年には初めてDjangoConに参加し、2018年には初めて登壇もした。自分のキャリアはDjangoに負うところが大きく、大きなプロジェクトでも小さなプロジェクトでもDjangoを選んだことを後悔したことは一度もない。コミュニティのおかげでなおさらそう思う。Django、誕生日おめでとう
Djangoはとにかくそのまま動くフレームワークだ。JSがあまり好きではない人間にとって、Djangoが生き残ってくれていることに本当に感謝している。JSフレームワークが次々に現れては消えていく間も、継続して貢献してくれた人たちに感謝したい
自分は複数の会社で長年Djangoを使って働いてきた。他のフレームワークを使うたびに、Djangoが初期の原則である "batteries included" をどれほどよく守りながら、新しい技術にも適応してきたかを実感する。本当に素晴らしいコミュニティがあり、それがこれほど長く続いているのは特別なことだと思う。もちろん他のフレームワークにも良さはあるが、全体的なツール群を見ると、Djangoは複雑で大規模なプロジェクトでは今でも最高だ。小規模なプロジェクトでも悪くない選択だと思う
最近の自分はPythonをかなり辛口に批判しているが、SimonとDjangoコミュニティ全体には感謝している。本当に素晴らしい "batteries included" フレームワークで、多くのプロジェクト、企業、キャリアに影響を与えてきた。もちろん自分もその一人だ。いまでも他のエコシステムの管理パネルを評価するときはpgadminをベンチマークにしている。Djangoが成し遂げたことはすごいと思う。Djangoがなければ、今の技術の進歩もずっと遅れていただろう。本当に大きな感謝を伝えたい
この15年間、Djangoと一緒に仕事をしてきた経験は楽しかった。コミュニティに加わることで大きな学びがあり、DSFの理事や会長として奉仕できたことも光栄だった。これからの20年のコードとコミュニティを楽しみにしている
これまで使ってきたフレームワークの中で、Djangoが断然最高だ。これがあるのに、わざわざバックエンドJavaScriptを学ぶ必要性を感じなかった
DjangoとRuby on Railsの両方を経験した人に、どちらをより好むのか、その理由も含めて聞いてみたい。10年ほど前に先にPythonを学んでいたが、Rubyも身につけたくて最初にRailsを選んだ
RailsもDjangoも仕事で使ったことがあるが、実務ではDjangoを勧める。Railsのメタ的な部分も良いが、Pythonのライブラリエコシステムがあまりに大きいので、Djangoだけでほとんど何でもできる。Railsを使う会社では別途Pythonコードを持って連携させることが多いが、DjangoならORMでまとめて処理できる。機械学習/AIのような特別なライブラリが不要で、1人で素早く開発するならRailsは本当に速い。ただ、スタートアップなら基本フレームワークとしてDjangoを勧める
自分がDjangoをより好む理由はこうだ。まず、Rubyより常にPythonのほうが好きだったし、明示的なimportや名前空間、一つのやり方を推奨する哲学のほうがスケールしやすい。Djangoも同じ哲学なので、設定は少し多くて明示的になるが、デバッグしやすく明快だ。何よりDjangoのドキュメントはフレームワークの説明だけでなく、良い開発プラクティスまでしっかり教えてくれる。Rubyはその点が弱く、プロジェクトごとに開発スタイルのばらつきが大きい。Djangoは安定性の面でも優れていて、大きなバージョン間の移行も楽に感じる。Pythonエコシステムは非常に広大だし、DjangoのadminやRest Frameworkは本当にとてつもない時間節約になる。Railsにも似たものはあるが、インパクトが違う。もちろんGISや科学計算が関係ないなら最終的には個人の好みが一番重要だが、それでもRailsは今なお素晴らしいフレームワークだ
そのプロジェクト(Django)は自分の住む地域の近くにあるKCメトロで生まれ、ビジネスパートナーと自分に大きな価値をもたらしてくれた。よい誕生日を