体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

LINE清水大輔×リクルートテクノロジーズ古川陽介が語る、フロントエンドエンジニアに求める姿とは

広がるフロントエンドエンジニアの領域

──LINE社、リクルートテクノロジーズ社の2社では、「フロントエンドエンジニア」はそれぞれどんな仕事を担っているんでしょうか。

清水(LINE):サービスのランディングページやCMSなど通常のブラウザ向けのページもちろん作るんですけど、割合として多いのは LINEアプリのウェブビュー向けの開発ですね。LINEのサービスって、アプリの中でウェブビューを使ってサービスを展開するものが多いんですよ

ネイティブアプリケーションの上で動くので、ネイティブライクな動きをしないとユーザに違和感を与えてしまう。なので、JavaScriptのシングルページアプリケーションで作ったり、パフォーマンスチューニングをしたりということが多いです。

ですが、どうしても標準のウェブビューの機能だけでは良いUXを提供できない場面もあったりして、そういった場合、LINEではiOS/Androidのチームと協力してウェブビューにネイティブAPIを実装していたりします。そのためのJavaScript SDKの開発も私たちのチームで行なっています。

LINE株式会社 UIT室 副室長 清水 大輔氏

古川(リクルートテクノロジーズ):弊社でも、ウェブアプリケーションの中でネイティブみたいにぬるぬる動くシングルページアプリケーションを作ることが多いですね。

それにプラスして、サーバサイドもフロントエンドエンジニアが担当します。サーバを立てるところ、ブラウザとサーバの間にあるNginxのようなリバースプロキシ部分のチューニング、セッション管理など、BFF(Backends For Frontends)も含めてフロントエンドエンジニアの持ちものなんですよ。

エンジニアはサーバサイド・クライアントサイドという分け方ではなくて、フロントエンド・バックエンドという風に分かれてます。バックエンドエンジニアがインフラやデータを扱う部分を担当して、フロントエンドエンジニアがそのAPIを叩くような構成になっています。

株式会社リクルートテクノロジーズ ITM統括部テクノロジープラットフォーム部アプリケーションソリューショングループ グループマネジャー兼シニアソフトウェアエンジニア 古川 陽介氏

清水:うちもBFFもフロントエンドに含める方向に進んできてますね。まだ全てのプロジェクトじゃないんですけど、Node.jsでサーバを立ててそれも含めてフロントエンドエンジニアが見ているチームもあります。いろんな最適化を考えたときに、そこを一緒にやらないとコミュニケーションコストがかかり過ぎたり、結果としてうまくいかないこともある

古川:サーバサイド、クライアントサイドって分かれちゃってると大変なんですよね。クライアントサイド側だけでいろいろ実装しようとすると、何個もAPI叩かないと使えないとか、初期表示を速くしたいけどAPIをキャッシュする層があるとか、結構面倒くさくなってしまう。

なのでNode.jsやプロトコルに関する知識なんかも必要になってきますね。ただ最初からそういうスキルセットを全部持った人はなかなかいないんですけど……。

──フロントエンドエンジニアのお仕事はブラウザだけではないんですね。フロントエンドならではの難しさなどはあるんでしょうか。

古川:シングルページアプリケーションでは、ブラウザがどこまで担保するかっていう話があります。戻る・進むをした時にスクロール位置が前の表示位置にちゃんと戻るようにしたり、フォームのエンターキーを押した時にきちんと送信されるようにしたり、ブラウザのデフォルトの挙動を壊さないようにバランスを取りながら作るっていうのが結構難しいですね。

1 2 3 4 5次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。
GetNews girl / GetNews boy

オスカー2018年晴れ着撮影会