Medium の DFINITY 公式の記事 Developer Experience (DX) and the Internet Computer(2020/9/18) の日本語訳です。
パブリックブロックチェーンコンピュータ向けのアプリとサービスを直感的に開発できるようにすることが、ソフトウェアエンジニアリングの民主化にどのように役立つでしょうか。
サードパーティの開発者がソフトウェアを効率的に作成およびデプロイできるようにすることは、DFINITY の最優先事項です。これは、世界初のWebスピード、インターネットスケールのパブリックブロックチェーンである Internet Computer を立ち上げることにより、Web の創造力を高めることに取り組んでいるためです。デベロッパーエクスペリエンス(DX・開発者体験)とは、UX が製品のユーザー視点を優先するように、開発者のニーズを重視することです。DX チームは、開発ワークフローを常に評価し、改善と弱点の排除に努めています。
効果的な DX の設計は、プログラマーが SDK、API、ライブラリ、フレームワーク、その他のリソースを使用して特定のプラットフォーム上で構築する際に、シームレスな体験を提供します。機能性、信頼性、アクセシビリティに重点を置くことで、生産性を向上させることができます。DXの設計が成功すれば、開発者は可能な限り直感的に革新的な製品やサービスを構築できるようになります。
Read more: もっと読む: These Videos Teach the Basics of Building on the Internet Computer
DXチームは、ツール、言語、ドキュメント、Internet Computer にデプロイできるデモ、そして開発者と話し、彼らの問題を理解し、その解決を支援するためのフォーラムを提供しています。コミュニティの声に耳を傾け、コミュニティに参加することは、私たちの活動で重要なことの1つです。
Internet Computer の DX は常に成長・拡大していますが、現在は以下のような主要分野に分けられます。
ツール
- DFINITY Canister SDK: 開発者が Internet Computer 用のアプリケーションを作成するために使用するソフトウェア開発キット。
- Rust CDK: 開発者が Internet Computer 用のソフトウェアをRustでプログラミングするためのキャニスター開発キット。
- Vessel Package Manager: プログラミング言語 Motoko 用のシンプルなパッケージマネージャー。
- Motoko VS Code Extension: VS Code におけるプログラミング言語 Motoko 用のシンタックスハイライト。
言語
- Motoko: Internet Computer のユニークな機能をサポートし、親しみやすく堅牢なプログラミング環境を提供するために特別に設計されたプログラミング言語。
- Candid: Internet Comuter 上のソフトウェアキャニスター間のデータ交換を可視化するために使用されるインターフェース記述言語(IDL)。
- WebAssembly: ウェブ上で複数の言語のコードを超高速で実行する手段。
ガイダンス
- Developer Forum: 開発者が質問したり、興味のあるトピックを探したりできるフレンドリーなディスカッションボード。
- Documentation: SDKのマイクロサイトには、開発者が最初のアプリケーションを作り始めるためのドキュメント、ビデオとチュートリアル、サンプルが豊富に掲載されています。
- Hackin’ on the Internet Computer: SDKエンジニアの Hans Larsen が、プラットフォーム上でのさまざまなプロジェクトの構築について、このビデオシリーズで紹介しています。
- Support: バグと機能の要望は、support@dfinity.org までメールでお寄せください。
Sample Apps サンプルアプリ
- Sample App Repo: Motokoの簡単なサンプルアプリ。
- LinkedUp: 2020年のダボスでの世界経済フォーラムで実演された、Internet Computer 上に構築されたプロ用のソーシャルネットワーク。
- CanCan: Tungsten Developer Network の立ち上げ時に公開された、分権的でスケーラブルな動画共有モバイルアプリ。
- Reversi: DFINITYのスタッフエンジニアである Paul Liu は、Internet Computer でマルチプレイヤーのリバーシゲーム(通称オセロ)を作り上げました。
- Superheroes: DFINITY シニアエンジニアの Enzo Haussecker は、MotokoとReact を使って、Internet Computer 上で CRUD アプリケーションを構築する方法を実演しました。
- IC Game Terminal: DFINITY エンジニア&リサーチャーの Matthew Hammer は、シンプルなキーボード入力とグラフィック出力を持つゲーム端末を作りました。
人間の創造性がテクノロジーの可能性を最大限に引き出す
DXとは、ある意味、古い考え方に縛られることなく、新しい技術の可能性を想像し、その使い手を後押しすることです。
Read more: もっと読む: How Software Developers Build Better on the Internet Computer
例えば、フィルムで映像記録が可能になったとき、最初に創造的な使い方をしたのは、演劇を見るかのように舞台に向かって静止した視点で短編映画を撮影することでした。今となっては基本的なことですが、演劇の最初の民主化として画期的だったことは間違いありません。しかし、カメラを動かし、フィルムを操作するようになってから、クローズアップ、パン、ダイナミック編集などの技術の創意工夫がなされたことで、映画という真に新しいメディアが生み出されたのです。
別紙A.技術導入曲線。
Geoffrey Moore は、新しい技術の採用のライフサイクルにおける「キャズムを越える」という概念で、定義されたグループにおける新技術の採用を説明しています。ライフサイクルのさまざまな段階において、最も越えにくいキャズムは、製品の早期採用者(「ビジョナリー」)と最初の主流ユーザー(「プラグマティスト」)の間です。
図表B:Twitterを技術導入曲線に沿ってマッピングしたもの。
例えば、2009年に Oprah Winfrey がライブ収録中にTwitterに参加した時、プラットフォームはその後数日で50万から150万人のフォロワーが増えました。これは、ポストキャズムです。しかし、Twitterの成功は、製品に採用された非常に多くの機能(リツイート、ハッシュタグ、@メンションなど)を有機的に導入した先見性のあるコミュニティによって実際に推進されました。
このようなクリエイティブな気運は、Oprah のような信頼できる公人がTwitterに参加したことで、このプラットフォームが主流となる道が開かれたのです。
キラーアプリを追い求めて
別紙C.Palm Pilot から iPhoneの様々なバージョンへの進化。
キャズムを超えるもう一つの方法は、新しいプラットフォームで明確な「キラーアプリ」を成功させることです。これは、より大きなテクノロジーのコアバリューを証明する革新的で便利な製品として定義されます。
今日、Palm Pilot は最新のスマートフォンの先駆けとして思い出され、iPhoneの普及につながったことは、振り返ってみれば明らかなことです。しかし、2007年に発売された初代 iPhone は、さまざまな評価を受けました。CNET は、iPhoneには通話用の「通話」ボタンと「終了」ボタンがないことを嘆き、インターフェースの切り替えが「面倒」だと不満を漏らしました。TechCrunch は iPhone を酷評し、バーチャルキーボードは「電子メールやテキストメッセージをタップするのに回転式電話と同じくらい役に立つ」と述べました。ブルームバーグは「iPhoneは一部のガジェットフリークを魅了する高級品に過ぎない」と論評しています。
この受け止め方は、iPhone を新しいプラットフォームとして認識していなかったということです。iPhone が進化し、サードパーティのアプリが登場したとき、その成功を可能にしたのは、データ接続性、携帯性、ジオロケーションサービス の三拍子が揃った新しい製品でした。モバイルソーシャルメディアやライドシェアサービスなどの登場により、キラーアプリの波が押し寄せ、私たちの携帯電話に対する見方と関わり合いの仕方が一変しました。
別紙D.CryptoKitties から CanCan、未知のアプリからメールまで、分散型アプリの進化。
同じようなパラダイムシフトが今まさに起きており、インターネットの統合と企業化の進展に応じて、分散型テクノロジーが進化しています。技術導入曲線という観点から見ると、ブロックチェーンのプラットフォームまたはアプリケーションは、まだ本当の意味でキャズムを越えてはいません。この業界はまだ、この新しいパラダイムのアーリーアダプターたちによって開拓されている段階です。
Read more: もっと読む: Rebooting the Internet: Andreessen Horowitz’s Chris Dixon on the Decentralized Web
新しいプラットフォームの最初のユースケースは些細でつまらなく見えるかもしれませんが、それは本当に可能性がないわけではありません。例えば、デジタル猫の購入と収集のために作られたアプリ「CryptoKitties」は、イーサリアムの初期アプリとして最も人気があるものの1つであり、イーサリアムネットワーク上の全トランザクションの12%を占め、著しい混雑を引き起こすほどの人気になりました。
技術的な観点から見ると、新しい技術パラダイムの初期および成熟した兆候を定義することは容易です。分散型エコシステムの急速な発展と普及を実現するためには、ビジョンと気運の両方が必要であり、これを実現するためにはシームレスな DX を作ることが極めて重要なのです。
DX と民主化
私たちは、Internet Computer で、できるだけ簡単かつ直感的に作成できるようにすることを目指します。もし私たちが権力と技術の分散化を望むならば、まだ自分を開発者だと考えていない人たちも含めて、誰もがこの未来に貢献できるようにしなければなりません。
門番を排除し、参入のハードルを下げるのです。ツイートするのと同じくらい簡単に、Internet Computer でソフトウェアキャニスターを作ることができます。ソフトウェア工学の民主化は、もう手の届くところまで来ているのです。
インターネットを自由で開かれたルーツに戻すには、世界中の開発者の知的好奇心と貢献なしには不可能です。最適な DX を提供する方法についてのフィードバックをお聞かせください。そして、皆様とともに、より公平なインターネットの時代を切り開いていきたいと思います。
dfinity.org/sodium で Internet Computer の Sodium 開発者ネットワークへアクセスして登録しましょう。
開発者コミュニティに参加し、forum.dfinity.org でビルドを開始しましょう。