たなかこういちの開発ノート

システム開発に携わる筆者が、あれこれアウトプットするブログ

エンプラ案件において開発物の半分はJavaScriptである、という話

私は「エンタープライズシステムの受託開発」を主な生業にしていますが、最近は、対コンシューマー、対カスタマー用では無く、社内向けの業務管理システムであっても、「リッチクライアントであること」が要件になることが多くなっています。即ち、JavaScriptを駆使する必要のある案件が増えている、ということです。
 
ところで、いただくお仕事がどういう内容であるかを言い表すとき、「Java案件」、「PHP案件」、「C++案件」というように、主に用いられる開発言語で表現することがあります。最近の案件は前段に示したようにUX重視のが多く、「Java案件」、「PHP案件」といっても、言語毎の開発比重をみてみると実のところJavaScriptによる開発量が半分程度はあって、むしろ「JavaScript案件」といった方がよいと思えるものさえあります。
 
しかしそういった案件が「JavaScript案件」と表現される事はありません。たぶん、「Java案件」や「PHP案件」にて「HTMLを使います」とわざわざ言わないことの延長で言及されないのだろうと思っています。しかし、現代のJavaScriptの使われ方は、「HTMLに飾りを付ける」と言ったものではなく、「フロントエンド・アプリのロジック一式を担うもの」です。「JavaScriptのコードこそがフロントエンド・アプリの本質的機能を担う」というデザイン(設計)が増えているわけです。ちなみに実は、フロントエンド・アプリを始めから全てJavaScriptAJAXベースで実装することとすれば、ページ遷移やUI状態管理の設計が(サーバーサイドでHTMLページレンダリングする方式に比べて)むしろシンプルになる面があります。(※ただそれにはひとつ前提が必要です。)
 
私も、フロントエンドは始めから全部JavaScriptで、という設計を積極的にとることとしています。