@kyanny's blog

My thoughts, my life. Views/opinions are my own.

HTML5 Weekly issue 176

HTML5 Weekly Issue 176: February 19, 2015


FlipboardのWeb版はブラウザ上でネイティブアプリ並みのスムーズなアニメーション処理スピードを実現するためにCanvasを多用するアプローチをとった(そのために作られたのが React Canvas)が、アクセシビリティの低下という欠点が指摘された。その議論を踏まえてJohn Gruberが60fpsについて「iOSがユーザー体験の期待値の水準をあげたので、もはや『あるとよい』ではなく必須だ」的なことを言っている。

Appleフリークのポジショントーク部分はどうでもいい。実際にiPhone 6のMobile SafariからFlipboardWeb版を利用してみたが、さすがのなめらかさだった。ただし、ぬるぬる動くがやはりiOS版と比較するとまだ粗いな、と感じる。

GruberはWebよりネイティブ(iOS)でしょ、という立場なんだろうけど、まぁそうだね、と言わざるを得ないのかもしれない(フルCanvasでWebアプリケーションを作るのがどのくらい大変なのか想像できないが相応の労力はかかったのだろう、そこまでしてなおまだ「劣る」という印象にとどまるというのは、なんとも)

ネイティブと比べると分が悪いとはいえ、チューンされていないWebアプリケーションに比べたら圧倒的な優位性があるとも思う。「遅いDOM」で同じものを作ったらどのくらい差があるのかも想像しきれないが、FlipboardがWeb版アプリケーションのユーザー体験の期待値を上げたことは間違いないと思う。

フレームワークとアプリケーションの境目

それでもRailsを選択する3つの理由 - pblog

興味深く読んだ。

ずっと気になっていることがある。フレームワークとアプリケーションの境目について。

アプリケーションとフレームワークははっきり区別されるべきなんだろうか。 Rails は「区別するべきだ」と要請しているように感じられる。アプリケーションはフレームワークが規定する「できること」の範囲内で書くべきであり、その範囲を外れる場合は相応の覚悟をしろ、領分を守る限り難しいが一般的な問題はフレームワークが正しく解決してやるぞ、と。

一方で、フレームワークもアプリケーションの一部である、とする考え方もあると思う。足場を支えるライブラリに過ぎない、という思想。両者の境界は曖昧になり、フレームワークが規定する「できること」だけでは物足りなくなったとき、アプリケーション側を「できること」の枠内に合わせるのではなく、フレームワーク側を拡張してもよい、ということになる。それもアプリケーションには変わりないのだから。

Rails に慣れた人々は言う。 Rails に不満があるならパッチを送ればいい、オープンソースなのだから、と。エコシステムに貢献するのは良いことだと思う。しかし、腑に落ちない感じもある。解決したかったが現状の「できること」の範囲内では難しかったその問題というのは、一般化するほどおおげさなことだったんだろうか?自分のアプリケーションを直したいだけなのに、なぜ大勢の人たちがコンセンサスを取らなければならない議論の俎上に乗せる必要があるのか。

もちろん Rails に詳しくなれば、「できること」が実はもっと広大だったと知ることは多々ある。「できること」をちょっと拡張するうまい方法もわかってくる。それでも不満なら fork してオレオレ Rails を使い続けたっていい。誰も文句は言わない。ただし覚悟は必要だが(そして利益に見合わないからやらないほうがよいが)

結論は出ない。 Rails をどうこう言うつもりもないし、 Rails コミュニティをどうこう言うつもりもない。ただなんとなく、うまく言えないけど、もやもやする気持ち。

自分は「upstream に追随するのは正しいこと、追いつけずに古いバージョンを使い続けるのは悪いこと」という価値観に染まりすぎてしまって、 Rails に限らずフレームワークを拡張してアプリケーションを使いやすくする(つもりの)コードを見ると拒絶反応を起こしてしまう。そんな hack を気軽にやって、いまはいいかもしれないけど、将来フレームワークのバージョンアップに支障が出たらどうするんだ、アプリケーションは出しゃばらず行儀よく書くべきだ、と。

けれども、それはアプリケーション開発者として正しい姿勢なんだろうか?そこのところに自信が持てないのだ。自分が尊重すべきなのは、神聖なるフレームワークなのか、「我々の」アプリケーションなのか…。

DB Weekly issue 47

DB Weekly Issue 47: February 13, 2015

Major security alert as 40,000 MongoDB databases left unsecured on the internet | Information Age

元の論文 PDF(と呼んでいいのだろうか、単なるレポート?)も読んだ。パスワードもかかってないのはさすがにお粗末。

A Simple Priority Queue With Redis in Ruby | Fretboards and Motherboards

Redis 機能が多すぎて使い方難しそう。

Understanding JOINs in MySQL and Other Relational Databases

JOIN の基礎って感じ。図があると違いが直感的にとらえやすい。

Node Weekly issue 73

Node Weekly Issue 73: February 12, 2015


名前だけ知ってた(ジツは術、なんだろうか) GoDaddy が感覚的に日本でいうお名前.com にあたるのかどうか気になる。オンラインホームページビルダーとか本当に使う人いるんだろうか(そしてその機能の良し悪しがドメインとホスティングの会社の利益にどの程度貢献してるのだろう)


難しい問題だ。理想と現実。

JavaScript Weekly issue 219

http://javascriptweekly.com/issues/219

  • Don't advertise .show() on the front page · Issue #88 · jquery/jquery.com · GitHub
  • issue 立てた本人は根拠も示さず、よって主観ないし「お前のコードに問題があるんじゃねーの?」としか思えない状況で「よろしい、ならば計測だ」ときっちり客観的な事実を提示してみせた Paul Irish の偉さが際立っている。例の選び方もさすがのセンスだと思う(有名サイトで誰でも追試可能)