FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

スクリプト機能での各プログラミング言語のバージョンについて

f:id:mbaasdevrel:20180418153723p:plain

スクリプト機能はサーバレスで任意のコードを実行できる機能です。mBaaSでは足りていない機能を補ったり、サーバを用意せずにサーバサイドでコードを実行できます。プログラミング言語としては現在、Node.jsとRubyに対応しています。

2019年04月現在、Node.jsは10.15.0、Rubyは2.6.0が最も新しい利用可能なバージョンとなっています。双方のバージョンにおいて特筆すべき点を紹介します。

Node.js 10.15.0

Node.jsは8.0以降でasync/awaitが導入されました。これが最も大きな違いになるでしょう。9.xについてはLTSではないので重視しなくても良いでしょう。

10.5ではワーカースレッドが導入されています。恐らくスクリプト機能では使えない(別なスクリプトが呼び出せない)と思います。10.x系ではセキュリティが重視されており、OpenSSLがバージョン1.1.0になるなど、安定してNode.jsを活用する上ではバージョンアップが欠かせないでしょう。また、http2も組み込まれており、ネットワークアクセス時において役立つはずです。

なお、8.x系は2019年12月に期限切れになる予定のようです。

Ruby 2.6

細かな機能追加は多数ありますが、JITコンパイラ導入によってパフォーマンスが改善していること、to_hやsplitがブロックを渡せるようになっています。

基本的な書き方については2.5系などと変わっていませんが、より直感的にコーディングできるようになっているはずです(thenメソッドやstepのエイリアスとしての%など)。

詳細はサンプルコードでわかる!Ruby 2.6の主な新機能と変更点 - Qiitaに詳しく載っています。

まとめ

スクリプト機能はバージョンを指定できます。現時点ではNode.js 8.15.0 または 10.15.0、Ruby 2.5.3 または2.6.0を指定する形になります。latestを指定することで常に最新版を使って実行しますが、メジャーアップデートによって動作が異なる可能性もあるので適切なバージョン指定を行った方が良いでしょう。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。