@spring_raining が @potato4d に GW 中に開発した LIFF プラグインの概要と、開発してみて感じたことを聞いてみました。
LIFF
- LINE Front-End Framework
- LINE App 内で Super App として Web アプリケーションを動かすための仕組み
- LIFF は 2 つの仕組みが連携して動作している
- LINE App 本体に含まれる LIFF の表示基盤
- JavaScript ベースの LIFF SDK
LIFF Plugin
- 4 月に出たばかりの新機能
- 4/18 の LIFF v2.19.1 から LIFF Plugin システムが LIFF SDK に実装
- 4/25 にオフィシャルからサンプルともなる LIFF Plugin 2 種類がリリース
- Developer が
liff.use
という関数を通じて、 LIFF SDK に拡張機能を追加できるしくみ- 基本的にできることは JavaScript でできることと変わらない(固有の機能などはない)
liff-screenshot-plugin
- LIFF Plugin の試運転も兼ねて開発したプラグイン
LIFF.$SS.capture()
によって動作している LIFF App のスクリーンショットを撮影できる- html-to-image で DOM -> SVG -> Canvas -> 任意のフォーマットに変換
使用感
- API としては Vue 2 のプラグインシステムと非常に似通っている
- 誰でも扱いやすく、開発者・利用者ともに作る/使うにあたって問題は起きづらい印象
liff.$<plugin-name>
の形式に inject されるため、型定義は自分で拡張する必要がある- このあたりは公式のドキュメントにはないため、 liff-mock などのプラグインのソースコードを参照
- 開発者視点では、コードを読みにいかずともこのあたりが明示されていると嬉しい
- LIFF プラットフォームで広く利用できるという利点があるが、一社で多くの LIFF App を作ることは多くない
- 他の LIFF App 開発者がどういうのがあると嬉しいか。みたいなところを考える必要がありそう
Refs
- LINE 新卒採用 2023
- キャリア採用はこちらから
- BGM&SE
- 魔王魂/騒音のない世界/OtoLogic