Frameworkについて思う事
Frameworkと言えば、昔strutsというJavaのWebシステムのフレームワークをちょっとだけやった事を思い出しました。前回のFramework絡みにちなんで、今回はWebシステムのフレームワークについて思う事を書こうかなと。
考えてみれば、Webシステムの仕事はJavaでしかやった事はなく、またJavaの仕事はすべてWebシステムの開発でした。strutsは確か設定を沢山しなければならず、ちょっとでも設定ファイルの内容が間違っていると、
NullPointerException
こう書かれた画面が出てくるのです(ーー:)。strutsをやっていた時の1日の半分はこの文字を見ていた気がします。沢山設定を要求するのに、エラーをすべてヌルポで済ませようとする自己中なフレームワークでした。strutsを使っているとURLが「××.do」という名前になるのですぐ分かるんですが、最近は全然見かけない気がしますが。。
次にSpringというフレームワークを使った仕事をやりました。これはフェイズ2からの参加でしたので、もう枠組みは出来ていて特にこの辺りをいじる必要はなかったのですが、仕組みを覚えたくて仕事の合間にソースを解析して勉強してました。その時は「ふむふむ、ふむふむ。なるほど、なるほど。」と仕組みが分かったのですが、もう100%忘れました。その時感じた感想だけ覚えていて「こんなに手順を踏まないといけないの?」です。
Web開発に用いられる言語は思いつくだけで、Java、PHP、Python、Ruby フロントエンドでJavaScript、CSSと思い浮かびますが、それぞれのフレームワークをざっと調べると、
- Java (Struts、JSF、Spring、SAStruts、PlayFramework、ApacheWicket、Dropwizard、ZK、Ninja、Spark )
- PHP(Laravel、CakePHP、Symfony、CodeIgniter、ZendFramework、Phalcon、Slim、Yii、FuelPHP、Flight )
- Python (Django、Bottle、Flask、Tornado、CherryPy、Pyramid、TurboGears、Pylons、Web2py、Sanic、Dash)
- Ruby(Ruby on Rails、Ramaze、Sinatra、cuba、 microframework、HANAMI、Padrino、Camping)
- JavaScript (jQuery、React、Angular、AngularJS、Vue、Backbone.js、Riot.js、Knockout.js、Ember.js、Hyperapp)
- CSS (BootStrap、Foundation、UIKit・・・・)
こんなにあるんですね。眩暈がしそうです(ーー:)。CSSはフレームワーク30選とかでてきたので、書くのやめます。。。検索しているとお勧めフレームワーク10選とか出てきますが、お勧め10選って、、、1個使うのにいったいどれだけハマるんだろうか・・・。フレームワークの謳い文句は、軽量とか自由度が高いとか高速とか書いてますが、ハマりにくいフレームワークランキング10選とか書いたらプログラマーが飛びつくんじゃないですかね(笑)
これだけ技術が散漫してくると、システムって多額の費用を使って開発するので、10年、20年は使いますよね。引継ぎに技術者を探すだけでも大変になるんじゃ・・・と思うのは私だけでしょうか。。。