Strutsから移行する人のためのjsf基礎
使用したスライドは以下に
html5jえんぷら部の方々から共催しませんか?という形で頂いた勉強会にて登壇してきました。
周りの方々がすごい有名所の中、私が発表してよかったのかしら?と思いつつ、皆様の役に立てれば幸いです。
最後のお願いに関してはJSFにかぎらず、少なくともJavaでリッチなウェブアプリケーションを作るときにぜひお願いしたいことです。
特にメモリの量、必要量だけでなく、余っていると性能問題が出た時にJPAのL2キャッシュを有効にしたり、その他色々な所でキャッシュとかキャッシュとかキャッシュとかを有効にすることで速度を担保することもできるのでもしものときのためにぜひ十分な量の確保をおねがいします。
メモリなんて安いですよ?
Scala VS Java
HTML5の勉強会のはずが、いつの間にかJavaかScalaかみたいな勉強会になっていました。*1
私は、JavaとScalaを比べてJavaを選ぶことにした人なのですが、Javaを選んだ人としてなぜ選んだのかについてお話させていただきたいと思います。
Scalaのバージョン間の互換性はJavaに比べると格段に低い
Javaのバージョン間の互換性の低さのため、未だにJava5とかそれ未満とか使っている方々お疲れ様です。
Scalaに関してはJavaよりも互換性が格段に低いです。
バージョンあげることによりコンパイルエラーになってしまうことも多々ございます。
例えば、sbt*2 scala エラー バージョンで検索してみて下さい。
scalaのバージョンは、sbtのバージョンは〜という形でのエラー報告がたくさんあります。
Javaのバージョン間互換性は数ある言語の中ではトップレベルに高いのですが、それですら互換性が低いと敬遠されている方々が多い昨今、これは無理だなーと思いました。
Scalaを書ける人が少ない
こちらは当日に関西でScalaを使って開発している方と空リプを飛ばし合いました。
本当にScalaを書ける人は数が少ない。
どうやって人を探してくるのか。
一人だけで開発するのであれば全然良いのだけれども、仕事でするのは辛い。
そもそも開発まではいいけれども、誰が保守をしていくのか。
Scalaを書ける人間をどうやって一定数確保する?
システム開発は5年後に保守できることを想定してするべきでは?
開発"だけ"をしている人間は忘れがちだけれども、システムは開発期間よりも運用期間のほうがずっと長いです。
システムが減価償却されるのは自社利用だと5年間の定額法が多いのかな?
一度作ると5年間は使用しなければならない。
5年間保守ができますか?
先日JINS PCでStruts2の不具合により不正に侵入されるという事件がありました。
昨今のシステムは複雑化しています。
作った時には安全でも数年後に安全でないことが判ることもあります。
Scalaについてもきちんとバージョンアップをして最新版に追従する必要があると思っています。
Javaですらできていないのに厳しい。
まとめ
Groovyのこと、忘れないで下さい。