ラベル JavaScript の投稿を表示しています。 すべての投稿を表示
ラベル JavaScript の投稿を表示しています。 すべての投稿を表示

2011年2月26日土曜日

HTML5

この頃、HTML5について調べ始めているのですが・・・
いろいろできるよ、という評判のわりにHTML5単体では大したことが出来ないのがわかりました。

・・・といっても、筆者はHTML5を「使えない」と言っているのではありません。

HTML5で追加されたタグは、HTML文書の階層構造を定義するタグ(見た目には影響しないタグ)が多く、目立つのはCANVASタグくらいのものです。

「HTML5 サンプル」などと打ち込んで検索してみるとわかりますが、多くのサンプルはCANVASタグで何が出来るかを競っている状況です。
確かに、CANVASタグで定義した領域内に.net言語のような形で描画可能であるのは面白いです。
ただ、描画を行うのはJavaScriptだったりするのが実体です。
静的なものをHTMLに、動的なものをJavaScriptに、と明確に分けて行くのは歓迎ですが、バリバリのスクリプターでもないと動きのあるHTML5のページは作れなさそうですね。


色々やる為にはJavaScriptを使わねばならないのですが、自分で全て作るのは大変です。
そこで出てくるのがajaxだったりします。
というか、HTML5の知識はCANVASタグとそれに関連するオブジェクトだけで良くて、あとは全てJavaScriptの知識や経験が要求されるのではないかと考えています。
数年前、JavaScriptを軽んじていた人に疑問を持っていた筆者なのでこの流れは歓迎ですね。
IDE的にイマイチな状況なので開発効率は悪目ですけどね^^;
(かといって、eclipseプラグインが出てきても自分からは使わないことは確定的に明らか)




2010年5月18日火曜日

Twitterなう

ゆうめいじんもすなる『つうぃった~』といふものを、ふつうのにんけんもしてみむと…

あー、書きづらいw
土佐日記の真似なんてする物じゃないですね。
ちなみに、土佐日記の作者紀貫之ってネカマのはしりなんですよね…
数学者フェルマーは手紙では活発なのに日常生活では目立たない、いわゆるVIPerのはしりだったとか…
「ネットに新しいものなし」ということかな!?

今回はタイトル通り、Twitter(ついったー)を試してみたのでちょっと書いてみようと思います。
このTwitter、話題性だけで言えばIT業界でもTopクラスの代物です。
最大140文字の書き込み(これを「つぶやき(Tweet)」と呼ぶ)を自分専用のミニ掲示板に書き込むようなものですが、いろいろな工夫が人気の秘訣と感じました。

 工夫1:フォローシステム
フォローと言って、ブラウザのお気に入り機能のように他の人のTwitterを登録できます。
ブラウザの場合、お気に入り登録⇒日々の巡回 という流れになりますが…
Twitterの場合、フォロー⇒フォロー先につぶやきがあると自分のTwitterにリアルタイムで表示される
という流れとなります。
私の友人いわく 「知り合いの生存確認に便利かもしれない」 システムですね。

 工夫2:返信・リツイート
掲示板同様、返信が可能です。
また、リツイートの場合、公開するかたちの返信になる様子です。
他の人の会話を見るイメージですね。

 工夫3:モバイル対応
携帯からも書き込んでみたのですが、Twitter自体の操作性は上々でした。
筆者がキーボードに慣れ過ぎている(手で文字を書くときにもローマ字を思い浮かべるくらい^^;)ので、携帯の文字入力が面倒でしたがそれ以外は簡単に扱えました。
調子に乗って出先で見たことをつぶやきましたが、タイムリーに書き込めるのは良いですね。

処理にはAjaxっぽい動きがあるのですが、意識してリロードしなくてもフォロー先のつぶやきなどの有無を報告してくれるなど…
しばらく試してみる予定です。

2010年5月7日金曜日

「全体」と「個別」の境目

タイトルを書いてから、なんて抽象的なんだろうと思ったのですが後悔も反省もせずに進めます。

私はSEなわけで、仕事と言えばシステム開発なり保守なりその他システム関連のよしなしごとをそこはかとなくやるわけで。
現在担当しているプロジェクトがASPであることからこんなタイトルが浮かんだわけです。

ASPはその性質上、1つのアプリケーションを複数名(複数企業)でそれぞれ利用します。
わかりやすい例としてはフリーメールがあげられます。
(Webサービスと混同している? SaaSはどうした?? まぁ、そこらへんは置いておいて^^;)
フリーメールにログインすると自分のメールボックスを利用できるのですが、そのメールボックスは自分のためだけに「個別」に作られたのではなく、アカウントさえ作れば誰でも使える代物です。
しかし、他の人のメールボックスを見ることはできないし、自分のメールボックスが見られることも(恐らく)ありません。

使う側としては便利なのですが… 作る側としてはなかなかに大変でもあります。
 「全体」 即ちそのアプリケーションの利用者のほとんどが使うであろう部分と、
 「個別」 即ち利用者によって 使う/使わない が割れる部分の切り分けが必要です。
個人ユーザ向けならば「個別」部分はオプションで選択可能(ブログのレイアウトなどがいい例です)にしておけば問題ありませんが、企業ユーザ向けだとそうもいかないことがあります。
個人だとシステムに合わせられるのに、集団(企業)だと合わせられない傾向にあるようで… システムを集団(企業)に合わせてほしいとなることが多いのです。
この要望に沿ってシステムを合わせて大変なことになったのが独SAPです。詳細は雑誌の記事(googleで「SAP アドオン バージョンアップ サポート」で検索するといくつか出てきます)を見てみてください。業界誌(?)では有名なので。

