Ajaxを使う理由がイマイチわからないので誰か詳しい人教えてください~。

FlexとかでRIA作ることに勝る利点が何かあるんでしょうか?

Ajaxのコンポーネントが沢山公開されてるので車輪の再発明をしないで済むとか、そういうことですかね……?
後はFlexよりはAjaxの方が開発難易度が低いとか? でもいくらAjaxのライブラリで互換性が高まったとはいえ、複数ブラウザでしっかりテストしなきゃいけないだろうしなー。開発難易度は低くてもテストで時間を取られてコスト高くなっちゃいそうだし。なんだか欠点ばかり気になってしまいます。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/05/22 21:05:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント46pt

「Ajaxのコンポーネントが沢山公開されてる」ということもあるでしょうが、技術者が多いということが最大の理由ではないでしょうか。

Ajaxといっても、所詮はJavaScriptですから、ちょっとXMLの勉強をさせれば使い物になります。技術者が多ければ人月単価は下がりますから、多少テスト工数が多くても予算内に収まります。


一方のFlexは後発ですから、下手をすると技術者を一から養成しなければなりません。

ActionScriptはJavaScriptをベースにしているものですが、制約が多く、それだけではAjax並の機能を表現することができません。どうしてもFlex固有の技術を学ぶ必要があります。


以上はビジネスのお話です。俺様スクリプトを公開するときは、逆にAjaxだとテストが大変ですから(俺様ひとりでテストしなければならないから)、Flex をマスターした方が楽ですね。


なお、RIAは、AjaxやFlexをも含んだメタ概念なので、ここで比較すべきものではないと思います。

id:FLine

あー、書いたときはRIAはWPF, Flex, JavaFX辺りを気にして書いてました。言われてみればAjaxもRIAとは言えますね。

どちらかというとAjax=JavaScriptを非同期で動作させたもの……という印象が強いので考慮が抜けておりました。

JavaScriptがちょっと使える(その手の技術者は多い) → コンポーネント使わさればとりあえずAjax使い

という理屈はわかりやすいですね。テストも技術者が多くても短期集中で終わらせればトータルコストは安くなる……と。

2008/05/17 23:21:21

その他の回答4件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント46pt

「Ajaxのコンポーネントが沢山公開されてる」ということもあるでしょうが、技術者が多いということが最大の理由ではないでしょうか。

Ajaxといっても、所詮はJavaScriptですから、ちょっとXMLの勉強をさせれば使い物になります。技術者が多ければ人月単価は下がりますから、多少テスト工数が多くても予算内に収まります。


一方のFlexは後発ですから、下手をすると技術者を一から養成しなければなりません。

ActionScriptはJavaScriptをベースにしているものですが、制約が多く、それだけではAjax並の機能を表現することができません。どうしてもFlex固有の技術を学ぶ必要があります。


以上はビジネスのお話です。俺様スクリプトを公開するときは、逆にAjaxだとテストが大変ですから(俺様ひとりでテストしなければならないから)、Flex をマスターした方が楽ですね。


なお、RIAは、AjaxやFlexをも含んだメタ概念なので、ここで比較すべきものではないと思います。

id:FLine

あー、書いたときはRIAはWPF, Flex, JavaFX辺りを気にして書いてました。言われてみればAjaxもRIAとは言えますね。

どちらかというとAjax=JavaScriptを非同期で動作させたもの……という印象が強いので考慮が抜けておりました。

JavaScriptがちょっと使える(その手の技術者は多い) → コンポーネント使わさればとりあえずAjax使い

という理屈はわかりやすいですね。テストも技術者が多くても短期集中で終わらせればトータルコストは安くなる……と。

2008/05/17 23:21:21
id:moto_maka No.2

回答回数15ベストアンサー獲得回数0

ポイント15pt

Ajaxの利点は、GoogleがGoogle Maps等で採用したことによる「知名度」が一番大きいと思います。

要するに「Flexを使って作りました」というより、「Ajaxで作りました」という方が

