TABI LABOが採用している3つの開発言語

こんにちは。TABI LABOの”先生”こと安齋です。

本記事は、サンフランシスコ出身のiOSエンジニア、「Malachi (マーくん)」が書いたTABI LABOが採用している技術についての記事の翻訳版です。

元記事リンク(英語版): A language of innovation

 

(以下翻訳記事)

“Technology can be overwhelming.” 

毎日あっという間に進化していくテクノロジーの数々を横目に、私たちはどこか置いてきぼりになったような感覚になることさえあるでしょう。

私たち開発者は、常に最新のテクノロジーを用いた開発をしたいと考えています。

最新のテクノロジーを使う事で、例えば機械学習や人工知能(AI)、拡張現実(AR)/仮想現実(VR)といった最先端の領域を含めたソリューションを提供することが可能になるからです。

しかしその一方で、開発者が貴重な時間を投資していく技術は、すぐに廃れてしまう技術ではなく、長く安定していくだろう技術を慎重に選んでいく必要もあります。

TABI LABO の開発チームは、そんな真反対の条件が合致するような妥協点を見つけるために、最大限の努力をしています。

 

この記事では、私たちTABI LABOが、今後さらに飛躍していくために採用している、3つの開発言語を紹介します。

Swift

Swift は、iOSプラットフォームでのモバイル開発言語として、2014年にAppleによってリリースされました。

Swiftのリリースは、テック業界を震撼させるほどのインパクトがありました。

企業価値が世界で最も高い会社の1つであるAppleは、Swiftの開発に膨大な投資をおこなってきました。

TABI LABOがリリースしているiOSアプリSwiftを用いて開発され、言語の成長とともに機能を拡張していく予定です。

Kotlin

KotlinJetbrains によって開発された、Androidアプリの開発言語です。

2017年、GoogleAndroidアプリ開発にあたってKotlinを公式開発言語の一つに選定しました。

これは、2014年にAppleSwiftを開発したときのようなインパクトがあり、本格的に開発者たちがこの新しい言語での開発に、多くの時間を投入するきっかけとなったのです。

現在開発中であるTABI LABO のAndroidアプリには、Kotlinが用いられています。

Go(Golang)

2009年にGoogle によって開発されたGoは、TABI LABOが採用しているモダンな言語の中では、比較的”古い”言語です。

イノベーションは、ただ単に、「最新のテクノロジーを取り入れること」や、「最先端のソリューションを作り上げること」だけではなく、「いかにして今ある基盤を改善するか」でもあります。

TABI LABOは2017年末から2018年にかけて、メディアのバックエンドの肝であるCMS(コンテンツ管理システム)を、AWSでRailsアプリを動かしていた構成からGAE/Goにリプレースしました。(*詳細はこちら

Goは、Ruby と比較すると静的型付け、明示的キャスト、実行時にビルドが必要、シュガーシンタックスが少ないなどの特徴もありますが、Webアプリのサーバーサイド言語としての役割はRubyと同じです。

 

「なぜすでに問題なく稼働しているものをわざわざリプレースするのか?」と疑問に思う方もいるでしょう。

Goは、「コンパイルの速さ」や「実行時のパフォーマンスの良さ」といった点から、開発コストを抑えることができます。

それに加えて、AWSからGAEにリプレースすることでインスタンス料金も抑えられ、このリプレースによって最大で50%のコストを削減できたのです。(参考:Railsで作られた社内システムをGAE/Goでリプレースした所感

 

繰り返しになりますが、イノベーションはただ新しいキラキラした技術を取り入れるだけではなく、今現在の状態を改善していくことです。

その点で、Goはまさにイノベーションを体現したものであると言っても過言では無いでしょう。

 

以上が、TABI LABOが採用している3つの開発言語です。

この革新的なテクノロジーを元に、私たちは時代のムーブメントを創る、SPARK A MOVEMENT”となっていくことを目指しています。

 

Ma-kun | Senior Mobile Software Engineer

TABI LABO