酷過ぎて例にもならないのですが、タイムリーな話題ですので取り上げると、goo mail なんかは「個別」にすべき仕様を「全体」に適用して大失敗をしつつある状況ですね。
3行でまとめると
  リッチ過ぎる画面にリニューアルし
  操作性やレスポンス・通信負荷を最悪に
  「全体」で喜ばれた機能は消え去った
ですね。
wikiまで作られている(新gooメール不具合まとめwiki)のですが、そこを見てみると、不具合以前にログインできない/画面が表示されない という素敵な状況です。
リッチ過ぎる画面は「個別」で欲しがる人がいる程度の代物で、「全体」に組み込むべきではなかったのかなぁ、と。
え? これの何処が『システムを集団(企業)に合わせてほしい』と繋がるのか?
実はgoo mailのリニューアルはNTTdocomoの携帯メールとの連携が大きな目的の一つだとか…
gooの運営はNTTレゾナントなので…
ちなみに、このgoo mail(リニューアル後)、リッチな画面はAjaxで実現しているとか…
Ajax=非同期通信JavaScript です。盛りだくさんで使うとこんなに酷くなるのか、と反面教師にしております。
Googleも盛りだくさんで使っている? いえいえ、通信が発生する頻度が全く違う様子です。
と、脱線が激しくなってきたのでここらで打ちきりです^^;

2010年4月16日金曜日

便利で危険なonLoad()

技術を書くはずがあらぬ方向に進んでいる当ブログ。
軌道修正も兼ねて技術ネタを一つ。

JavaScriptは何らかの動作(イベント)で処理を始めます。
一般的なものとして
 onClick():ボタンなどをクリックした時
 onMouseOver():マウスカーソルが乗った時
 onKeyDown():キーが押された時
などがあります。
今回のonLoad()もその一つです。
読んで字のごとく、画面を読み込んだ(ロードした)時に処理を行います。

よく目にするのが、画面読み込み時に見た目が勝手に変化するページ。
こういうページのソースをみると、<body …… onLoad="***" >と書いてあると思います。
画面読み込み時に "***" という処理で見た目の変更を行っているわけです。
ページを作る側にとってはずいぶんと便利なイベントなのですが……
便利であるがゆえに悪用も容易です。

怪しげなサイトに良くある仕掛けですが、ページを開くと勝手にウィンドウが立ち上がる。
そして、次々と新しいウィンドウが出来てきてしまってパニックになる…
身に覚えのあるあなた、怪しいサイトの利用はほどほどに^^;

このような仕掛けはonLoad()で簡単に実現できます。
具体的には、
 1、onLoad()で新しいウィンドウを開く
 2、新しいウィンドウに今開いているページを表示させる
これだけです。
ページを読み込むと、新しいウィンドウが開く⇒新しいウィンドウでページを読み込むと、新しいウィンドウ’が開く⇒新しいウィンドウ’でページを読み込むと…(以下略
ですね。

実物を用意しようと思ったのですが、開いたせいでOSがフリーズしたなどの被害が出るといけないので自重。
便利で危険なわけですが、道具は使いようということですね。

2010年4月8日木曜日

JavaとJavaScriptの境界

JavaとJavaScript
知らない人からしてみると「同じじゃないの?」と言いたくなる名前です。
どちらもプログラミング言語なのですが、用途や使い方は全く異なります。
今後、このブログでどちらの言語もよく登場すると思いますので違いについて書いて見たいと思います。
尚、詳しく知りたい方はGoogleに「Java wiki」とか「JavaScript wiki」と打ち込んで検索してみてください。
きっと詳しく正しく長々しい説明を見ることができます。

Java【じゃば】
 MicrosoftのVC++や.netと並んで、システム構築に使用される事の多いプログラミング言語。
ビルド(書いたプログラムをコンピューターが理解できる形式に変換すること)してから、コンピューター上で動かす。
インターネットを利用するシステムの場合、サーバーで動くのはこちらの言語で書いたプログラムが主体。

JavaScript【じゃばすくりぷと】
 IE(インターネットエクスプローラ)やFireFox(ファイアーフォックス)と言ったブラウザで表示するWebページ(今見ているブログもその一つです)の表示などに使用するプログラミング言語。
書いたプログラムはブラウザが読み取って実行してくれる。

簡単に書こうと心がけたのですが、専門用語を使わずに説明できませんでした ○| ̄|_
Javaは普段使うようなソフトを作る事が出来る言語、JavaScriptはWebページを使いやすくするための言語。つまり全然守備範囲が異なる言語になります。
守備範囲が異なるのに似た名前を持っている為、システム開発現場では2つを混同してしまうこともよくあります。
私自身、社会人1年目にこの2つを混同して困ったことに…
しかし、この2つの言語の境界は以下の事がわかると非常に簡単だったりします。
それは
 『JavaScriptはブラウザ上でしか動かない』
です。(原則、ですよ。例外はあります^^;)
ブラウザというのはHTMLファイルを読み取って表示するものです。
JavaScriptが動くのは、サーバーでJavaがHTMLファイルを作った後の話になる、というわけです。

これがJavaとJavaScriptの境界
…って、ちゃんと技術を勉強している人に怒られそうな説明ですが、区別するための一つの見方ですね。