Curlビギナー卒業生に送る言葉


nobrooklyn さんのとこでCurlのエントリをみつけたので、
またも勝手にコメント。
送る言葉というタイトルが偉そうですが、在校生の送辞のようなもんだと思ってください。


Curlビギナー卒業生
http://d.hatena.ne.jp/nobrooklyn/20080303/1204554174


■どこにカッコを付けて、どこにカッコを付けないのかがイマイチわからない
確かに。
他の言語とCurlの違いでわかりづらいかもしれませんね。
別エントリでまとめて見ます。


■見た目がなんかカッコ悪い
確かに。

バージョン6.0から、HTMLでいうところのCSSのような機能がついて、
すこし見栄えをよくすることが出来ますが、Flash などと比べるとまだまだですね。

アニメーションなどもオーサリングツールがあるわけではないので、
Curlで実装しようとすると、プログラミングとなってしまい、
複雑なものについては現実的ではありませんね。



■インストールが簡単に and アプリケーションの配布が不要
ここでは、「ランタイム(実行環境)」と「アプリケーション」とを区別する必要があると思います。


「アプリの更新のたびにインストールが発生する」というのは、
手間を考えると望ましいものではないので、ランタイムであろうが、アプリであろうが、
インストールも更新も、自動的にされるのがありがたいのですが、
セキュリティや管理ということを考えると、何でも暗黙的に自動化されているのは、怖いものです。
ここは考え方の違いによって、メリットとデメリットがあるところですね。


◆ランタイムのインストール
まず、リッチクライアントのプラットフォームである以上すべてにいえることですが、
ランタイム(実行環境は)は、必ず何らかの方法で最初にインストールしなければいけません。
しかし、多くのプラットフォームは、ランタイムの更新を半自動化していますので、
一度インストールしてしまえば、その後の更新の手間はあまりかからないようになっています。


◆アプリケーションの配布
アプリケーションに関しては、インストール式と、WEB配置式に分かれるようですね。
Adobe製品でも、FlashFlexはWEB配置型ですが、AIRアプリケーションになると
各クライアントマシンにユーザーがインストールする仕組みになっています。


Curlは、WEB配置式ですので、アプリごとにユーザーがインストールする必要はありませんが、
標準のAPIを利用して、オフライン用のレプリケーションをクライアントに配置できます。
Curlの場合は、オンライン時はWEB上に配置されているものを、
オフライン時はクライアントマシンのレプリケーションを、自動的に判別して実行します。


インストール式のよい点は、オフラインでもアプリケーションが動かせるところです。
個人ユーザーの場合は、オフラインアプリは、各マシンごとに管理したい、
というニーズがあるのだと思いますが、
企業アプリを対象として、なるべくシステム管理者とユーザーの
管理コストを下げようというCurlとは、少し考え方が違うのかもしれません。