カランのブログ

ソフトウェアエンジニア / 台湾人 / 福岡生活

今のモード ライト

私は新しいライブラリを研究する際に、同時にその人も研究します(もちろんすべてではありません、そうでなければnpm installを見るのに一生かかるでしょう)。技術の創造者は人間であり、ライブラリの創造者も人間であり、フレームワークの創造者も人間です。みんな人間で、感情を持っています。

技術は常に人類のためにあるので、作者の動機や物語を理解することは、フレームワーク自体を理解するのに役立ちます。

このSvelteの作者であるRich Harrisは、元々はrollupの作者であり、以前はあまり知られていなかったRactive.jsも彼が書いていました。彼のリポジトリを見ると、彼は完全に自作することが好きな人であり、New York Timesでグラフィックエディターとして働いていました。彼は元々ジャーナリストで、データビジュアライゼーションを行うためにプログラミングを独学し、最終的にrollupとsvelteを作り出しました。

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

技術を学ぶ最良の方法は、それを使って何かを構築し、行き詰まったときに良い質問をする方法を見つけることです。

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

公式ウェブサイトの例は実際には非常に理解しやすく、その横にはREPLもあり、自分で手を動かして試すことができます。

私はコンポーネントライブラリを使わない。なぜなら、私は瓶詰めのパスタソースを買わないのと同じ理由で、自分で作るのが好きだからです。

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

彼は自作の王様なので、もちろん自分で作ります。そして、とてもユーモラスな比喩を使っています。「私はコンポーネントライブラリを使わない。なぜなら、私は瓶詰めのパスタソースを買わないのと同じ理由で、自分で作るのが好きなんですよ」と言っています。このことからも、Svelteのソースコードの中で手書きのパーサーがどこから来たのかがわかります。初期のコミットと比較してみると、大きな変更はないことがわかります。

ルーター:これは人々を本当に不幸にするもので、私はそれを理解しています。農場に入ってシャンプーが19種類もあるのを見ると、私はとても不幸になります。2種類だけ欲しいんです。安くて良いもの。理想的には同じ種類のものが欲しいです。

Svelteには公式のルーターがないため(Reactにはreact-router、Vueにはvue-routerがあります)、Rich Harrisの回答は次のようになります:ルーターは場面によって異なることがあり、また、それぞれの人には異なる意見があるためです。

実際、Svelteをベースにしたさまざまなルーターの実装があります。作者は次のように述べています。「私は人々がそれをあまり好まないことを知っています。私も19種類のシャンプーがあるととても不快に感じます。私は安くて良いものが欲しいです。理想的には同じ種類のものが欲しいです(笑)」。

TypeScriptのサポート

現在、SvelteはTypeScriptのサポートがまだ完璧ではありませんが、開発中です。

私は単に他の人に仕事を委任したり、プロジェクトを他の人に任せるのが苦手です。それがSapperの開発が少し遅れている理由です。今年はオープンソースから離れて少し休憩したいと思っています。

作者自身が他の人に仕事を任せることがあまり得意ではないため、Sapperの開発は少し遅れているようです。作者自身も今年はオープンソースから離れて休憩したいと考えているようです。

私はSvelteを自分自身のために始めました。それは世界に存在してほしいフレームワークです。開発の初心者がSvelteを選び、思ってもみなかったものを作っているのを見つけることが、私にとってはより喜びを感じることができます。

この回答は「Svelteの目標は、フロントエンドの技術領域でのフレームワークの複雑さや複雑な概念を減らすことですか?」という質問に対するものです。

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

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

私はこのような考え方が好きであり、プロのエンジニア以外の多くの人々がウェブ開発に参加することは非常にエキサイティングだと思います。それはさまざまな可能性を表しています。

もしこれらの人々が自分よりも優れたものを作って自分の仕事を奪うことを心配するのであれば、それは通常、情報の非対称性に依存して力の差を生み出していることを示しているだけであり、日常の積み重ねからではないことにも警戒すべきです。プロのエンジニアたちもしっかりと学ぶ必要があります。

お金をあげてもいいですか?それは本当に心温まることですが、常に難しい話題です。プロジェクトに取り組む理由は、私たちがそれを望んでいるからです。そして、オープンソースにお金を絡めることで、個人のインセンティブやモチベーションに奇妙な影響を与える可能性があるという恐れが常にあります。それがコミュニティにとって最善ではないかもしれません。お金を提供してくれたことに感謝しますが、私たちは現時点では受け入れる方法がありません。

これはオープンソースソフトウェアでよくある難問です。確かにお金の話をすると、方向性が変わる可能性があります。Svelte自体も多くの貢献者がお金をもらわずに努力して完成させました。お金をもらうことは素晴らしいことですが、現時点では私たちの方向性では受け入れる方法がありません。

この考え方は素晴らしいと思います。読み終わった後、私は完全にRich Harrisのファンになりました。

ただし、同時にオープンソースは無料である必要があるというわけではなく、お金の話をするとオープンソースではなくなるというわけでもありません。オープンソースでもお金を稼ぐことができます。Vueの作者であるEven Youのように素晴らしい仕事をしています。リソースがあることで、より多くの人々が貢献し、より良いソフトウェアを作り、社会に貢献することができます。これは相互に関連しています。ただし、お金の話をするのを恥ずかしがったり、求めることを恐れることが多いようです。多くの場合、あなたが要求しない限り、この世界はあなたに与えてくれません。将来、より多くの開発者が独立開発者になる方向に進んでいくことを楽しみにしています。

Svelteを構築するために相当な時間とエネルギーを費やしたのは、仮想DOMには代替手段があるはずだと思ったからです。コンピュータや社会の中で、何年も何十年も局所的な最大値に閉じ込められていると思われるものはありますか?

この質問は非常に興味深いです。なぜなら、作者は仮想DOMに疑問を抱き、何かを変える必要があると思ったからこそ、Svelteを作ったからです。同時に、他のことについても同じような考え方を持っているのではないか、あるいはある領域や技術がある程度の極限に達しているのではないかという質問があります。

作者は、HTML自体が元々テキストを表示するために設計されたものであり、今の時代にウェブページを再設計する場合、まったく異なる言語やデザイン方法が生まれるかもしれないと述べています。

また、資本主義やマルクス主義も、現代社会で局所的な最大値に達しているということも言及しています。

局所的な最大値の考え方に慣れると、どこにでも見えるようになります。

もう一度考えてみる時が来ているかもしれません。どのようなものが局所的な最大値に達しており、私たちがもっと良いことができるのか考えてみることができるでしょう。

次の記事

JSONパーサーをゼロから作成する (2)

前の記事

テックリードになることについての感想

この文章が役に立つと思うなら、下のリンクで応援してくれると大変嬉しいです✨

Buy me a coffee

作者

Kalan 頭像照片,在淡水拍攝,淺藍背景

愷開 | Kalan

Kalan です。台湾出身で、2019年に日本へ転職し、福岡に住んでいます。フロントエンド開発に精通しているだけでなく、IoT、アプリ開発、バックエンド、電子工作などの分野にも挑戦しています。 最近、エレキギターを始めました。ブログを通じて、より多くの人と交流できればと思っています。気軽に絡んでください