よりインパクトがある、というそれだけのことじゃないかなーと。

あとAjaxは基本的に無料なので、とっかかりやすさもあると思います。



FlexとAjaxの差などについては、以下のサイトでもっと詳しく説明されています。


Flex2,ActionScript3.0が優れている9の理由とAjaxとの差

http://zapanet.info/blog/item/932



ちなみに、私はFlexは使ったことはありませんが、Ajaxでの開発経験はあります。

ご質問内で欠点として挙げられている通り、複数ブラウザ対応により開発コスト増は

ものすごいものがありました・・・・もう二度とやりたくない、と思える程に(汗)

もちろん悪いことばかりじゃなく、面白い技術には違いないのである意味楽しみながら

開発できた、というのはあります(笑)


Flex、Ajaxのどちらが優れているというのではなく、お互いの弱点を相互補完する形で

技術を使っていくのが、正しい姿なんじゃないかなーと思いますね。

id:FLine

まあFlexはいまだにビルダーは有料(高い)ですからねー。そのあたりですか。

知名度は納得できるのですが、逆に、『何故GoogleはFlex(やAjax以外のRIA)を使わなかったのか……というのは気になります。AIR(Flex)は使ってるのに……。

それにしても、やっぱりテストは大変なんですね。ライブラリ互換とか謳われてるほどあるんですかね。。。?

相互補完できれば一番良いのはわかるのですが、イマイチ棲み分け具合が難しくて。結局、全部Flexで作っちゃえとかなりそうで……。まあGUI系をFlexにして、入力系はAjaxで連携とかかなあ(普通だなw)。

HTMLとかCGI系も、PDFとRIA系に移行していくのかなあと。まあPDFは未だにリンク先がそうだとわかるとウザイと思いますが。

 

リンク先、参考にさせていただきます。自分で探してた時は上手い具合に見つからなかったので。ZAPAさんの記事か。

2008/05/17 23:43:59
id:RC30-popo No.3

回答回数345ベストアンサー獲得回数13

ポイント15pt

AjaxならiPhoneやiPod touchで使えます。

ARMベースの携帯電話やガジェット類だと、フル機能のFlash Playerは載せていないけど、JavaScriptはそれなりに動くOperaやSafariなんか載る端末が増えてくるので、なるべく多くの端末のサポートするには端末側にはJavaScriptのみを要求するAjaxの方が広くサービスを使えて良いという考え方もあります。

id:FLine

まだハードがソフトウェアテクノロジーに追いついてないという感じですかね。

今後、機器がAIRやらSilverLightやらJavaFXなんかに対応してくると、Ajaxは駆逐されちゃうかもなのかー。

ただ機器の容量が少なければAIR(Webkit+JavaScript)みたいな環境も生き残るのかな。

2008/05/17 23:42:24
id:t_shiono No.4

回答回数256ベストアンサー獲得回数22

ポイント15pt

Ajaxの大きな利点の一つは、決して新しい技術ではないことです。

XHTML、CSS、JavaScriptなどのこなれた技術を組み合わせただけでRIAを構築できるということです。

もちろん、CSSブラウザ間の互換性などで、苦労することは多いのは、おっしゃる通りです。

ですが、こなれた技術なので、ノウハウは比較的豊富にあります。

個人的には、ある程度の複雑さまでであれば、Ajax(JavaScript)を採用した方がコスト的に得な場合が多いかなと思います。

例えばですが、サイトのメニュー部分なんかは、JavaScriptで対応した方が、ページ自体のデザインの変更に伴う対応や、項目の追加・変更なども容易ですので、Flexなどで対応するよりもよいかなと思います。(Flexでこれが難しいかと言われると、決してそうではないですが、対応が容易な仕組みを構築するために求められるスキルは大きく違うと思います)

まとめると、以下の2点が利点かと思います。

  • こなれた技術の組み合わせで実現されていること
  • 複雑さが小さいものであれば、Ajaxの方がシンプルで保守性がよい

何かの参考になれば。

