JOB
公開日:

フリーランスのPlay frameworkエンジニア案件って稼げるの?

「Javaのスキルはあるけど今後どうしたらいいか迷っている」
そんな方向けに、今回は「Play framework」を紹介させていただきます。

昨今、Webアプリケーションの開発には、フレームワークが用いられていることが主流となっています。そのフレームワークの一つであるPlay frameworkは、JavaだけでなくScala言語でも動作することができ、発展が見込まれています。
Javaのスキルを持っているのであれば、JavaだけでなくScala言語についても合わせて学ぶことができるPlay frameworkは有効な選択肢になります。
本記事では、エンジニアとしてPlay frameworkのスキルを持っているとどんな仕事に携わっていけるかという観点で以下の項目を紹介していきます。

Play frameworkとは

Play frameworkは、サーバーサイドJavaとScalaのためのMVCフレームワークであり、開発のしやすさとメンテナンス性を重視して開発されました。公式ページを見ると、とにかく早く開発に取り掛かれる特徴があると明記されており、サムスン社リンクドイン社など世界を代表する企業からも評価されています。
実際に活用している企業からのフィードバックも記載されており、「なぜPlay frameworkを選んだのか」といった観点での意見を確認することができます。

「サーバーサイドJavaとScalaのためのMVCフレームワーク」とは何なのか。
このように紹介されても、それぞれの単語の意味が分からないと理解ができない方もいらっしゃると思います。まずはそれぞれの単語の概要について見ていきましょう。

サーバーサイドJava

サーバーサイドJavaとは「サーバー側で動くJavaプログラム」です。
ちなみにJavaにはユーザー(クライアント)側で動くプログラムもあります。サーバーサイドでプログラムを動かす理由としては、「クライアント側の負荷を抑える」「ソースやプログラム構造の秘匿といったセキュリティ面」などが挙げられます。

Scala

「Scala」はTwitterやリンクドインなどのサービスで利用されており、2013年は日本で初めてScalaに特化した大規模なカンファレンスが開かれたり、さまざまな情報媒体で取り上げられていました。そんな「Scala」は、オブジェクト指向と関数型プログラミングの両方を扱う言語になります。

ScalaとJavaには以下の関係性があります。

  • Javaのライブラリのほとんどをシームレスに利用可能
  • JVM(Java Virtual Machine)上で動作可能

そのため、ScalaはJavaの後継として認知されています。

JVMとは、Javaで記述したソースコードをパソコンで読みとってもらうための通訳機能です。
Javaで記述されたソースコードはJVMで処理され、JVMがMac、Windows、Linuxなど様々なOSとやり取りしてくれます。そのため、JVMを使用すればコンピューターの規格を考慮せずJavaのシステムを動作させることができます。
ScalaはこのJVM上で動かす事ができるため、OSを気にしたプログラミング処理を行う必要がありません。誕生から20年以上蓄積されてきたJavaの膨大なライブラリを好きに使用出来る点を見ても、他の言語と比較しても大きな有用性が有ります。

フレームワーク

フレームワークとは、アプリ開発をする際に、開発の効率を上げるために便利な機能が凝縮されたツールです。昨今のWebアプリケーションの開発において、フレームワークを使用することが主流となっています。なぜフレームワークを使用するかというと

  • ルールが決まっていてチーム開発に適している。
  • よく使われる機能はすでに基盤がありシステム開発期間の短縮が可能。

などといった、チーム内での作業の負荷分散が可能になる点からです。短期開発を想定した生産性向上が行えるメリットがあり、システム開発をする企業も積極的に導入していす。

MVC

MVCとは「Model View Controller」の略称です。データの処理や管理を行う「Model」、Web画面上に表示を行う「View」、ユーザーからの入力を受け取りModelとViewに命令する「Controller」という概念で構成されています。各ブロックに分け、開発における役割を明確にすることで、以下の利点があります。

  • デザイナー(View担当)エンジニア(Model担当)の作業を明確化することで、対立を少なくできる。
  • Viewからの細かい命令を受け取るControllerを用意することで、Modelの負担を軽減して処理の簡略化が行える。

