テクノロジーは常に人類から生まれる(スヴェルト社会:質問質問メモ)

作成者:カランカラン
💡

質問やフィードバックがありましたら、フォームからお願いします

目次

    本文は台湾華語で、ChatGPT で翻訳している記事なので、不確かな部分や間違いがあるかもしれません。ご了承ください

    私は新しいライブラリを研究しているとき、同時にこの人についても調べます(もちろん全てではありませんが、そうでなければ npm install に一生を費やすことになってしまいます)。技術の創造者も人間であり、ライブラリの創造者も人間であり、フレームワークの創造者も人間です。皆血の通った、感情を持つ人々です。

    技術は常に人間にサービスを提供するためのものですから、作者の背後にある動機やストーリーを理解することは、フレームワーク自体を理解する上でも役立ちます。

    この Svelte の作者 Rich Harris は、もともと rollup の作者であり、以前はあまり知られていない Ractive.js も彼が書いたものです。彼のリポジトリからは、彼がゼロから物事を作り上げることを好む人であることがわかります。彼は New York Times でグラフィックエディターを務めており、本業は記者でしたが、後にプログラミングを独学で学び、データの視覚化やインタラクションを行うために、最終的に rollup と svelte を生み出しました。

    これは Rich Harris が Svelte Society でいくつかの質問に答えた内容で、ぜひ皆さんに聞いてみることをお勧めします。ここでいくつかのメモを取りますが、メモの内容は皆さんが期待しているものとは少し異なるかもしれません。

    The best way to learn a technology is just go ahead and build stuff with it and then as you get stuck, figure out how to ask good questions

    新しい技術を学ぶ最良の方法は、それを使って何かを作り、行き詰まったときに良い質問をする方法を考えることです。

    公式サイトのサンプルは実際に非常に理解しやすく、隣には REPL もあるので、自分で試してみることができます。

    I don't use component library for the same reason that I don't buy pasta sauce in jars I like making thing from scratch.

    この回答は「どのコンポーネントライブラリを使っていますか?」という質問から来ています。

    彼は自分で作ることが好きな人であり、もちろんゼロから書くことを選びました。そして非常にユーモラスな比喩を使います。「私はコンポーネントライブラリを使わないのは、瓶入りのパスタソースを買わないのと同じ理由です。私は最初から物を作るのが好きです。」ここからもわかるように、svelte のソースコードに手書きの parser が含まれている理由も理解できます。初期のコミットを比較してみると、大きな変化はあまり見られません。

    Router: This makes people really unhappy which I understand. If I walk into the farm and see there's 19 different kinds of shampoo I'm very unhappy. I want 2 kinds of it. Cheap and good. Ideally I want them to be the same kind.

    svelte には公式のルーターがないため(React には react-router、Vue には vue-router があります)、Rich Harris の回答は次のようになります:ルーターは時々異なるシナリオを持つことがあり、誰もが異なる意見を持っているからです。

    現在、svelte に基づくルーターの実装は多く存在しており、作者はこう表現しています。「私は人々が不快に感じることがあるのを知っています。もし 19 種類のシャンプーがあったら、私も不快です。私は安いものと良いものの2種類が欲しいです。理想的には同じ種類がいい XD」。

    TypeScript support

    実際、現在 svelte の TypeScript のサポートはあまり良くありませんが、進行中です。

    I'm just bad at delegating and letting other people take ownership of projects like Sapper.

    作者は他の人に仕事を委任するのが苦手なので、Sapper の開発は実際に少し遅れています。また、彼は今年、オープンソースから少し離れて休息を取りたいと考えているようです。

    I started svelte for myself. It's the framework I wanted to exist in the world. I get far more joy from discovering that someone who's new to development has decided to pick up svelte and is building things that they didn't think that would be able to build.

    この回答は「Svelte の目標は、テクノロジー分野(フロントエンド)で学ぶ複雑なフレームワークや複雑な概念を減らすことですか?」という質問から来ています。

    作者は、Svelte が React や Vue のように企業に採用されるのを見るのは嬉しいことですが、もっと嬉しいのは、開発初心者が Svelte を使って、自分ではできないと思っていたものを作り始めることだと述べています。

    ここからも、Svelte の構文がシンプルで、コンパイル時にすべてのことをうまく処理し、ランタイムでは自由に開発できるようにすることが目指されていることが理解できます。また、Virtual DOM を使って抽象化せずに、できるだけすべてのことをシンプルに保つことが目指されています。

    私はこの理念が好きですし、より多くの専門外の人々がウェブ開発に参加することは非常に興奮することだと感じます。それはさまざまな可能性を象徴しています。

    もし自分よりも優れた結果を出す人々が入ってくることを恐れているなら、それは単に情報の非対称性によって力の差を生み出しているだけであり、日々の積み重ねから来ているわけではありません。また、本業のエンジニアたちにもしっかりと学ぶよう警告することができます。

    Can I give you money? It's really heart-warming. But it's always a difficult topic. None of us who work on the project do so for any reason other than that we want to. And there's always a fear that getting money involved on open source could have a weird effect on our personal incentive and motivation on working on this project. In a way that you know maybe isn't best for the community. Thank you for offering as money but we don't really have a way to accept it.

    これはオープンソースソフトウェアがしばしば直面する難題です。お金の話をすると、方向性が変わることが容易にあります。Svelte 自体も多くのボランティアによって支えられています。お金をもらうのは素晴らしいことですが、今のところそのお金を受け取る方法はありません。

    私はこの理念が素晴らしいと思います。彼の考えを聞いて、すっかり Rich Harris のファンになりました。

    しかし、オープンソースだからといって、当然に無料でなければならないわけではありませんし、お金の話をするとオープンソースではなくなるわけでもありません。オープンソースでもお金を稼ぐことは可能であり、Vue の作者 Evan You はその例を示しています。リソースがあれば、より多くの人が貢献したり、より良いソフトウェアを作ったりし、社会に貢献することができるのです。それは相互に関連しています。ただし、多くの人が金銭の話をすることに恥じらいを感じたり、要求することを恐れたりしています。しばしば、自分から求めなければ、この世界はあなたに与えてくれません。将来的には、より多くの開発者が独立開発者の選択肢に進むことを期待しています。

    You presumably spent a considerable amount of time and energy on building svelte because you thought that there must be an alternative to virtual DOM Are there any other things in computer or in society where you think we are trapped in a local maximum for years or decades?

    この質問は非常に興味深いです。作者は Virtual DOM に代わるものを作りたくて Svelte を書いたわけですが、同時に他の技術や問題に関しても、何かが地域的な最大値に達しているのではないかという考えを持っています。

    作者の回答は、HTML 自体は元々テキスト(ハイパーテキスト)を表示するために設計されており、もし現代においてウェブページを再設計するなら、全く異なる言語やデザインが生まれるかもしれないということです。

    また、資本主義やマルクス主義が現代社会においてもある種の地域的な限界を持っていることにも言及しています。

    If you get into the habit of thinking in terms of local maximum you start seeing everywhere.

    そろそろ立ち止まって、私たちがどのようなものが地域的な最大値に達しているのか、私たちがもっと良くできることが何かを考える時期かもしれません。

    この記事が役に立ったと思ったら、下のリンクからコーヒーを奢ってくれると嬉しいです ☕ 私の普通の一日が輝かしいものになります ✨

    Buy me a coffee