音声書き起こし
1. オープニング
Guest
こんにちは、
Guest
こんにちは、こんにちは、
Guest
今週のitサイドを始めたいと思います。テンサイドは、ユーザーインターフェイスと、テクノロジーを愛する
Guest
開発者のためのポドキャストです。最新のウェブ標準の動向や、フレームワークの変遷、あと、また
Guest
uiやuxに関することまで、毎週プロントエンドの情報を発音ゲームしていくことを目的としています。
Guest
ハッシュタグはUIT、アンダースコアインサイド。ご意見に合うご感想をいつでもお待ちしております。今回は
Guest
私、アランとともにのりピーさんとおょうさんをゲストにシャドドーンについて話したいと思います。
Guest
のりぴさん、ひょうさん、よろしくお願いします
Guest
よろしくお願いしま
Guest
よろしくお願いします。
2. ゲストの紹介
Guest
ではではえ、今回まあ特別あのUITではないメンバーの
Guest
のりピーさんにゲストとして来てもらっているので、初めてだと思うので、ちょっと軽めに自己紹介をお願いできますか。
Guest
はいえ、たかのりピーと言います
Guest
普段はuiデザイナーとフロントエンドのエンジニアとして働いています。で、ウェブプラットフォーム、
Guest
スタディグループ、wpsgというコミュニティのオーガナイザーもしていても、youtubeでポットキャストの更新とかをしています。
Guest
今回はよろしくお願いいたします、
Guest
はい、よろしくお願いします
Guest
よろしくお願いします。
3. Shadow DOM とは?
Guest
ではではま、今回え、主にシャドードームっていうことについて話す予定なのですけど、まあ、多分視聴者
Guest
の方にはえーま、シャドードームについてま。知らない人もいると思うので、まー、凄く軽く紹介しようと思います。
Guest
と、シャドードームはま、webの標準仕様のあの、まあ1つで
Guest
ワイフコンポーネンツの標準仕様の一部でもあります。ま、基本的に何のためにやるかっていうと、えーま、ウェブでの
Guest
あのスコープスタイルをまちゃんと実現するためのえ、APIとなっていて、で、
Guest
まあ、ちょっとそのどういう風に働くか説明するとま、ポドキャストじゃ足りないっていうこともあるので、あの、
Guest
場所ノートにあの、その説明をか。あの、詳しく書いてる記事を何個か用意しますので、興味のある方はそちらを参考にしてください。
Guest
一応、そのシャドードームを使えばま設計次第で、あの、なんかちゃんとスコープが効く部分と
Guest
ま、外からのカスタマイズが効く部分の指定とか。あの、色々なま様々なことができるんですけど、え、
Guest
このシャドードームは、今時だとま全部のボタンブラウザーに使えるようになっていて、まあ、もうすぐに
Guest
まウェブコンポーネンツとも。まあ、クロム曰く、なんか、10パーセントぐらいのページロードに使われているとかっていう話もあります。
Guest
さて、まあ、そのシャドードームについて、今回は主にあの
Guest
どういう風に使えるとかについて話したいと思いますけど。え、まずまのりぴさんから、ちょっと
4. 埋め込みウィジェットとしての Shadow DOM
Guest
あの、自分が今まで見てきた中で、あのシャムがこういう風に使うといいとかっていうものはありますか。
Guest
ああ、こういう風に使うといいそうですねま、シャドードーム色々使い方あると思いますけど、最近
Guest
ポリマー。あ、僕、プリマプロジェクトのjapanコミュニティを以前応援してたんですけど、ポリマーのtwitterで、シェアされていたregoの
Guest
ウェブコンポーネンツ、カスタムエレメントがまシェアされてて、これ3dモデルをま読み込む。コンポーネントなんですけど、
Guest
ま、こういうなんて言うんですかね。ま、ブラウザにちょっとこう雪の追加したいんだけど、ま、自前で
Guest
作るのはめんどくさいし、でも、なんか色々鑑賞したらめんどくさいなみたいなやつをま。1個ポンとシャドードームで実現できるのは結構
Guest
便利かなというのは思いますね。
Guest
ああ、そうですね、自分もそれを見ました。
Guest
あれ、結構なんかそのレゴト中のなんか、ファイルフォーマットを渡すだけで、もう完全になんか3dのシーンを用意してくれて、すごいなって思ってましたね。
Guest
ですね、ま、昔なんかこれと似たようなやつで、ブレンダーのファイルかなんかを渡すと、もうそれもその360度のなんか
Guest
やつをレンダリングしてくれるコンポネントとかもあったんですけど、そういうのは結構便利だし、まあ、結構使い道あるなと思いますね。
Guest
そうですね、多分のりぴさんが言ってるのは、モデルビアだだと思いますね。あ、そうです、そうですそうです
Guest
確かなんかgotfとかっていうファイルをま、モデルファイルを読み込む。まあ、さっきの多分。なんか、さっきのレゴのやつは、それを内部に使ってるとかっていうことだと思うんですよね。
Guest
ま、関連性が高そうな気がします
Guest
ですね、どちらもポリマーラボの配下で作られてるので、
Guest
そうですね。なんか、ああいうものをまあ、ポンポンと入れられるようなんですよね。
Guest
そうですね、やっぱりなんか、外部のライブやリとか使う時に、結構そのスタイルの鑑賞だったりとか。
Guest
ま、ジェイク、エリプラグインカの時はちょっとあったと思うんですけど、カルセルのそのプラグに入れたら、既存のスタイルと鑑賞して、
Guest
うまく動かないとか。逆に、プラグイン側のシーがその汚染してきて、みたいなことはあったと思うんですけど。
Guest
ま、シャドードーム使うと、その辺がまあクリーンになるので、そういう外部の便利なツールみたいなのを、こう使いやすくなるのは、すごく
Guest
まいいかなと思いますよね。
Guest
そうですね、確かに結構そのそういう外部の
Guest
LINEとかを入れると、なんかどうしてもそのcss。なんか、グローバルのcssが
Guest
干渉し合ってて、なんかボタンとかっていうクラスがなんか色々なところに汚染されてて、すごいことになることは多いんですよね。
Guest
そうですね、
Guest
ま、ある意味それが陰方担当地獄の原因でもあったんですよね。
Guest
そうですね、それを何か防止する為に、めちゃくちゃイポたんと使うみたいなのはありますね。
Guest
はい、ちなみにょさん的にはあのどう思いますかね。こういう、あの外ブライブラリを入れる
5. Shadow DOM の CSS-in-JS Framework としての使い道
Guest
っていう概念とかを。
Guest
うん、そうですね。ここで、まあ、ウィジェットとして、リアクトとかじゃなくて、ウェブコンポーネンツを使うのは、
Guest
やっぱりサイズとかが小さくなるからなんですかね。
Guest
あ、そのような気はしますね
Guest
まあ、多分それも原因の1つではあると思うんですけど、多分まあ
Guest
それ以外に。あの、まあ、コンポーネンツで作ると、まあヤト以外のあの
Guest
まプレームワークでも使えるようになるから、まあ、ある意味なんか、
Guest
なんか、クライアントがなんか、リアクトのエコシステムだけじゃなくて、他のまあ、全体的のjsのエコシステムになるっていうところがまあ
Guest
いいと思いますね。
Guest
うんうん、うん、うん、なんか、個人的にはその埋め込むだけなら、必ずしもウェブコンポーネンツとか、
Guest
カスタムエレメントじゃなくても、まあできるんじゃないかなとはちょっと思うんですよね。
Guest
関数を呼び出したら、このエレベントの下にウィジェットがマウントされますよ。とか、
Guest
うん、うん、うん、
Guest
そう、インターフェースでもよくて、なんて言うんでしょうね。まェブコンポーネンツっていうと、なんかコンポーネントって名前がついてるから、
Guest
あ、コンポーネントを作るために使うんだなっていう風にちょっと思いますけど、個人的にはもうちょっと別の使い方もあるかなって、
Guest
最近少し考えています。
Guest
まあ、それは確かにありますね、一応その
Guest
まあせなんだろう。イントロに。あのま、シャドードームは、ウェスクポーネスの一部っていうところは、まあ行ったものの
Guest
ま、実際にあのシャドードームを使うには、ウェブコンポーネント使わないといけないっていうのも別になくて。あの、
Guest
どのそのノード。あの、エメレレメントなら、なんかデブとかをあのシャドードームの
Guest
なんかベースにして、そこからシャドーダムの木構造を始められると思うので。まあ、
Guest
そこはおおさんの言う通り、別にコンポーネントでなくても、でも、ある意味なんか、そういうcssの
Guest
ま汚染を抑えられるようなものをま考えて、やはりなんかコンポーネントにしなくても、
Guest
なんかそこをシャドードムのルートにすることで、まあ得られるものはあると思います。
Guest
なるほど、なるほど、だから、個人的にはなんか全部
Guest
コンポーネントを丸ごと作るんじゃなくて、リアクトのアプリの中で、ちょっとシャドードを使うとか、
Guest
そういうのはうまくいかないかなって、最近ちょっと考えてます。
Guest
そうですね、なんか、そこを中心に最近作っても作ってるプロジェクトはありますよね。おひさんは
Guest
あ、よくご存じですね、
Guest
ちょっとそれについて詳しく聞かせてください。
Guest
あ、わかりましたそう、リアクトコンポーネントを作るときに、なんでしょう。
Guest
リアクトって、cssイェースの。なんか、唯一会みたいなのが今のところない気がするんですよね。
Guest
絶対これっていうcssインジェースの方法があんまりなくて、そこで、うん、そこで
Guest
なんでしょう。シャドードームを使った、cssインジェースっていうのができればいいんじゃないかなと思って。
Guest
そういう風に作ったのがカステラっていうライブラリなんです。ま、簡単ですね、そう、cssの部分と、htmlの部分
Guest
を合わせると、カステラーコンポーネントになって、cssの部分は、シャドードームの中のまスタイル要素に
Guest
mlの部分もシャドードームの中のhtmlに入るんです。
Guest
で、外から受け取ったやつを使いたいときは、シャドー道具の中にスロットを書いておくんですね。なんで
Guest
こうすると、cssをすごく自然に書くだけで、自動的にシャドードームの中に入るので、他とも鑑賞がしないという
Guest
なんでしょう。シェスの役割みたいなのを、ちゃんと果たせるようになっています。
Guest
そうですね、それはとてもなんかいい考えだと思います。なんか、自分もその前にちょうど
Guest
確か去年のこの時期ぐらいに、え、
Guest
あの、なんか、ビーjaのコアチームがなんかLINEに遊びに来たっていうあの
Guest
こともあって、そのポルカストとかで、あの、自分の方から、あのビル内のスコープcssをシャドードームにして、
Guest
あの色々それをちゃんと生かせるんじゃないかな。って聞いたら、なんか、ビーのチームはまあ、
Guest
ちょっとそれ、あんまり今やれ。やりたくはないとかっていう回答だったんですけど、なんかまさにその時からなんだろう。個人的には、その
Guest
別に、あのウェポンポネはそのレンバーグと戦ってるわけではなく、ま、標準だから、どこも恩恵を受けられると思うので。
Guest
ま。そういうふうに、なんか今、右ょさんがやってるみたいに、そのフレームワークに、そういうウェブコンポーネンツの概念を入れて、それを活かして、ちゃんと
Guest
ま。この場合は、ちゃんとちゃんとしたスコープをあの得られるっていうところはすごくいいと思います。
Guest
そう、私もやっぱりシャドードームのカスタムエレメンツも、なんかドムの一部なんだよっていう思いが強いですね。とっても
Guest
ドムの一部だから、まあ、フレームワークからでもどんどん使えるっていうことですね。
Guest
そうですね、
6. Micro Frontend は Shadow DOM で実現できる?
Guest
それで言えば、あのま、最近結構
Guest
そのマイクロフロントエンドとかがすごい。あの、最近話題になってきてると思うんですけど、
Guest
なんかそういう課題とか、なんか、別々のチームが別々のプレームワークで作ったものをいきなり混ぜるとか。っていうことを、
Guest
なんかそれぞれのアプリが、まあ、1個のシャドードームのルートだったら、もうスタイルを線なしでこう
Guest
簡単に取り入れられるんじゃないかっていうのをちょっと個人的に思ってて、
Guest
うん、2人ともなんかそれについてどう思うか、ちょっと聞きたいです。
Guest
うん、
Guest
そうだから、僕はそれは結構まあいいんじゃないかなと思いつつもま。同じ
Guest
アプリケーションの中でま、複数のライブラリーとかっていうと、結構ま、あとぴしがないというか、一般の人にはあんまり想像できないのかなと思ったりも
Guest
しますね。まなんですけど、ま、例えば、あのアンギュラージェースから、今のアンギュラー
Guest
にこうアップデートするみたいな。破壊的変更のあるフレームワークのアップデートする時にま、カスタムリメントとか、シャドードームとかを使って
Guest
ま。一部その新しいフレームワークに置き換えていくみたいなのは、結構いいんじゃないか、みたいな話を誰だっけな、
Guest
誰かとします。あらこさんかな、ゲラjpのらこさんとかとした記憶ありますね。
Guest
なるほど、まあ確かにそういうなんだろ。マイグレーションとかに、こういうのを使うと
Guest
ま色々やりやすくなるんですよね。
Guest
そうですね、僕はまだそういうのをやったま。実務で投入した経験はそこまでないんですけど、
Guest
でも、そういう風にやると結構やりやすいんじゃないかなっていうのは、常々思ったりはしてますね。
Guest
なんか、リアクトの17で、あの古いバージョンのリアクトが共存できるようになるみたいな機能が入るの、なんか知ってますか。
Guest
あ、聞いたことがあります
Guest
なんか、誰さとくかながシェアしてたんですけど、まあれ
Guest
ま。あれはパッケージドット、jasonを2つ用意してま。バンドル分けるみたいなやり方で対応してたんですけど、まャドードムを使えば、もうちょっとその
Guest
パッケージ、ドット、ジェイソンを複数用意したりとか。バンドルで頑張らなくても、まあ、割とちゃんと共存させることできるんじゃないかなと思ったりは
Guest
してますね。ま、ちょっと試してみたいなと思いつつ、まだ機会がないって感じなんですけど、
Guest
まあ、そうですね、そういうマイクロフロントエンドは結構なんか
Guest
ある。ある程度、なんか、人数のあるチームでないと、なかなかそもそも使い道がないような設計でもあるので、
Guest
まあまあ
Guest
そうですね、
Guest
なお医者さんとかはどうですか。
Guest
そうですね、まあ、シャドードームの1番の強みは、やっぱ他と干渉しないっていうことなんですけど。
Guest
うん、結構やっぱビューとか、リアクトのフレームワークって、常にあんまり他と干渉しないんじゃないかなっていう気は、
Guest
正直なところしていますね。
Guest
うん、うん、
Guest
だから、やっぱり外に何があるかわかんない時に、シャドードームで包むっていうのは、とてもいいんじゃないかと思います。
Guest
最初に出ていたウィジェットを作る時とか、はいはい、ウィジェットを作るのも別に理由。でも、リアクトでもいいんですけど、
Guest
1番外側にシャドードームがちゃんとあるみたいな、そういう風になってるととてもいいですね。
Guest
そうですね、そう
Guest
ですね、それはとても同感です。なんか、そういう風に、あの、例えば結構
Guest
そのそういう風に書くとま、シャドードームの内のスタイルって、まあ、要は他と孤立してるから。
Guest
まあ、自分のセレクターはすごい単純な。なんか、それこそもうクラスとかを別に使わなくても、なんかもうデブとかボタンとかっていうセレクターを使って、そのまま使うこともできるので、
Guest
ま、個人的になんかすごいそれがすごい楽だと思うんですよね。シャドードーム書いてる時はそうですね、ま、あと、
Guest
なんか確かにそういう結構他の人が使う予定として、コンポーネントを作る時に、
Guest
ソドムが1番活かせるっていうのはとても考えていて、まあ、最近すごくあの
7. Design System を Shadow DOM で実装する強み
Guest
まあみ見ているというか、もう自分もそういうのをやってるっていうか、なんか、デザインシステムとかを
Guest
あの、まあボコンポーネンツで作ってま。その中にシャドーを使うっていうのは、ますごく色々な会社
Guest
ま、特に大きめの会社が今やってきてるっていうのはま傾向があると見ていて、まあ、
Guest
個人的にはなんかそういうなんかテーマをかけるとか。
Guest
あの、まあ、どういうふうにカスタマイズできるとかを制限できるとか、なんかそういう利点がとてもあって、まあ、今の
Guest
時代のシャドードームの1番の使い道が、そういうデザインシステムを作るっていうことは、すごく実感できている
Guest
っていうのは、個人的な意見ですね。
Guest
うん、うん、
Guest
なるほど、そう、カスタマイズを制限できるって、実はとても重要ですよね。そう
Guest
なんでもかんでも外から書き換えられてしまうと、逆になんか再利用性が低くなってしまうというか、
Guest
あとから、そのコンポーネントに、その共通のコンポーネントに変更を加えたくなった時に、すごく大変になってまうので、
Guest
そうシャドードームで、カスタマイズを制限できるって、実はま、デザインシステムとか、コンポーネントのインターフェースを作るときに、
Guest
すごく嬉しいんじゃないかなって思います。
Guest
それは、すごく思いますね、デザイナーとしても、やっぱりちゃんと運用されてるかどうかっていうのが、まあ
Guest
担保されてるというかね。技術的にそれがしっかりしてると、まあ作りやすいですし、ルールも結構簡単なもので
Guest
済むので、上書きが可能だとま、こういう上書きすんなとかま、結構色々ルールをこう作らなきゃいけなくなってきて
Guest
ま。本質的な部分になかなか議論時間が避けないみたいなところも、デザインシステム運用していく上ではあったりするのかなと思うので、それは
Guest
いいかなと思いますね。
Guest
そうですね、なんかま自分たちで作ってるデザインシステムにも、なんか結構デザインチームから
Guest
ま。こういう部分はちゃんとかマイズできるといいとか、なんか、ここはちょっとやってほしくないとかって色々聞いてくれるから。
Guest
まあ、そういうのをシャドードームだと、もうもう既になんかそこに入ってるから、ちゃんと
Guest
そのえ。まあ、マークアップとか、cssの設計をちゃんとしていれば、それをなんか無理やり干渉されないっていうことを
Guest
ま、結構えられるっていうのはすごくいいと思ってて、それはさすがにあのなんだろう
Guest
ま、フレームワークでに意欲ある、何か修正するインチャイエスの方法だと、ま、それをちょっと。
Guest
なんかそこまで制限できないっていうケースはあると思うので。
Guest
うん、そうですね、ま、あと、やっぱり同じコンポーネントま、色んな環境で使い回せるっていうのはすごく
Guest
まあ大事のし、デザインシステムとして運用していく上ではすごく大事だなと思いますね。ま、今
Guest
いる会社では、ビーのプロジェクトなので、ビューでコンポネント作ってるんですけど、ま、lpでま。例えば、
Guest
同じようなスタイル使いたいってなった時に、また再度実装しなきゃいけなかったりとか。まあ、外部の方にお願いする時にま、ちょっとね。
Guest
なんか、また説明しなきゃいけないっていうのはあったりするんですけど、シャドードームで、コンポーネント、
Guest
デザインシステム作っておけば、それを渡して使ってもらうだけで、まあビューだろうが、リアクタードラマが普通にプレーンなまhtmlだろうが、使える
Guest
でま、スタイルが統一できるっていうところはま、非常に大きいかなと思いますね。
Guest
そうですね、それで言えば、最近ちょっと。なんか、ミスコンポーネンツのコミュニティで話題になったのは、なんかとある銀行
Guest
が、まあ、自分のそのなんだろ。う。ま、アカウント同士での振込みのインターフェイスを。
Guest
あの、なんかパートナーに渡すために、なんかそういうウェスコンポーネンツをまcdで用意して
Guest
こう。そのcdnだけを読み込んで、根本の書くだけで、もうが、全部まシャドドームに入ってあるからで、
Guest
なんかそのまま。まあ、その銀行のブランドを守ることもできるし、ま、ある程度そのうんなんだろう。なんか、
Guest
使ってもらってるページにあの合わせてサイズを変更したりま。自動的にすることもあるので。なんかそういう。まあ、
Guest
なんかパートナーの会社とか、あの、他のチームで自分のものを使ってもらうっていうケースにもすごく便利なんじゃないですかね。
Guest
うん、うん、
Guest
そうですね、確かにいや、それはすごい思いますね。
Guest
逆になんかそういうのちゃんと用意しておいてもらえないと、こっちもなんか怖くて使えないみたいなのをちょっとありますよね。なんか、変に
Guest
スタイル当てちゃって、怒られたらどうしようとか。そうですね、怖いですね、
Guest
怖いですよね。特に銀行とかそういうなんかしっかりした感じのところだと、なんか怖いなと思ったりするので、それは
Guest
いいですよね。どこだっけ。海外の銀行
Guest
で、昔からシャドードームじゃないや。ウェブコンポーネンツを使って、デザインシステム作ってるとこがあったんですよね。
Guest
そうですね、なんか、エンジ内のエンジニアがなんか作ってるツールとかは、めちゃめちゃ便利ですね。
Guest
ですよね、なんか、結構昔からそのデザインシステムみたいな言葉が日本で使われるというか、流行るよう
Guest
になる前から結構やってたようなイメージはありますね。
Guest
そうですね、結構なんかアメリカとかヨーロッパ中心で、まあ色々そういう話が
Guest
ま、何年前から盛り上がりつつありますね。
Guest
うん、うん、
Guest
でま、今までは結構そのなんだろう。シャドドームがいいっていうところをま、散々語ってきたんですけど、
Guest
逆になんか今まででま使ってきて、
Guest
なんかちょっとこういうところはあんまり良くないとかって思った部分について、2人とも何かありますか。
Guest
そうですね、自分さっきもちょっと言ったように、シャドードームで、cssイジュースを試してたんですけど、
8. Form と Shadow DOM のぎこちないところ
Guest
1つ困ることがあって、なんでしょう。インプットとか、imgとかま、その要素自体にスタイルを当てないといけないやつ
Guest
をシャドウドムを使って、スタイリングしようとすると、そのインプット、
Guest
どうしてもシャドードームの中に入れる必要があって、そうすると
Guest
なんでしょう。そのインプットが表に、シャドードームの外に出てこないから、フォームの要素として認識されないとか、
Guest
そういう問題があって、
Guest
ああ、なるほど
Guest
はいいや、それはそうですね、まあ、ちょっと私から補足すると、
Guest
確かにそのままその基本的にフォームって、
Guest
まあ、ポームの中に何かのシャドードームのルーツがあると、なんか、その内部のことを
Guest
知ることはできないということになっていて、
Guest
うんで、それをまちゃんとできるように。あの、なんか、フォームデーターっていうイベントと、なんか、フォームパティスペーションAPIっていうのは、
Guest
ま、実はあるにはあるんですけど、あの、1番しっくり。なんか、ちゃんとその自分の
Guest
あのサドゾムで作ったコンポーネントをまォームの一部として、あの登録できるポンプルティスペシpiの方は
Guest
ま、今時だとcrmでしかなくて、で、イベントの方だとまそっちで。なんか、なんか、サミションとかの時に、
Guest
あの、なんかデータを送ることはできるんですけど、そっちの方は、なんか、クロミウムとファイアフォークスでしかなくて、なんかサリだとどう。
Guest
なんか今今だとなんかそのままどうしようもなくて、だから、なんかちょっと。裏技で、あのインプット要素を
Guest
シャドドムのスロットに入れて、それだとシャドドムからも鑑賞できるけど、え、
Guest
トムの一部としても認識されるから、今時だと、なんか、全てのブラウザー対応するには、1番いいってっていうのは
Guest
あります。
Guest
うん、うん、
Guest
ちょっとややこしいんですけどね、
Guest
確かにま、こういうのちょこちょこありますよね。
Guest
はい、なんか他になんかそういう。例えば、なんかインプットパスワードとかをシャブゴムに入れると、なんかパスワードマネージャーが
Guest
なんかそこにたどり着けないっていうか、シャドードーム、シャドードームを考えて作られてないから、
Guest
なんかそこにたどり着けない。なんか、ただクリスレクターへ走ってるだけだから、
Guest
そういうのもまあちょくちょくあったりしますね。ただ、まあ一応そういう裏技をちゃんとしている
Guest
ま、ライバイとかコンポネントあるから、なんかそういうのをま継承とかして、まあ真似ることもして、まあ、とりあえず
Guest
まあ若干めんどくさいけど、できるにはできるんですよね。のりピーさんはどうですか。なんか、ちょっと
9. Shadow DOM からのイベントの Retargetting
Guest
ここだと、使い方は悪いとかってあったりします。
Guest
ああ、そうですね、ま、僕もフォーム周りはちょっとめんどくさいなと
Guest
思ったりするのと、ま、あとイベントですかね。僕はそんなに困ったことなかったんですけど、
Guest
イベントターゲットのあり、ちょっと工夫しないといけなかったような記憶があって、そこはちょっと
Guest
ややこしいというか、1回分かっちゃえばいいんですけど、それをちゃんとなんか解説してくれてるところが少ないなみたいなのは
Guest
不便だなというか、まあ、情報があんまりないなと思うことはありますね。
Guest
そうですね、確かなんかイベントを発生させるときにも、
Guest
なんかまちゃんとバブルするように、なんかプラグを立てたりすることも必要だったりしますね。なんか、シャドードームの外に出るようにするには。
Guest
あ、そうですね、そうですね、あ、そうだ、なんかリターゲティングがなんだ。ライトダム内に存在するスロット化された要素上で、
Guest
イベント終わった場合には、発生しません。みたいな
Guest
みたいなま、ちょっとちょっとだけ気を付けなきゃいけないところがあるんですけど。そうですね、その辺はちょっとめんどくさい
10. Shadow DOM の情報源について
Guest
なと思うことはありますけど、まあでもあとはシャドードーム自体にそんなになんか不便さを感じたことは
Guest
あんまりないですね。
Guest
そうですね、自分の経験にも結構基本的に、まあ、1回目はちょっと
Guest
あのなんだろう。学ぶのは若干なんか前とは違うから、まあ、新しい概念を学ばないといけないけど、1回分かれば。あとは、まあ
Guest
気を付ければなんとかなるっていうことはほとんどな気がしますね。
Guest
そうですね、やっぱこういうのまちゃんとまとまってるサイトというか、情報源が欲しい、欲しいなと思ったりは
Guest
しますね。
Guest
ある意味、シャドーゾムの情報を増やすためにも作ってるんですしね。
Guest
あ、そうですね、最近見たドキュメントだと、javascript、ドットインフォっていうサイトの
Guest
ウェブコンポーネンツのコが結構詳しく書かれててよかったなと思いますね。
Guest
そうですね、実際になんかあ、あれも結構個人的に呼んでよかったと思うんですし、
Guest
なんかま、そういうのをまとめてる。あの、リポジトリはまあの色々とあったりしますけど、
Guest
ま、基本的に大体そのいつもあの基本的な要素だけ。カバーして、なんか使い道とかについて、あんまり深掘りするのは
Guest
あんまりないんですよね。
Guest
ああ、確かにそうですね、ユースケースに関しては、結構不足してる気はしますね。
Guest
うん、なんかそれもあって、その自分の方であのなんだろう。ま、サドドム
Guest
ないで、結構あの新しいcssセレクターを使うことあるじゃないですか。はいはいはい、ホートとかスロッテとか
Guest
パートとか色々あるんですけど、なんかそれを説明はなんかまあ、サンプルを使って説明する記事をま、
Guest
自分でも書いたことあるんですし、
Guest
なんかやはりそういうのはなんだろう言われてもらえるより、なんかちゃんと見て実感した方が早いっていうのもあって、
Guest
なんか確かにそういうそういうなんかそれも理由であんまりないっていうのもあるかもですけどね。
Guest
確かにそうですね、なんか、シャドードームについてよく聞かれるのがま、なんかいつ使うんですか。とか、なんか、どういう時に
Guest
使うんですか。みたいな質問というか、疑問結構見かけること多いと思っていて、その辺の情報がもうちょっと増えると
Guest
ハードルというか、まあ、もうちょっとなんて言うんですかね、使いやすくなるのかな、とは思いますよね。
Guest
こういうユースケースの時は、シャドードームのこういう機能を使って、こういう実装すると解決できます。とか
Guest
そうですね、いや、もうそれなんかもう個人的に作りたくなってきました。
Guest
そうですね、なんか、こういう切り口のなんか同人とか書いたら売れそうな気がする。
Guest
そうですね、後で試してみます。うん、はい、そうですね、他に
11. Shadow DOM の次の期待「Declarative Shadow DOM」
Guest
なんかこれといったことはあったりしますかね。
Guest
まま、あとは、リクレティブシャドードームの話とかは、最近まみ注目してるのかなとは思いますね。
Guest
そうですね、これはまああのまあ聞いてる人向けに軽く説明すると、
Guest
まあ、シャドーダムはまああの先ほど話した通ります。全てのブラザーでつけるようにはなっているけど、
Guest
ま、最近なんか新しい仕様として、
Guest
そのなんか今だとシャドードームをま、jsの時に、なんかルートとなる部分を作らないといけないんですけど、
Guest
それを実際にえーま、htmlだけでできるようになるための仕様。今えま模索されていて、
Guest
結構良さげで。まあ、そういうサーバー、サイドリングリングとかにすごく便利そうな
Guest
標準仕様になりそうだから、すごい個人的に楽しみにしてるんですけど、2人はそれについて何か
Guest
危険がありますかね。
Guest
僕もこれは結構注目してても、早く使えるようになってくれたら、面白そうだなと思いますね。
Guest
昔、似たような塩があったのが、ssrサーバーサイドレンダリングしたいから、復活
Guest
しみたいなのも、もうちょっと面白いというか、時代の流れを感じるなみたいなところはありますね。
Guest
ですね
Guest
私としてはデクレア、テブ、シャドーズブ。ま、今あるやつより、さらにもうちょっと進化してくれないかなと思うところがありまして。はいはい、そういうのも、
Guest
やっぱりシャドードームの1番大きな利用目的の1つとして、スタイルのスコーピングがあるんですけど、そうなんか
Guest
できるだけシャドードームの中にスタイルをベタ書きでこう書いて、それをssrしたりすると、
Guest
まあ100個、同じ根本エントレンダリングしたら、100個、同じスタイルが
Guest
ssrされて振ってくるんですよね。こうで、車動くれても、車ドードームの中にはいい、そこをこう1か所にまとめられるとか、そういう方向性で
Guest
進化してくれたら嬉しいなっていうのは少し思っていますね。
Guest
確かにそうですね、
Guest
単純のバイトのサイズとしての問題なんですよね、ssの場合だと、
Guest
うん、うん、まあ
Guest
あ、そうですね、うん、うん、
Guest
でも、それだけだったらなんでしょう。gzipで、同じスタイルが全部圧縮されないかなとはちょっと思うんですけど、
Guest
むしろ、ブラウザが同じスタイル100個書いてあった時に、100個別々にパースするとか、そういうのはちょっともったいないなって思います。
Guest
あ、うん、それについては、多分あの問題はないと思い、思っていて、あの
Guest
なんだろう。まあ、なんかウェブコンポに周りの仕様とか、あの説明とか見てたりする時に、結構その
Guest
そういう同じスタイルのあの領域があると、あの、なんかブラウザがうまいこと。あの、
Guest
サイパースしないとかっていうことをしてくれるって。あの、どっかで色んなことあると思うので、
Guest
多分ほうほう、
Guest
あんなんだろう。今今だと例えばなんですけど、あの、なんかサファリとかで
Guest
まー、シャドードーム内でスタイルを与えるに、はま、シャドードームの中にそのスタイル、あのタグを書くしかないっていうのもあるんですけど、
Guest
それはまあ、要はその今のssrじゃない。あの、jyスレンダリングの場合だと、
Guest
ま、何回かも。あの、同じそのスタイルが、あの、もう実際に書いてあるっていうことになると思うんですけど、
Guest
それで、パフォーマンスの問題はないって思うと、多分そういう懸念はそこまで
Guest
問題にはならないかなって思います。
Guest
うん、うん、なるほど、なるほど、
Guest
だから、まあ、逆に個人的に気になったのは、まあ、そういうそのなんか、ちゃんとgシップが行かないと、ちょっとバイトサイズが
Guest
なんかもうすごいことになりそうで、ちょっと怖かったんですよ。
Guest
そうですね、バイトサイズはすごい
Guest
ことになりそうな予感はしますね。何も考えずにやると、結構大変なことになりそう。うん
Guest
ですね、でも、これは来ると結構まあな、今やっぱりそのssrできないから
Guest
っていう理由で、ウェブコンポーネンツを、そのフレーム枠内で使うのをやめてるというか、あんまり考えてないみたいな人たちも結構多いと思うんで、
Guest
そういうのが解消されると、結構議論が進んでいくんじゃないかなと思っているのでは。いま、僕は結構これ注目している
Guest
って感じですかね。
Guest
そうですね、今だと、そのウェブコンポーネンツで、ちゃんとしたエサやるには、
Guest
まやはり、なんかそういうパペティアとかをかます。とか、逆になんかそういう
Guest
あのなんだろう。どっちかというと、アグレード用のコンポーネントのの場合でしかできない。なんか、そういうアブレードっていうか、なんか、
Guest
その実際に内容がほぼ全てスロット内に書いてあるから。ま、ほとんどあ、はい、実際に
Guest
なんかテンプレートに中に入ってて、で、ジャイアスが走る時にまあくまでなんかま、ビジネスロジックが入るぐらいの
Guest
コンポーネントだったら、まあ、エはちゃんとできるけど、それ以外だとまあ、うん、ちょっと今だとめんどくさいから、まあ、さすがに
Guest
これが来るともうほん。本当の意味でセールができるようになるんですよね。
Guest
そうですね、それは結構まおっきな進化の1つかなと思いますね。
12. Shadow DOM について一言
Guest
ではま時間の時間ですし、最後にあのまショードームについて、最後の一言をお2人から
Guest
お願いしたいんですけど、最初にょさん最後の一言お願いします。
Guest
シャドードームについて、最後の一言ですか。
Guest
まあ、今日今日今日話した内容ですけど、
Guest
そうですね、シャドウドムは、やっぱりシャドウって名前のついてる通り、外からドムを隠すことができるっていうのが、
Guest
多分、皆さんも1回使い道を考えてみたらいいと思います。ものを隠せると、ほんとにいろんな使い道がありますよね。インターフェース
Guest
もう隠蔽できるとか、隠すって実はすごいデザインとか、プログラミングする上で、大事なことだと思うので、
Guest
ぜひシャドードームを活用してもらえればなと思います。
Guest
はい、では、今度はのりピーさんから最後の一言お願いします。
Guest
はいま、そうですね、ま、どうしてもweb。コンポーネンツの1個っていうイメージが、シャドードーム強いと
Guest
思うんですけど、シャドードーム単体でも、まあ、僕がさっき言ったみたいな。そのフレマークのアップデートに使ってみたりとか、ま、シェースに
Guest
使ってみたりとか。ま、その単体でも結構ユースケースっていう結構考えられるのかなと思ってるので、ま、その辺ま今後
Guest
実践していきたいなと、まあ、実践実験していきたいなと思っているっていう感じですかね。
Guest
はい、じゃあ最後に私からなんですけど、まあ2人が言ったように、あのサドンマ。
Guest
まあ、今すぐ使えるし、あの使い道はもうたくさんあるんですけど、まあ、
Guest
どうしてもね。なんか、情報源がないとかっていうのもあったりするんですけど、まあ、そこに気負わずに
Guest
あの1回試してみていかがかなっていうところと、あと、あのまあ前にも言ったんですけど、シャドドームはまあ
Guest
別にあのフェムワークと戦ったりすることはないから、あの、
Guest
自分はまあリアクターを使ってるとか、アンギラ使ってるとか、ビール使ってるとか、そもそもなんかまだジェイクエリとか使ってるとか、
Guest
何のjsも使ってないとかっていう人でも全然使ってもらえるので、まあ、ぜひぜひ。
Guest
あの自分で作るなり、他の人まのりぴさんが言ってた。そのレゴの人とか、何かそういうコンポーネントがあったら、
Guest
まぜひ使ってみてください。
13. クロージング
Guest
というわけでえ、今回はシャードドームについて話していきました。
Guest
ラインのフロンテンの開発組織UITでは、このようなフロントエンドに関する論理をキャッチアップを日々
Guest
行っております。まあ、今回のシャドードームやまこの間行って、ダビーフスタリーなど。
Guest
社の社内のあの学習企画から始まったコンテンツも多くありますので、え、今後も発信していただければと思います。
Guest
また、ポート活動を通じて、LINEに興味を持っていただいた方には、ぜひぜひ
Guest
ガジュアルメラからでもご連絡いただければと思います。中東新卒とにトランテンドエンジニアを推してるので、
Guest
ショーノと歌にリンクはあるので、ぜひそこからご連絡ください。今回はシャドどもお手間で話してきました。
Guest
のりピーさん、ひょうさん、ありがとうございました、
Guest
ありがとうございました、
Guest
ありがとうございました。