strutsって何?
javaの入門書や研修を終え、
現場に配属され開発リーダーから
なんて聞いて混乱している人向けに解説してみたいと思います。
strtusとはjavaの『型』の一つ

strutsとは
javaでWEBアプリケーション開発するためのフレームワークの1つ
です。
『フレームワーク』とは『型』みたいなものだと思ってください。
武道でもスポーツでも『型』が存在すると思います。
その型通りに練習すれば様々な場面に対応できるようになり上達します。
プログラム開発にも同じことが言えます。
その『型』を学んで自分のものにすることができれば
開発の生産性が上がったり
品質が上がったりします。
また他のフレームワークを学ぶ際に学びやすくなり、複数の現場で活躍できるようになります。
strutsはjavaのWEBアプリケーション開発でたくさんある型の中の1つです。

WEBアプリケーション開発って何?
フレームワークってなに?
という方は以下の記事を参考にしてみてください
strutsは古い?流行おくれ?

たくさんあるフレームワークの中で
strutsはjava界隈に置いてどんな位置づけなのでしょう?
2005年頃は大流行し、様々な企業にStrtusが入っていました。
しかし、次々と優秀なフレームワークは登場していき、現在は
『枯れたフレームワーク』
と呼ばれております。
2013年4月にはサポート終了しており、その後も新たな脆弱性が見つかっています。
キャッチコピーをつけるとなれば、
『昔は王道だったが廃れてしまった型』
でしょうか。
なので
という企業はない
と思ってください。
今更学ぶ必要ある?
ではStrutsを学ぶことは無意味なのでしょうか?
私は意味があると思っています。
以下2点、メリットを説明します。
- 既に多くの企業に採用されている
- 技術的にも貴重
既に多くの企業に採用されている
strutsは20年くらい前は大流行していたので、多くの企業に採用されています。
また、
今でもstrutsはを採用している企業は多くあります。
と思われると思いますが、確かにそうなのですが現実は、大人の事情でそう簡単にシステムは切り替わらないのです。
脆弱性が見つかっているので危険ですが、仮に新しいフレームワークに乗り換えても100%安全というわけではないのです。
他のフレームワークに乗り換えるのも大きなリスクがあるので、多くの企業で安定して稼働している実績のある『Struts』から乗り換えるのは非常に難しいです。
よって、『乗り換えをしない』という判断を下す企業は少なくありません。
なので、新しくStrutsを採用する企業は皆無ですが、既に入っている企業での保守案件などで活躍することができます。
また、さらにいざ乗り換えるときはStrutsを知っている技術者が必要となります。
そのようなマイグレーション案件Strutsの知識が効いてきます。
Strutsは保守案件やマイグレーション案件に有利
技術的には貴重かも

strutsは経営者目線では脆弱性があり、サポートが終了しているので評価は低い(というか論外)ですが
技術者目線では
初心者でstrutsを学ぶのは『アリ』かもしれません。
なぜならば、
『javaのフレームワークの基礎が学べる』
からです。
何度も言っていますが、昔は大流行したフレームワークです。
strutsのおかげで、javaでのWEBアプリケーション開発が技術者に認知されるようになってきたという歴史もあります。
strutsは絶頂期には
『JavaWebフレームワークのデフォルトスタンダード』
と呼ばれているほどのフレームワークです。
言い換えれば
『javaフレームワークと言えばstruts!』
という時期もあったということです。
そこから時が経ち
これをベースに様々なフレームワークが開発されていった経緯があるので、
『最初にstrutsを学ぶ』という事はJavaweb開発の歴史を学ぶと同時に、基礎を学ぶことができます。
また、strrutsは『MVCモデル』というデザインパターンで構成されています。
この『MVCモデル』については他のフレームワークでも採用されているので、strutsを学ぶことにより『MVCモデル』を理解することができ
他のフレームワークを習得する際には非常に役に立ちます。
WEBアプリケーション開発の基礎を学べる
最後に
ここではstrutsの概要について説明しました。
『流行っていないフレームワーク』
とは言え、見方を変えれば宝の山かもしれません。
5年、10年勉強するものではないですが、
『1カ月』
など期間を決めて1個プログラム作って理解しておけば今後のプログラライフも良い方向に進んでいくと思います。