【第2回】

DLLを見直そう ~DLLをめぐるオンラインソフトの現在・過去・未来~

(01/01/22)

そういえばよく見るうたい文句

 ここ1年ほどの間に、“DLL不要”とうたったアーカイバー(圧縮・解凍系ソフト)がずいぶん増えた気がしないだろうか。従来のアーカイバーには、“UNLHA32.DLL”や“UNZIP32.DLL”などアーカイブファイルを取り扱うための“エンジン”に相当するDLLファイルが別途必要となるソフトが多かったが、最近はそれらDLLが必要ない、すなわち自分自身で独自の“圧縮・解凍エンジン”をもつソフトが増えてきている。古くは「Lhasa」を筆頭に、窓の杜ライブラリの中にも「+Lhaca」「Lhaplus」「解凍レンジ」「Easy圧縮」などなど、多数のDLL不要型アーカイバーが登場し、そのうち4本がダウンロード数で上位10位以内に入るほど、高い人気となっている。ちょうど1年前の同じ時期は、上位20位の中にDLL不要型アーカイバーは「Lhasa」1本しかなかったのだから、最近の人気ぶりがわかるというものだろう。

 DLLがソフト本体と分かれているのはなにもアーカイバーに限らない。代表的なところではWindowsプログラム開発言語の「Visual Basic」で作成されたソフトが、ランタイムライブラリと呼ばれる形で多数のDLL類を必要とするし、漢字コード変換をするNKF32.DLLもテキストを扱う多くのソフトが利用している。秀丸エディタがJRE32.DLLを使って正規表現による検索・置換をサポートしているのも有名だ。これらに対し、DLL不要型の開発言語としては(Basicではなくパスカル系だが)「Delphi」が有名で、DLL不要のテキストビューワーやテキストエディターも多数存在する。

 それでは、DLLの必要なソフトとDLLの不要なソフト、本当に便利なのはどちらだろうか。そして21世紀のオンラインソフトは、果たしてどちらが主流になっていくのだろうか? 今回の「よもやま話」ではこの素朴な疑問をちょっと整理しつつ、ぼくなりにその未来を考えてみたい。

ユーザーから見たDLL

DLL不要型アーカイバー「+Lhaca デラックス版」
DLL不要型アーカイバー
「+Lhaca デラックス版」
 本題に入る前に、DLLというものについて簡単に説明しておこう。DLL(Dynamic Link Library)は、Windowsプログラムの中で何らかの機能をもつ“部品”のようなもので、DLL単体では動作しない。DLLを利用するにはそのDLLに対応したソフト本体が必要だ。パソコンにたとえれば、DLLは自作パソコンのハードディスクやRAMカード、CPUにあたる。自作パソコンは同じ部品を使っていても、外装や他の部品を変えることで見かけも性能も全く違うものができあがるし、古くなった部品だけを取り替えて本体を買い換えずに性能アップできるという長所がある。これと同様に、同じDLLを使うソフトでもウィンドウデザインやユーザーインターフェイスなどの外観は全く変えられるし、DLL作者とソフト本体の作者は異なることが多く、それぞれ別々にバージョンアップされているのが一般的だ。

 DLLの利点は、部品のようにソフト本体からファイルが分離されていることにある。例えばDLLだけがバージョンアップして不具合修正されれば、DLLだけをダウンロードすればよく、ソフト本体はダウンロードし直す必要がないということになる。また、同じDLLを使うソフトなら、自分が必要なDLLをすでにもっていればソフト本体だけを入手すればいいことになり、“ダブり”がない。ハードディスク容量は節約できるし、ダイヤルアップ環境では通信時間の削減、ひいては通信料金の節約につながる。複数のプログラムで1つのDLLファイルを共有できるため、実行時のメモリを節約できるのも特長だ。

 しかしその反面、DLL必要型ソフトは、DLLがないと何もできなかったり、機能が大幅に制限されるのが欠点だ。DLLを既にもっている人ならいいが、パソコンを買ったばかりでDLLをもっていない場合は、ソフト本体とDLLの両方をそれぞれダウンロードしてインストールしなければならない。ソフト本体には至れり尽くせりのインストーラーが付いていても、別途配布されているDLLにはインストーラーがついていないことも多く、このあたりがパソコン初心者には敷居が高い短所になっている。

 一方、DLL不要型のソフトは一体型パソコンにたとえられる。性能が古くなれば丸ごと買い換える必要があり、原則的には部品だけを取り替えることはできない。ユーザーが無理に部品を取り替えるとメーカー保証の対象外になってしまう。DLL不要型のソフトも特定の機能をもった部品だけを取り替えることはできず、バージョンアップのときは丸ごとダウンロードしてインストールし直すことになるが、その分初心者でもインストールやバージョンアップの作業は簡単だ。また、一般的にDLL不要型ソフトは、DLL必要型ソフトよりも合計ファイルサイズが小さくなるとか、プログラム動作が速いといった利点もある。

開発者の目で見たDLL