このMVCの概念はWebアプリケーションを触れていく上で重要や考え方となります。また他のフレームワークでも使われています。

エンジニアがシステム開発に取り組む上で、仕様には提示されないけれど必ず作る共通機…
続きを読む
本記事は、JavaScriptの勉強を始めようと思っている方や、既に使ったことが…
続きを読む

Play frameworkの案件の内容とは

Play frameworkの案件には、どのようなものがあるのかを見ていきましょう。
実際に案件を調べてみると、広告、受付管理、リアルタイムコミュニケーション、集計、計測処理といったWebアプリケーション開発が主体です。

必要なスキルを見ていくと、Javaの経験年数が主に見られています。これは他のJavaフレームワークの案件に関しても同じですが、どのフレームワークを扱えるかよりもどの程度Javaを使った経験年数があるのかが重視されています。
案件の種類としては、新規開発のものが多いために今後は機能維持としての案件も増えていくと考えられます。

具体的な案件内容について、お知りになりたい方は無料の会員登録の上、お問合せください。

Play frameworkエンジニアの単価相場は?

Play frameworkの単価は、平均的に60~80万円程度の案件が多いです。
他のJavaフレームワークと比較しても大きく変わりません。表面上の単価の良し悪しはどれだけJavaでの開発経験を積んでいるか、どのフレームワークを扱えるかまでを、明示している案件は多くありません。そのため、どのフレームワークで経験を積んでいくのかに関して好みで決めてしまっているエンジニアもいますが、案件参画する時には、どのフレームワークでどの程度のスキルや経験があるかは必ず確認されますので、注意してください。

Play frameworkはScalaを用いた言語です。Scalaの単価は平均的に80~90万以上の案件が多くあります。
より単価の高い案件を受けたいと考えている方にとっては、Play frameworkを通してScalaを学ぶことも有効な選択肢になります。

Play framework案件のエンジニアとしての将来性は?

Play frameworkは将来的に使用する企業が増加する見込みのあるフレームワークです。
既存で動いているWebアプリケーションには、Javaフレームワークとして「Seasar」と「Struts」で構築されたものが相当数あります。ただ、「Seasar」「Struts1系」どちらのフレームワークもすでに開発が終了しています。
それらで作られたシステムはいまだに現役で稼働しているものが多く、移行先を選定しなければいけない時期が迫ってきています。その移行先として名前が挙がるものとして、Play Frameworkがあります。理由は簡単で、今まで企業として培ったJavaの経験をそのまま流用することができるためです。

また、Scala言語であることにも注目です。現在のところScalaで開発できるフレームワークの中でも、機能が充実しています。そのため、JavaだけでなくScalaの開発にも応用できることからPlay frameworkが活用される見込みがあります。

まとめ

Play frameworkの案件は現在のところ新規案件の受注が多く、今後はそれら案件の内容が機能維持に移行することが見込まれます。そのため、案件数は増加していくことが期待できます。

またJavaだけでなくScala言語での開発も可能なため、魅力的なフレームワークです。
単価の紹介で少し触れていますが、Scalaの平均単価はJavaに比べて約10~25万程度高いです。これは、Scala言語の技術者が未だ少ないことが挙げられます。

ScalaはJavaとの互換性を持ち関数型言語やスクリプト言語の特性を併せ持ったハイブリッド言語です。日本においてはまだ需要が少ないですが、IT企業やメディア系企業を中心に需要が高まってきています。
そんなScala言語を使用できる機会も合わせ持っているPlay frameworkを活用してみてはいかがでしょうか。

現在のスキルが活かせる案件はもちろん、今後のキャリアにつながる案件もお探しします。
まずは会員登録の上、ご相談ください。

おすすめ案件

関連タグ

フリーランスエンジニアの案件をお探しします!
上記案件のほか、非公開の案件も多数あります