ScalaJS + PlayFrameworkでチャットを実装した話

 

こんにちは、Webフロントエンドエンジニアの奥山です。

世間のWebフロントの開発ではJavascriptがよく使われていますが、プロトタイプベース・動的型付けなのでとても柔軟に書けて、高速な開発ができるというメリットがある反面、人によるコードの差異が大きく、バグを生みやすい、メンテナンス性が低いといったデメリットに悩まされることが多いと思います。

Scalaはクラスベース・静的片付けの関数型言語なのでバグを生みづらく、またIDEのサポートが充実しているのでリファクタリングも効率良く行えてメンテナンス性が高いので、Scala.jsを使ってJavascriptに潜むデメリットを解決できるかもしれません。

今回は、プロジェクトへの導入の検討を兼ねて、Scalaのみで簡単なチャットが出来るWebアプリケーションを作る過程を通してメリット・デメリットを探ってみました。

それでは、主にScala.jsのメリットやデメリット、どんなプロジェクトに導入できそうかについて書いていきたいと思います。

続きを読む “ScalaJS + PlayFrameworkでチャットを実装した話”


EVOKEを支える大人数同時参加型クイズシステム開発 前編

アプリボットには独自の社内文化がたくさんあり、特に、半期に一度開催される「アプリボット総会」は全スタッフが参加する大規模なイベントです。今回からは各プロジェクトのプロデューサーによるプレゼンなどを行う新しい会として生まれ変わり、「EVOKE」と名付けられました。

EVOKEでは1部2部にプレゼンや表彰などが行われ、3部では新卒主導で労いを込めた打ち上げイベントを行います。

今回は、2017年10月に行われたEVOKE3部の内容および、そこで使用した技術を紹介します。

前半のこの記事では、開発したシステムの概要や開発手法などについて紹介をします。

続きを読む “EVOKEを支える大人数同時参加型クイズシステム開発 前編”


ブラウザゲーム開発に使えるJavaScript製物理エンジンp2.jsを使ってみる

こんにちは。フロントエンドエンジニアの鈴木です。

最近は、「楽天ゲームズ」や「Yahoo!ゲーム ゲームプラス」といったブラウザでできるゲームプラットフォームが多く出てきている印象があります。これはWebGLなどのテクノロジーに対応するブラウザが増えてきたことと、デバイスの性能が上がってきて実行環境が整ってきていることなどが、要因のひとつかと思います。

ブラウザでも、offline対応やpush通知などができるServiceWorkerといったテクノロジーなどを利用していけば、ブラウザベースとネイティブとの差がどんどん縮まって行くと思いますので、今後のブラウザベースゲームの動向が気になるところです。

 

今回はそんなブラウザベースでゲーム開発をする上で使用することができる、p2.jsというJavaScript製 2D physicsエンジンを使ってみたいと思います。

続きを読む “ブラウザゲーム開発に使えるJavaScript製物理エンジンp2.jsを使ってみる”