必要なDLLがないとエラーメッセージを表示して終了する「Lhut32」
必要なDLLがないとエラーメッセージ
を表示して終了する「Lhut32」
 DLLの存在意義は、開発者側の立場で見ても大きく違ってくる。本来DLLというのは、開発者の苦労を減らすために考えられた形式だ。作者がソフトに必要な機能を実現するために一からプログラミングしなくても、部品であるDLLを利用するために必要な機能だけをソフトに組み込めばいいことになる。パソコンを自作する場合にたとえれば、基板やコンデンサー、ICなどをすべて自分で一から揃えてパソコンを作ろうとするとものすごく大変な作業になってしまうが、現在パソコンを自作している人のほとんどはマザーボードやRAMカード、ハードディスクなど出来合いの部品をパソコンパーツショップで買い揃え、組み立てているだけなのだ。部品を利用することによって、制作に必要な作業は大幅に簡略化できる。ソフト開発者は、既存のDLLを利用することで時間と手間をかけず、ユーザーインターフェイスなどの開発に集中できることになる。また、部品であるDLLを作成している側も、DLLの新機能の開発や不具合修正に集中でき、作業分担ができるのだ。

 一方、DLL不要型ソフトの作者は、まさに基板やコンデンサー、ICなどを自分で揃えてパソコンを作っているようなものだ。もちろん規格が決まっていたり設計図がフリーで公開されていたりすることである程度の作業は軽減されるが、出来合いの部品を利用することに比べると開発に手間がかかることは否めない。しかし、それでもDLLを不要にすることで、ユーザーが得られる利点、すなわちDLLがないために動かないというトラブルを防げることや、バージョンアップが簡単という点をソフトウェア自体の特長にできるのだ。実際、DLL不要型のアーカイバがこれだけ人気が高くなってきたことは、その長所がいかにユーザーに歓迎されているかを物語っているだろう。

DLL必要型ソフトの逆襲?

 ところがDLL必要型ソフトの開発者も、このまま黙ってDLL不要型ソフトに市場シェ アを明け渡す気はないようだから面白い。

必要なDLLを半自動でダウンロードできるようになった「Explzh」
必要なDLLを半自動でダウンロード
できるようになった「Explzh」
 DLL必要型ソフトの最大の欠点は、すでに書いたようにDLLをわざわざユーザーが別途入手しなければならないという点にある。そこで、DLLの入手をソフトの機能として自動化すれば、ユーザーの負担にはならない。これに目を付け実現しているのが、DLL必要型ソフト「Explzh」の最新版だ。先日1月12日にバージョンアップしたv3.14では、必要なDLLでシステムフォルダに存在しないものをインターネット経由で半自動的にダウンロードしたり、古いバージョンのDLLをアップデートしてくれる機能が追加された。これにより、DLLがないためにアーカイブファイルを解凍できないといったトラブルを防げるだけでなく、ぼくのようにDLLのバージョンアップを知っていてもつい面倒でバージョンアップせず古いまま利用している(おそらく多数の?)ユーザーでも、手軽に最新DLLを入手できるようになっている。

 このようにインターネットを利用したアップデート機能は、「RealPlayer」など一部のオンラインソフトをはじめ、Windows UpdateによってWindows OS自身がすでに備えているといえば備えている機能だ。しかし、アーカイバーDLLのように作者の異なるDLLが多数あり、同じDLLを利用する競合ソフトも多数存在している状況の中で、このようなDLLアップデート機能を備えたものは珍しいと言えるだろう。

DLLをとりまく未来はどうなる

 さて、DLLをめぐっては今後のソフト業界がどのような流れになっていくのか興味深いところだが、今年は「Explzh」のようにDLLの自動アップデート機能をもつ“DLL必要型ソフト”が広く普及する可能性が高そうだ。一見地味な機能に思えるかもしれないが、ブロードバンドやオンデマンドが業界キーワードと言われる昨今、こうしたインターネットを利用した機能と初心者ユーザーへの配慮は、まさに時代が求めているものと言えるかもしれない。

 しかしアーカイバーという分野に限って言うなら、大容量ハードディスクやDVDなどメディアの発達とブロードバンド時代の到来によって、ユーザーがファイルを圧縮したり解凍するという行為そのものが今後なくなっていく可能性のあることを忘れてはならないだろう。JavaやShockwaveのようにオンラインでリアルタイムにダウンロードして利用するアプリケーションには、ユーザーによるインストール作業とか圧縮・解凍という行為はすでに存在しない。ストリーミング技術によって巨大なデータファイルもスムーズにオンラインでやりとりされようとしている。だからといって今すぐアーカイバーが不要になるというものではないが、アーカイバーの役割はユーザー(利用者)レベルからサーバー(提供者)レベルへ移行するなど、時代とともに変化していくことだろう。

 アーカイバー以外のDLLのあり方についても、同様に今後数年間で状況が一変する可能性はありそうだ。そういう意味では21世紀のソフトウェア業界は、これから激変の時代を迎えようとしているのかもしれない。といったところで今回の「よもやま話」は終わりにしよう。

【ソフト名】+Lhacaデラックス版
【著作権者】村山 富男 氏
【ソフト種別】フリーソフト
【バージョン】1.17(01/01/12)

□+Lhaca ----- 2000年時代の圧縮・解凍ツール
http://sapporo.cool.ne.jp/murayama/Lhaca/

【ソフト名】LHAユーティリティ32
【著作権者】大竹 和則 氏
【ソフト種別】フリーソフト
【バージョン】1.42(00/12/25)

□窓の杜 - LHAユーティリティ32
http://www.forest.impress.co.jp/library/lhut.html

【ソフト名】Explzh
【著作権者】鬼束 裕之 氏
【ソフト種別】シェアウェア 1,000円
【バージョン】3.14a(01/01/14)

□窓の杜 - Explzh
http://www.forest.impress.co.jp/library/explzh.html

(ひぐち たかし)

トップページへ
ひぐちたかしのオンラインソフトよもやま話 INDEX


Copyright (c) 2001 impress corporation All rights reserved.
編集部への連絡は mado-no-mori-info@impress.co.jp まで