id:FLine

レガシーにはレガシーなりの良さがあるってことですね。

Flexビルダーは有料だけどAptanaは無料だしなー。設備的にも優しいのかもしれません。

2008/05/22 20:50:22
id:ahirusan No.5

回答回数229ベストアンサー獲得回数3

ポイント10pt

AjaxはXMLを用いた非同期メッセージングを実現したフレームワークです。Ajaxの本質にJavaScriputの存在価値はあまりありません。なのでJavaScriput以外の言語でもOKなはずです。これに関しては、私は一切の実戦経験がありませんので、知識のみです(知ったか鰤!?)

id:FLine

Ajaxとは何か、という質問ではなく。

何故RIAを構築するのにFlexではなくAjaxを使うのか。

それらのRIAと比較して、Ajaxの方が優れている利点があるのか……というのが質問です。

2008/05/22 20:52:12
  • id:FLine
    フィオルン&ライン 2008/05/17 23:41:53
    ページへの負荷とかはやっぱりFlex系の方が重いのかなあ。しかし、Ajaxもライブラリをどっさり積むし、そう変わらないのだろうか。動かして試してみるかな。。。
  • id:Strada
    単純な話でリッチクライアントのエコノミークラスとファーストクラスでしょう。
    「郵便番号の入力から住所の入力補完をページの更新なしで行いたい」だけの目的でFlexを選択しますか?
  • id:FLine
    フィオルン&ライン 2008/05/22 20:57:06
    まあそんな単純な入力だけのフォームならいいんですが。
    実務的にはそんなのないですよね。
    極端な話、今後、全ページSilverLightのホームページとか出来るのかなあとかそんなことは思いますね。そういう風にした方が保守楽そうですから。
    本当の意味でエコノミーとかファーストクラスの問題を出そうとすると、まずはブラウザ互換性が出来てないとダメかなと。
    エコノミーだから事故りました、では話にならないような。
  • id:FLine
    フィオルン&ライン 2008/05/22 21:04:34
    とりあえず個人的判断としては、
    仕事で必要にならない限り、Ajax勉強しなくていいやと思いました。
    仮にやったとしてもprototype.jsでJavaScript拡張してデザインパターン組んで遊んだりするくらいかな。
    ext.jsとかにも興味がありましたが、あの規模のJavaScriptライブラリを使うならもうFlex使うかな。
    SilverLightも興味あるんですが難しいしMSDNは相変わらずよくわからないし。ふむー。
    とりあえずFlexを勉強しようという所に落ち着きそうです。
    もうちょっと質問数があればよかった気もしますが、今回はこれで打ち止めで。
  • id:FLine
    フィオルン&ライン 2008/05/22 21:24:03
    JavaScriptの方が作業を分割しやすい(複数人で作業しやすい)とかはありそうですね。。。
  • id:FLine
    フィオルン&ライン 2008/05/22 21:38:40
    なんかはてぶコメントを見て。
    FlashのAction Script自体はECMScript4準拠らしいですよ。Flex自体もオープン化したりして、まあ結構、標準化されてるんじゃないでしょうか。
    ブラウザの90%にはFlashのプラグインがインストールされているというデータもありました。ソースは覚えてないですが。

    JavaScriptは標準技術かもしれませんが、実装側の仕様が標準に沿っていないので現実的には標準になりきれていないのがダメダメかと。テスト100件あったとして4種のブラウザでテストとかすると純粋にテスト件数も4倍になるのでうんざりしますね。

    本当はこのブラウザではこういう仕様でjavaScriptを動かしてるからこの部分だけテストしよう……とかやれるといいんでしょうけど、その辺りの実装は複雑すぎて把握してる人はこの世界でも限られているのではないだろうか。

    しかも結局は、このブラウザでちゃんと動きました……という実績作りの為に、全部きっちりテストしないとダメだろうしね。今の現場だと、Win+IE6,7 MacIE, 場合によってはFirefoxという組み合わせできやがります。やれやれ。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません