タグ

ブックマーク / jinjor-labo.hatenablog.com (4)

  • CSS フレームワークを使いたくない - ジンジャー研究室

    CSS フレームワークが辛い。 ここでいう CSS フレームワークとは Bootstrap とか Bulma とかそういうやつのことである。昔から自分はこういうのが苦手で、一定の便利さは感じつつもどうしても馴染めないという状態が続いていて、それでも「それは使い方が悪いだけで、ちゃんと使いこなせばペイするんだろう」と思って今までズルズル使ってきてしまったのだが、やっぱりそれでもどうしても辛くなり脱フレームワークしようと思う。 もちろん使いこなせる人には使いこなせるんだろうし「使うべきでない!」という主張をするつもりはない。頭のいい人には使えるんだろう。昔は「今すぐ〜すべき 10 の理由」みたいなことを適当に書いてたんだけど、どうせ自分がやってることは「 Web 系」のメインストリームからは外れてるんだろうし、合わせるつもりもなければ合わせさせるつもりでもない。使う理由も使わない理由も人それぞ

    CSS フレームワークを使いたくない - ジンジャー研究室
    hisasann
    hisasann 2019/03/13
  • CSS in JS(Elm)したら想像以上に良かった - ジンジャー研究室

    追記 最新の感想も合わせてご覧ください。 jinjor-labo.hatenablog.com React界隈では結構前から「CSS in JS」と言って、雑に言うと「CSSはイケてないからJSでインラインスタイルを書いてしまえ」という話がある。(ちゃんと知りたい人はこちら) 自分も前々からCSSは変数が使えないとか名前が被るとか諸々イケてないのは同意してたんだけど、じゃあJSで書くのが良いかと言われたら「いや流石にロジック汚れるんじゃね?」とか「CSSの便利機能を捨てて平気なの?」とか色々と懐疑的だったんだけど、1~2か月書いてみたら想像以上に良かったので感想を書くことにした。 まず一番に主張したい部分を先に言うと、こう。 (誤解)JSのコードがスタイル記述で汚れる (正解)JSのコードがスタイル記述から解放される 前提 実際に書いたのはJavaScriptではなくElmなので以下は全て

    CSS in JS(Elm)したら想像以上に良かった - ジンジャー研究室
  • DOMがビューである理由 - ジンジャー研究室

    JavaScriptでMVCをやってると、「そもそもDOMってモデルだよね」って思うことがあって、いやいやそれは違うんだと言い聞かせているうちに、謎の4コマ完成。 DOMはモデルだよ DOM = Document Object Model という名の通り、DOMはモデルだよ。 これをイベントのたびに更新してやればいいんだ。表示も自動で追随してくれるよ。 重複してるよ でも来同じものなのに別々に更新してやらないといけない場面が出てきたよ。 これだと片方を更新し忘れたら不整合になるよね。 こんなの絶対おかしいよ。 DOMはビューだよ いやいや、当はモデルはDOMの外にあるんだ。 これを一箇所更新すればそれぞれに自動で反映されるようにすればいいんだよ。 わぁ、頭いい。 面倒だし一度に更新すればいいんだよ でも大抵データって更新のたびにサーバに保存して欲しいでしょ。 当のモデルはサーバサイド

    DOMがビューである理由 - ジンジャー研究室
    hisasann
    hisasann 2013/07/02
  • Angular.jsとBackbone.jsのDOM依存を図解する - ジンジャー研究室

    果敢にもMVCフレームワークの図解を試みたので、どうぞ! MVCの動機 MVCという言葉が初めて登場してから30年以上たった今、最早なんだったのか分からないほどMVCの定義は混迷をきたしているわけだが、どれがMVCでMVVMでMVPであるという定義についてあれこれ考察するのは個人的には好きでなくて、「結局何がしたいのか」という動機がぶれていなければ何でも良いと思っている。 じゃあそれは一体何なのかということを自分なりに考えてみたところ、次の一言に落ち着いた。 「ModelはViewに依存したくない」 世間的には(?)ModelとViewを単に「分ける」と説明されることが多いが、私はそれだけでは納得していなくて、依存の方向こそが重要だと思っている。たとえ分かれているように見えてもModelがViewを参照していたら、情報の取得先や表現方法は固定化されてしまう。 ModelはViewの事情から

    Angular.jsとBackbone.jsのDOM依存を図解する - ジンジャー研究室
  • 1