LINE Creators Marketは、LINEアプリの中で使えるコンテンツをクリエイターの方々が作って販売するためのプラットフォームです。サービスがリリースされたのは2014年で、もうすぐ8年目を迎えます。2021年4月時点で400万人前後のクリエイターの方々が登録していて、LINE Creators Marketから販売されているコンテンツは1,000万点以上になります。
中村
開発メンバーとして在籍しているのは、フロントエンドは4名、バックエンドが5名、テストの自動化などを専門的に対応するSET(Software Engineer in Test)が1名です。フロントエンドの2名は外国籍のメンバー、バックエンドも3名が外国籍のメンバーであり、チームのうちの半数が外国籍という状況です。 技術として、フロントエンドはVue.jsとVuexを利用、サーバーサイドは基本的にPerlでコードが書かれていますが、新しく実装する部分ではKotlinが使われています。
LINE Creators Marketのフロントエンドチームで取り組んでいる課題の1つは、技術的負債の解消です。リリース当初はAngularJS等を使って実装していましたが、AngularJSのサポート終了に伴いVue.jsの採用が決まりました。2018年頃から機能開発と並行してリファクタリングを進め、現在はほぼすべてのコードベースがVue.jsに置き換えられています。また昨今ではビルド環境と開発環境の改善に取り組んでいます。
中村
最近ではパフォーマンス改善にも取り組んでおり、Core Web Vitalsのスコアを向上するための施策を進めています。具体的には、Sentryを使用してページごとのCore Web Vitalsのスコアを収集することでボトルネックを特定し、その原因を改善する作業をおこないました。これによりFID(First Input Delay)とCLS(Cumulative Layout Shift)のスコアを大きく改善することができました。
LINE STOREは昔ながらのサーバーサイドレンダリングアーキテクチャであり、フロントエンドはバックエンドと密接に結びついています。そこでコードベースをVueに移行することを検討しています。スムーズな開発プロセスを実現し、開発コストを削減することが目的です。 新しい機能を提供し、ユーザーによりよいエクスペリエンスを提供することは私たちにとって最も重要な任務の1つです。ただ、コードを書いて新しい機能を実装するだけでなく、コードベースのリファクタリング、開発フローの改善、チームの生産性向上にもチャレンジしています。
Q&A
続けて、参加者から寄せられたさまざまな質問に登壇者が回答しました。
Q:業務で必要とされる技術を教えてください。
中村
LINE Creators Marketのチームで言えば、ライブラリとして使っているVue.jsなどへの理解は必要です。パフォーマンスの改善や難しいバグへの対応といった場面では、WebブラウザーそのものやJavaScriptに関する知識が必要になってくるかと思います。さらに、問題があったときに利用しているライブラリのソースコードを見て、その原因を特定するといったことができるとよりよいでしょう。
LINE Creators Marketは歴史が長く、技術的負債も放っておくと溜まってしまうものだと思うので、継続的なアプローチでより開発環境を高めていきたいと思っています。 リファクタリングは一見するとユーザーには何も新しいものを提供しないように見えますが、この取り組みによって中長期的にユーザーに機能を提供するスピードが上がったり、質が上がったりするものなので、これからも大切にしていきたいです。