shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

261
active users

#riotjs

0 posts0 participants0 posts today

全然技術レベルの違う話ではあるけど、自分もデザイナーなのに #反骨スタック っぽい選択をしてきた気がしている。
正確には、自分のスキルと時間的制約とワンオペでの制作・開発という事情でその選択肢しかなかったという側面が大きくて、能動的に選べる選択肢がそれしか無かったんだけど。
ただ、確かに低レイヤーを触る動機が生まれるという意味では良い面もあった気はする。
自分の生存戦略が、なるべくフレームワークとかライブラリに依存しないスキルの勉強にかける、だったから、そういう観点で当時選んだのが「薄い」フロントエンドライブラリとしての #RiotJS だったし、未だに素の #CSS を書きたくなってしまう性質に繋がっている気がする。

hackers.pub/@hongminhee/2025/c

Hackers' Pub · 反骨精神のスタック礼賛이 글에서는 저자가 기술 스택을 선택할 때 주류에서 벗어난 "청개구리 스택"을 선호하는 이유를 설명합니다. 청개구리 스택은 사용자가 적어 문제 해결에 어려움이 있지만, 기술에 대한 깊은 이해를 얻을 기회를 제공합니다. 또한, 후발주자로서 기존 기술의 단점을 개선한 대안적인 설계를 채택하는 경우가 많습니다. 여러 부품을 직접 조립해야 하는 번거로움이 있지만, 각 기술을 깊이 이해하고 최적의 조합을 선택할 수 있다는 장점이 있습니다. 중요한 것은 대중의 선택에 맹목적으로 따르기보다는 주체적으로 판단하는 태도이며, LLM 시대에도 청개구리 스택이 제공하는 배움의 기회는 여전히 유효합니다. 이 글은 독자들에게 Stack Overflow에 답이 없는 길을 걸으며 자신만의 깨달음을 얻어보기를 권장합니다.

#RiotJS の V10 Alpha がでてるな

github.com/riot/riot/releases/

これは alpha 1 だけどもう Alpha 2も出てる。
メジャーバージョンアップと言っても、そのレベルの破壊的変更があるから、というだけみたいだけど :tony_normal:

GitHubRelease v10.0.0-alpha.1 · riot/riotUpdate compiler and dom bindings to fix #3023 Breaking Change tags root attributes will be no longer automatically rendered. See example below With Riot.js < 10: Component <parent> <child class=...

年末年始、結局個人サイトの制作は

> #NodeJS#RiotJS#Markdown から #HTML ファイルを生成する環境づくり

だけで終わってしまった。。
こういう風に自分のこととなると、作る前の整理整頓みたいなフェーズでおわっちゃうことがままあるので、今日で年末年始休みは終わっちゃうけど引き続きちまちま楽しみながら作っていこう。

まあなによりこの休みは子供たちといっぱい過ごせたからよしとしよう :tony_happy:

(ということで明日から仕事

Replied in thread

@ginlime わああー!!わざわざ :mastodon: からお知らせありがとうございます!!!素晴らしい!! :tony_wee:
あんまり最近のゲームやらないので詳しいこととかアプリの有用性を理解できない自分が悲しいですが :tony_normal: 💦 ダイアログのアニメーションとかもあっていい感じですね!!!
フッターに #RiotJS ロゴも掲載されていて勝手に感慨深い気持ちになりました!! :tony_happy: 🎉

Continued thread

ただ PHP だとキャッシュとかパフォーマンスをちゃんとケアしようとするとなんか(自分のスキル的に)微妙なことになりそうだったので、#RiotJS 製の静的サイトジェネレーターをつかってシンプルな #HTML にしようかなという気持ちになってきてる :tony_normal:

Continued thread

#RiotJS#WebComponents サンプル試して気になってた挙動、早速ひとつ修正してもらえた。

github.com/riot/custom-element

もうひとつの Scoped CSS の挙動もオプションの存在を教えてもらったので、コンパイル方法をかえることで解決できそう

GitHubCannot get shadowDOM contents in `onMounted()` · Issue #20 · riot/custom-elementsBy nibushibu
Continued thread

#WebComponents な Custom Elements である以上、属性値では基本 String しか渡せないはずなので

> Riot.js passes all primitive data (strings, numbers, booleans) to Custom Elements as attributes

これは Custom Elements としてはちょっと解せないんだよな…
今手元で試しても props は全部 strings になっちゃうし。

ただ、

> It passes complex data (Objects, Arrays) to Custom Elements as properties.

これについては、たとえば親コンポーネントの中で

```
this.root.shadow.querySelector('子コンポーネント要素').プロパティ名
```

という風にすると、親から子の中のプロパティに Object とか Array を渡すことができた。

#RiotJS のセクションに

> By default, Riot.js passes all primitive data (strings, numbers, booleans) to Custom Elements as attributes. It passes complex data (Objects, Arrays) to Custom Elements as properties.

って書いてあるけど、属性値で渡したものは全部 strings になる気がするし、Objects, Arrays をプロパティーとして渡せる、って書いてあるけどどういうことだろう…? :tony_astonished:

custom-elements-everywhere.com

custom-elements-everywhere.comCustom Elements EverywhereMaking sure frameworks and custom elements can be BFFs 🍻
Continued thread

#RiotJS#WebComponents なサンプル作りを昨夜試して、色々 riotjs/custom-elements のバグっぽい挙動も報告できたので良かったんだけど、#WebComponents の属性値に基本テキストしか渡せないのは、やはり感覚的にはちょっと不便に感じる時あるな…props バケツリレーすればとりあえずなんとかなるかなみたいになっちゃってる自分が良くないかもなので別のパターンを学ぶ良いきっかけかもしれないけど。
#CSS が外部に伝搬しない #shadowDOM は使い方次第ではすごい強力な気はしている。

#WebComponentsb の template の書きづらさは Riot みたいなコンポーネントベースのフレームワークを使って解決するほうがよさそうだなと思ってるけど、標準技術の中でもう少し柔軟に書けるようになる予定とかないんだろうか…構造がある程度複雑になると、フレームワーク使わずにやろうとすると #HTML 側に template で書いておいて #JS 側から getElementById するみたいなやり方しか自分は思いついてないんだけど、できればコンポーネントはコンポーネントとして別ファイル化したいし… #PHP とかフロント以外のところでコンポーネント用の template を分けておけばいいのかもしれないけどなんかそれもなあとか考え事をしながら人間ドックに向かっている朝。

#RiotJS のcustom elements モジュールを使って、#WebComponents なパーツを作れるようにしたけど、コンポーネント内に書いた #CSS の :host がコンポーネントタグ名に変換されちゃうという、バグというかコンパイラーが #WebComponents に対応しきれていない挙動を見つけた
今夜 issue 書く!(と自分を追い込む