このサイトは、なぜ、Django+DojoToolkitというマニアックな環境を選んだのか

忘れないようにメモ

長いです。

背景

このサイト「開発メモ」は、Pyhton3、Django(CGI)、DojoToolkit(編集、管理画面)というとてもマニアックな環境で動作しています。

DBは、Djangoに合わせてPostgresSQLです。

通常ならば、PHP+適当なフレームワーク+jQueryまたは、Ruby+RubyOnRails+jQueryを選ぶかと思いますが、違います。

将来的に気持ちが揺らがないように、この環境を選択した、理由を記述しておきます。

DojoToolkitを選んだ理由

(DojoToolkitは管理側の画面に使用しています。公開画面はjQueryを使用しています。)

オールインワンであること

まず、DojoToolkitを選択した理由なのですが、Dojoはオールインワンです。

jQueryだとプラグイン使うことも多いと思いますが、Dojoの場合は、オールインワンなので基本的に不要です。

(※jQueryでもプラグイン使わなければいいじゃん、という話もある。)

オールインワンのメリット「バージョンアップが楽」

これに尽きます。

プラグインを使用する場合は、プラグインのバージョンアップも必要です。

本体のバージョンアップも必要です。しかも本体とプラグインの互換性の確認も必要です。

「バージョンアップしない」と決めれば良いのですが、セキュリティ的な問題があるとせざるをえません。

プラグインがあるとその分、バージョンアップのチェック、互換性テスト、負担が増えますが、オールインワンだと本体のみの負担ですみます。

なお、YUIについては開発中止、 ExtJSについては有償ということで、選択しませんでした。

Python3を選んだ理由

コーディングスピードが速い

Python「3」というより、Pythonを選んだ理由なのですが、コーディングスピードが速いからです。

PHPだとすべての変数に$を入力したり、{}や->のような記号が必要で入力の負担が大きいように思えました。

RubyやJavaを選ばなかった理由は、単純に環境がなかったからです。

(※筆者は、環境さえあれば、Javaがコーディングスピード、実行スピード共に最高だと思っています。 さらに言うと、{}のような記号の入力はあっても、Javaの静的型付けやエディタでの補完がコーディングスピードをかなり上げてくれます。)

ちなみに、Python3系を選んだ理由は、気まぐれです。

Djangoが使える

Djangoが使えるのは、Pythonだけです。

Djangoを選んだ理由

モデルクラスからDBへの反映

これです。

Djangoは、まず、モデルありきで、DBはそれを保存する場所という認識。

DB(テーブル、スキーマ)は、モデル構造を元に作成、変更されます。

他のフレームワークでこれができるのは、見たことがありません。

逆の発想でDBを基準にモデルを構成する、「アクティブレコード」というのもありますが、DBを基準にしていながら、結局、リレーションをコーディングする必要があったりで、一貫性がなく、筆者にはあいませんでした。

立ち上がりが早かった

筆者は、ですが、学習にかかる時間が短く、簡単なアプリでもサクッと始めることができました。

この辺は、筆者と相性がよかっただけかも知れません。

試してみたフレームワーク

ここにたどり着くまでに実際に試してみたフレームワークは、以下

  • CakePHP
  • Yii
  • CodeIgniter
  • FuelPHP
  • Web2Py
  • Ruby on Rails

まとめ

以上、Django+DojoToolkitを選んだ理由でした。

「他にももっと良いのがあるよ」とか、反論的なものがあれば、コメントお願いします。

最終更新:2014/11/17 11:49
  • このエントリーをはてなブックマークに追加
  • Clip to Evernote
  • Share on Tumblr
  • Delicious

この記事に含まれるキーワード:


サイト内検索

このサイトについて

このサイトは、開発に役立つメモを公開しています。
詳しくは、こちら=>

このサイトのRSSはこちら=>

Twitter

楽天