はじめに
こんにちは。東京大学大学院情報理工学系研究科修士1年の櫻井晴基です。8月7日から6週間、LINE(現 LINEヤフー)の就業型インターンシップに参加させていただきました。
自分が配属されたのはDP2チームで、LINE Developer Productと呼ばれる、社内外の開発者がLINEアプリを中心としたLINEのエコシステムを、プラットフォームとして利用できるようなプロダクトのサーバーサイド開発を行なっているチームです。
本記事 では、自分がLINEのインターンシップになぜ参加したのかを踏まえながら、実際に業務でやったこと、それを通じて学んだことや感じたことを書いていきたいと思います。
インターンシップの参加動機
私がLINEのインターンシップに参加したいと思った理由は大きく分けて2つありました。
まず1つ目は、大規模アプリケーション開発の現場を実際に見てみたいと思ったからです。ここでの「大規模アプリケーション」とは、ユーザー数という意味でも、コード量という意味でも大規模なアプリケーションを指します。これまでいくつかの会社でインターンを経験し、Webアプリケーションのサーバーサイド開発の基礎を学んできましたが、これまで関わってきたプロジェクトは、規模としてはあまり大きくないアプリケーションが中心でした。そこで、LINEアプリとそのプラットフォームの開発の現場で、技術的な面はもちろんのこと開発の進め方なども含めて経験や知識を得ることで、より広範で深い技術力を身につけたいと思いました。
2つ目の理由としては、「エンジニア」にはどのような仕事があるのかを、業務を通じて知りたかったからです。エンジニアのキャリアの進め方として、どのようなものがあるのかを、実際のエンジニアの方の業務を見学させていただくことで、自分がどのようなエンジニアになりたいのか、またそのために何を学び、どのようなスキルを磨いていくべきなのかを考える良い機会になると思いました。
実際にインターンシップで取り組んだこと
私がインターンシップで主に取り組んだタスクは、LINEミニアプリに独自ドメインを導入するというものでした。
LIFF・LINEミニアプリとは
DP2チームで開発しているプロダクトの1つにLIFF (LINE Front-end Framework)というものがあります。これはLINEが提供するWebアプリのプラットフォームで、LIFFを使うことで、LINEのユーザーIDなどをLINEプラットフォームから取得することができ、その情報を活用したアプリケーションを開発することができます。公開されているLIFF SDKを用いて誰でもオリジナルのLIFFアプリを開発できるほか、LINE NEWSなどの多くの社内プロダクトでも使われており、LINEアプリの中では欠かすことのできない基盤のプロダクトとなっています。
LINEミニアプリはLIFFアプリのプレミアム版のようなもので、ミニアプリ専用の利用履歴一覧画面があるなど、特別な機能を保有しています。LINEプラットフォームを活用して、モバイルオーダーやデジタル会員証などのシステムを構築することが可能です。
背景と目的
LINEミニアプリはLIFFを活用して作られているため、アプリにアクセスするためのURLは https://liff.line.me/{liff_id}
という形式をとっていました。ここでの liff_id
はLIFFアプリを一意に特定するためのものであり、10桁のchannel IDと8桁の文字列によって構成されます。しかし、これにはいくつかの問題点があります。
- URLからだけでは、それが通常のLIFFアプリなのか、LINEミニアプリなのかを判別することができない
liff_id
からはそのアプリがどのようなサービスなのかを知ることができない
これらの問題を解決するため、より直感的でユーザーフレンドリーなURLスキームの導入が求められていました。具体的には、それがミニアプリであることを明確に表し、同時にそのアプリが提供するサービス内容をユーザーが理解しやすい形で表現することが目的でした。
アプローチ
そこで、今回新たに miniapp.line.me
というドメインを導入し、これによってミニアプリにアクセスすることができるようにしました。