Webは十分すぎるほど強力である、ポール・フォード著
The Web Is More Than Enough, by Paul Ford (ftrain.com)
要約
この記事は、Webブラウザがアプリケーション開発に非常に強力なプラットフォームであり、その利用コストが日々低下していることを論じています。Web Crypto API、Web Assembly、WebGL、Web Audio APIなどのブラウザ技術の進化により、個人でもリッチなアプリケーションやゲームを以前よりはるかに容易に開発できるようになりました。この変化は、ソフトウェア開発の経済構造やアプリストアのエコシステムにも大きな影響を与える可能性が示唆されています。
全文翻訳
Ftrain、ポール・フォード著
Webブラウザは信じられないほどリッチなアプリケーション開発を可能にし、それはかつてないほど容易になっています。
先週は楽しい一週間でした。私たちはtinylittleoffice.comをローンチしました—これはここで初めて聞く話です!—そして、「URLにデータを保存するオフィススイート」の市場が多くの人々にあることが判明しました。
あまりにも多くの人々が訪れたためサーバーがダウンし(無料のCloudFlareプランの上限に達しました)、最終的にクレジットカード情報を入力した後、数十万人がチェックするために訪れました。Hacker Newsの人々はそれが無意味な時間の浪費だと主張し、GitHubの人々は機能追加や修正を求め始めました。これらはすべて検討しており、一部は実施する予定です。The Registerはそれについて記事を書きました、そしてそれはProduct Huntのトップ10に一時的にランクインしました。
すべて順調です。私たちは、顧客やクライアントのために安定したソフトウェア開発作業を行う傍ら、このプロジェクトを少しずつサポートし、強化し続けます。しかし、このプロセスについて私を驚かせたことを、ここで一度立ち止まって指摘したいと思います。それはこれです:
Webブラウザは、アプリケーションを構築するための非常に、非常に、非常に強力なソフトウェアです。
これは明白なことであり、過去20年間いつでも言えたことだと分かっています。しかし今、その声明に補足があります:
Webブラウザはアプリケーションにとって非常に、非常に、非常に強力なソフトウェアであり、そのパワーにアクセスするためのコストは、日ごとに低下しているように見えます。
私は、通常の長いニュースレター記事を書くのにかかる労力の約2倍を、Webベースのオフィススイートの構築に費やしました。これは私が特別な人間だからではありません。あなたが望むなら、あなたもそれを学ぶことができるからです。
速く、安く、良い、ですよね?しかし、クレジットカード情報を入力する必要があった後でも、CloudFlareのホスティング費用は…$0でした。私が安さを重視して最適化している部分もありますが、最近はそれが普通なのです。速い?神よ、コンピューターは速いですし、ソフトウェア開発も過去に比べれば速いです。しかし、Webアプリをコーディングしていると、ブラウザの知らなかった新しい領域を次々と発見します。そこは本当に…ワイルドです。
- Web Crypto APIは、ブラウザにおけるファーストクラスのセキュリティプラットフォームです。
- Web Assemblyプラットフォームを使用すると、ブラウザでネイティブスピードのコードを実行できます。
- WebGLは、ブラウザで高品質な3Dおよび2Dグラフィックスを提供します。
- Web Audio APIを使用すると、ブラウザでサウンドをミキシングできます。
そして、これらはほんの一例です。Webは現在、想像できる限り最高の配布プラットフォームです。それは本質的に多言語対応です—私はTinyLittleOfficeを21言語(最も一般的なニューヨーク市の言語、そのためクレオール語やイディッシュ語も含まれています)でリリースし、アクセシビリティのための多くのインフラストラクチャを備えています。もちろん、JavaScriptはフル機能のプログラミング言語であり、HTMLはコンピューター上のほとんどのドキュメント機能を表現できます。もしもっと昔ながらのものが必要なら、PDF.jsを使えばブラウザでPDFを扱えます。最近はテキストを確実にハイフネーションできるとさえ思いますが、それを信じることは拒否します。
私はこれらの技術が存在することを知っていました。実際にそれらを使ってプログラムしたこともありました。しかし、私はそれらを真剣に調べたことはありませんでした。ただ、構築を容易にするオープンソースコードをダウンロードして、ソフトウェアを完成にこぎつけようとしていました。
私の奇妙な1990年代風オフィススイートは、あなたを説得できないかもしれません—それは奇妙で小さいです。そこで、Simon Willisonの新しいWebベースブラウザ3Dゲーム、Battle Dronesを見てみてください。彼はそれをGitHubでホストしています。彼自身が書きました。彼はゲーム開発者ではありません。ブラウザでポップアップ表示され、すぐにプレイできます。マルチプレイヤーで、オフラインでも動作します。
[画像: Battle Dronesゲームのスナップショット。緑がかった陸地と、上から見た青と灰色の構造物がいくつか写っています。]
ファブプラントを設置する時間です。
彼がそれについて書いたように:
…しかし、このようなバイブコード化されたゲームが真剣に受け止められる道筋が見えてきました。Battle Dronesは楽しく、見た目も良く、革新的な機能(RTSとしては、オーディオ経由のマルチプレイヤーは私が知る限り初めてです)を備えています。私よりも優れたセンスを持ち、真に傑出したものを作る情熱を持つ人が何を作れるか見てみたいです!
様々なクールなブラウザ技術は長年存在してきました。しかし、それぞれが非常に広範です。Web Audioに精通するなら、Web CryptoやWeb Assembly、WebGLに精通する時間はないでしょう。
それらがこれほど複雑だった理由は、基本的に、Googleのようなチームのために構築されたのであって、個人のためではなかったからです。過去において、Webは人々がWebページを作成するためのものでした—そして、はい、現在でもそれは可能ですが、10年以上にわたり、Webは巨大企業がクレジットカードで商品を購入する何十億もの人々にソフトウェアを安全に提供できるように設計されてきました。これらの巨大なメガライブラリは、大規模チームが大きなものを作ることを可能にするためにWebブラウザに投入され、小さな開発者は後回しにされていました。しかし今では、3Dでサウンドを備えたゲームを作成し、飛行機の中でも問題なく動作させることができます。
これは「私たちはAIバブルにいるのか」という問いが曖昧になる場所の一つです。なぜなら、これらの巨大なAI企業がAGIの幻覚を見ていることは明らかですが、同時に、もし私たちが例えば100倍多くの人々がお互いのためにソフトウェアを作るという経済的変革を実際に解き放つことができれば、それは現在のテクノロジー経済に巨大なクレーターを空けることになるでしょう。あなたの巨大な産業用織機で作られるカーペットの具合が気に入らないですか?独自のファームウェアをハックして、各カーペットを完全にパーソナライズしましょう!どんなInstagramの投稿も巨大な床材に変えましょう!突然、すべてのカーペット会社は競争するために独自のファームウェアをハックしなければならなくなります。それはどのようなものになるでしょうか?
これはまた、アプリストアのエコシステムを不安定にします。数週間でWebサーバーからアイデアを無料でテストできる場合、アプリストアのために構築する際の高い手数料を支払う価値は低下します。おそらくMozillaはモバイル電話のローンチに再挑戦すべきでしょう!(それを言ったことは忘れてください。)いずれにせよ、かつて大規模な産業プロセスだったものが、望むなら、今や個人的なものになっています。Webブラウザは信じられないほどリッチなアプリケーション開発を可能にし、それはかつてないほど容易になっています。
これは諸刃の剣です。私は長年ライターをしてきましたが、ソフトウェア開発は毎週、私にとって執筆にますます似てきているように感じます。この比較の厄介な点は、一般的に、人々はライターにお金を払いたがらないということです。ライターとして、それに慣れてしまいます。しかし、ソフトウェア開発者にとっては、常に価値を低く見られることはかなり新しい経験です。しかし、もしソフトウェアで何かを行う必要があるなら—私たちのクライアントのように!—例えば、プロセスを修正する、データベースを整理する、大規模な産業機器からより多くの価値を引き出すといったことであれば、それは驚くべき時代です。なぜなら、ほとんど何でもできるからです。私たちは皆、中間地点で会うと確信していますが、それには時間がかかり、その先は異なるものになるでしょう。