技術選定でThymeleafを選定する理由はなんでしょうか?
解決したいこと
興味本位での質問になります。
技術選定をされたことがある方、宜しければ教えて下さい。
現在、ある官庁系のシステム開発をスクラッチで現在行っております。(規模大きめ)
サーバはJava(Spring Boot)、フロントはThymeleaf、Vanilla JSを利用しております。
開発にthymeleafを使用すると聞いたときから嫌な予感はしていたのですが、
案の定、
● 各機能で共通して使用するコンポーネントに原因不明のバグやエラーが起きる
● JSも絡めて動的に画面の値を変更する必要もあり、処理やソースが複雑化する
といったことが起き、結果遅延が生じ、開発全体で苦労しているような印象です。
ただ、もし私が技術選定をする身だとしたら、Thymeleafは選定しなかったと思います。理由は以下のとおりです。
● 開発規模の大きさ
● スクラッチ開発であり、コーディングに関する細かいルールや規約ができていない
● そもそもThymeleafがバグの原因を特定しづらい
● 機能の多さ、複雑さ
※使用言語は要件定義中に確定したため、開発規模の大きさ、機能に関することは判断できた状況です。
上記のような理由から、
コーディングに細かいルールが決まっていないと実装に個人差が出過ぎてしまう、
規模が大きいと各チーム間でのコミュニケーションも密には取りづらい、
そのような状況でかつ機能が多く、複雑だとバグを特定することがより困難になる、
JSが絡むとより悪くなるので、
便利ではあるけど納期に影響が出やすいのでは?と感じておりました。
正直私がthymeleafを嫌っているということもあるのですが、
1チーム少数精鋭、数名での開発ならまだしも、大規模でのThymeleafを選定するという理由があまりわかりません...。
(少数精鋭ならチーム間のコミュニケーションで開発の統一はある程度保てるのかなと。)
実際に技術選定をしたことがなく、色々と見えていない部分も多いので、
かなり偏った意見になってるかと思います。
ただ私もいずれはそのような仕事をしてみたいため、好き嫌いで選定はしたくないと思っております、
直接現場の技術選定者に伺うことはできないので、宜しければ、
・Thymeleafを選定するメリット、
・他の言語ではなくThymeleafを選定する理由、
・その他どのような観点で技術選定をするのか
みたいなものがあれば、ご教示いただけますと幸いです。
よろしくお願いいたします。