Hatena::ブログ(Diary)

hogehoge @teramako RSSフィード

 | 

2008-05-16

本気でやるならクロスプラットフォームは避けてMozillaアプリを作るべき

まぁ釣りタイトルなわけだが。

でも、割と本気でそう思っていたりもする。それほどJavaScriptのブラウザ間のクロスプラットフォームは面倒だしウザったい。

かれこれ1年と8ヶ月ほどJavaScriptをやっていることになるけど、未だにIEでも動くJavaScriptをほとんど書いたことがないオイラ。attachEventってなんですか?

各種ライブラリの使い方を覚えるのなんて面倒。

  • イベント取りたかったらaddEventListenerで十分。
  • XPathとか、E4Xとか何も気にせず使える
  • 各種メソッドの互換性なんて考える必要なし
  • 動作確認はFirefoxオンリー
  • ユーザビリティとかアクセシビリティとか考える必要なし。だって自分のためのJavaScriptなんだもん

とか、Firefox,Thunderbirdの拡張を作りたくてJavaScriptの勉強を始めたオイラは思うわけです。

PiroPiro 2008/05/17 11:49 teramakoさんがおっしゃっているのはどちらかというと「クロスブラウザ」の難しさの話という気がします。それも「クロスブラウザ」というより、実質的には「IEとそれ以外」ですよね。
XPCOMとかのMozilla依存の知識はともかく、addEventListenerやXPathはWeb標準技術であって、標準の技術を当たり前のように使って当たり前のように動くというのはFirefoxの良いところだと思います。そのあたりはFirefoxやOperaやSafariといったモダンブラウザに共通して言えることですね。どれか1つのプラットフォームで学んだWeb標準技術は基本的に他のどのブラウザでも、果てはAirやGoogleガジェットですら、利用できますから。いちいち全ての環境で動作確認をしなくても、どれか1つのプラットフォーム向けに作り込めば自動的に(標準技術に基づいている部分は)クロスプラットフォームが実現される、というのは標準技術の大きな意義だと思います。
VMLとかbehaviorとかattachEventとかは、いくら精通したところで他で知識の使い回しが一切きかないと最初から分かり切っているから、勉強しようという気には自分もなれないです。

teramakoteramako 2008/05/17 16:57 あ、たしかに「クロスプラットフォーム」というより「クロスブラウザ」ですね。
『「IEとそれ以外」』ですが、私の場合真面目にFirefox(Geckoエンジンというべきか)以外のJavaScriptを知らないので、「Mozillaとそれ以外」という感じです。正直、どのブラウザでE4Xが使えるか、Array#filter,forEach,mapなどはあるか、getter,setterはあるか、let式はあるかなど全然知りません。

私がJavaScriptを学び始めたのは記事中に書いたとおり拡張機能を作りたくて、なのですが、おかげで他のブラウザがどうとか煩わしい部分を気にせず学習できたと思っています。これから勉強する人もまずはクロスブラウザに関しては脇に置いといて学習する方が良いと思います。クロスブラウザ云々はある程度分かってからでも遅くないだろうと。

teramakoteramako 2008/05/17 17:21 つーか、この記事、なんでブックマークが付くんだよ。
明らかに価値のある記事じゃないのに...orz

『もっとも使われているIEを考慮しないエンジニアは最低だと思う。自分が幸せになるものを生み出せても、より多くの人を幸せにするものを作ることはできない。』
ってid:HolyGrailさんがツッコミを入れてますね。
追加すると、「IEしか考慮しないエンジニアも最低だと思う」
あと案件上そう思えなくとも、自分が使いたいと思えないものを生み出しても、多くの人に使ってもらうことは難しいと思う。まずは自分が幸せにならなければならない、ってのもあるかと。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

 |