| 原作者 | リッチ・ハリス |
|---|---|
| 開発者 | Svelte の寄稿者。主な寄稿者は、Rich Harris、Alan Faubert、Tan Li Hau、Ben McCann、Simon Holthausen です。 |
| 初回リリース | 2016年11月26日 |
| 安定リリース | 4.2.11 [1]
/ 2024年2月15日 |
| リポジトリ | github.com/sveltejs/svelte |
| 書かれた | JavaScript、 TypeScript |
| プラットフォーム | ウェブプラットフォーム |
| タイプ | ウェブフレームワーク |
| ライセンス | MITライセンス |
| Webサイト | 出典: |
Svelteは、Rich Harrisによって開発され、Svelteコアチームのメンバーによってメンテナンスされている、無料のオープンソース のコンポーネントベースの フロントエンド ソフトウェアフレームワーク[ 2]および言語[3]です。 [4]
Svelteは、アプリケーションによってインポートされるモノリシックなJavaScriptライブラリではありません。代わりに、SvelteはHTMLテンプレートをDOMを直接操作する特殊なコードにコンパイルします。これにより、転送されるファイルのサイズが削減され、クライアントのパフォーマンスが向上します。[5]アプリケーションコードもコンパイラによって処理され、データが自動的に再計算される呼び出しが挿入され[2]、依存するデータが変更されたときにUI要素が再レンダリングされます。[6]これにより、実行時、つまりブラウザで大部分の作業を実行する従来のフレームワーク( ReactやVueなど)とは異なり、仮想DOM [7]などの実行時中間表現に関連するオーバーヘッドも回避されます。[5] [6] [4] [8] [2] [7]
コンパイラ自体はJavaScriptで書かれています。[9] [8]ソースコードはMITライセンスで提供されており、 GitHubでホストされています。[8]同等のフロントエンドライブラリの中で、Svelteはわずか2KBのバンドルフットプリントが最も小さいものの1つです。[10]
歴史
Svelteの前身はRich Harrisが2013年に作成したRactive.jsです。[11]
Svelteのバージョン1はJavaScriptで書かれ、2016年11月29日にリリースされました。基本的にはコンパイラー付きのRactiveでした。[12] Svelteという名前は、 The GuardianのRich Harrisと彼の同僚によって選ばれました。[12]
Svelteのバージョン2は2018年4月19日にリリースされました。このバージョンでは、二重中括弧を一重中括弧に置き換えるなど、メンテナーが以前のバージョンの間違いと見なした点を修正することを目指しました。[12]
Svelteのバージョン3はTypeScriptで書かれ、2019年4月21日にリリースされました。コンパイラを使用して舞台裏で割り当てを計測することで、リアクティブ性を再考しました。[2]
SvelteKitウェブフレームワークは2020年10月に発表され、2021年3月にベータ版になりました。[13] [14]
Svelteのバージョン4は2023年6月22日にリリースされました。これはメンテナンスリリースであり、バージョン3よりも小さく高速です。 [15]このリリースの一部は、TypeScriptからJavaScriptへの内部的な書き直しとJSDocアノテーションでした。[9]これは開発者コミュニティから混乱を招きましたが、Svelteの作成者であるRich Harrisによって対処されました。[16] [17]
初期の主要貢献者は、Svelte 1のリリース時にConduitryが参加し、Tan Li Hauが2019年に、Ben McCannが2020年に加わりました。[12] Rich HarrisとSimon Holthausenは2022年にVercelに加わり、Svelteにフルタイムで取り組みました。[18] Dominic GannawayはReactコアチームからVercelに加わり、2023年にSvelteにフルタイムで取り組みました。[19]
SvelteKit 1.0は2年間の開発期間を経て2022年12月にリリースされました。[20]
構文
Svelte アプリケーションとコンポーネントは、 JavaScript に基づいてJSXに似たテンプレート構文で拡張されたHTML.svelteファイルである ファイルで定義されます。
SvelteはJavaScriptのネイティブラベル付きステートメント構文を再利用して、リアクティブ$:ステートメントをマークします。トップレベルの変数はコンポーネントの状態になり、エクスポートされた変数はコンポーネントが受け取るプロパティになります。さらに、この構文はHTML要素とコンポーネントのテンプレート化にも使用できます。[21]以下に示します。
{ JavaScript code }
<スクリプト>
let count = 1 ; $ : doubled = count * 2 ; </スクリプト>
< p > {count} * 2 = {doubled} </ p >
< button on:click = {() = > count = count + 1}>カウント</ button >
関連プロジェクト
Svelteのメンテナーは、Svelteでプロジェクトを構築するための公式な方法としてSvelteKitを作成しました。これは、ブラウザに送信されるコードの量を大幅に削減するNext.jsスタイルのフレームワークです。メンテナーは以前にSvelteKitの前身であるSapperを作成していました。[22]
Svelteのメンテナーは、Svelte組織の下で人気のあるソフトウェアプロジェクトの統合も数多く管理しており、その中にはVite、Rollup、Webpack、TypeScript、VS Code、Chrome Developer Tools、ESLint、prettierの統合も含まれています。[23] Storybookなどの多くの外部プロジェクトもSvelteやSvelteKitとの統合を作成しています。
影響
Vue.jsは、Svelteの前身であるRactive.jsをモデルにしてAPIと単一ファイルコンポーネントを設計しました。[11]
採択
Svelteは開発者から高く評価されています。複数の大規模な開発者調査でトップランクを獲得し、Stack Overflowの2021年最も愛されているWebフレームワーク、および2020年のState of JSで最も満足度の高い開発者を持つフロントエンドフレームワークに選ばれました。[24] [25]
Svelteは、ニューヨークタイムズ、アップル、Spotify、ラジオフランス(フランスの国営ラジオ放送局)[26] 、スクエア、ヤフー、バイトダンス、楽天、ブルームバーグ、ロイター、イケア、フェイスブック、FrontPopulaire-2024、Braveなど、多くの有名なウェブ企業に採用されています。[27] [28] [29]
非メンテナーのコミュニティグループは、Svelte Summitカンファレンスを運営し、Svelteニュースレターを書き、Svelteポッドキャストを主催し、Svelteツール、コンポーネント、テンプレートのディレクトリを主催しています。[30]
参照
参考文献
- ^ 「リリース 4.2.11」。
- ^ abcd Rich Harris (2019-04-22). 「Svelte 3: リアクティブ性の再考」svelte.dev . 2021年8月7日閲覧。
- ^ Harris, Rich (2018-11-26). 「Svelte の真実」. GitHub Gist . 2022-12-21に閲覧。
- ^ ab Krill, Paul (2016 年 12 月 2 日)。「スリムで高速な Svelte フレームワークが JavaScript をダイエット」。InfoWorld。
- ^ ab 「React vs. Svelte、JavaScript ビルド時フレームワーク」。react-etc.net。
- ^ ab 「Svelte 3 フロントエンド フレームワークが JavaScript 言語にリアクティブ性を導入、Rich Harris 氏との Q&A」。InfoQ。
- ^ ab Rich Harris (2018-12-27). 「仮想 DOM は純粋なオーバーヘッドです」. svelte.dev .
- ^ abc 「GitHub - sveltejs/svelte: サイバーネット的に強化されたウェブアプリ」。2020年1月11日 – GitHub経由。
- ^ ab "TS から JSDoc への変換 #8569". GitHub.com .
- ^ Frontendeng.dev (2023-08-01). 「Svelte vs React: どちらのフレームワークが優れているか?」. frontendeng.dev。
- ^ ab Świstak, Tomasz (2020-11-19). 「Svelte JavaScriptフレームワークについて」。ValueLogic | ブログ。2022-03-27にオリジナルからアーカイブ。2021-06-10に取得。ちなみに
、Vueの構文は、Svelteの直接の前身であるRactive.jsの影響を受けています。
- ^ abcd Svelte Origins: A JavaScript Documentary 、 2022年7月9日取得
- ^ Rich Harris: Futuristic Web Development、2021年12月12日にオリジナルからアーカイブ、2021年8月3日に取得
- ^ Harris, Rich (2021-03-23). 「SvelteKit はパブリックベータ版です」. svelte.dev . 2021-08-03閲覧。
- ^ チーム、The Svelte (2023-06-22)。「Announcing Svelte 4」、 svelte.dev。2023-08-08閲覧。
- ^ 「TS から JSDoc への変換」。Hacker News (news.ycombinator.com) 2023-05-10。
- ^ 「おやまあ、社内のリファクタリング PR が Hacker News で 1 位になるとは思っていませんでした。...」Hacker News (news.ycombinator.com) 2023 年 5 月 10 日。
- ^ Harris, Rich (2021年11月11日). 「今日は@sveltejsにとって大事な日です。@vercelに入社してフルタイムで取り組んでいます!」。Twitter 。2022年9月4日閲覧。
- ^ “https://twitter.com/trueadm/status/1640761270566633472”. X (旧Twitter) . 2023年9月30日閲覧。
{{cite web}}:外部リンク(ヘルプ)|title= - ^ “Accouncing SvelteKit 1.0”. 2022-12-14 . 2022-12-16閲覧。
- ^ 「Svelte チュートリアル ページ」、svelte.dev 、 2022 年 7 月 6 日取得
- ^ Harris, Rich (2017 年 12 月 31 日). 「Sapper: 理想的な Web アプリ フレームワークに向けて」. svelte.dev . 2022 年 11 月 29 日閲覧。
- ^ “Svelte”. GitHub . 2021年8月3日閲覧。
- ^ 「Stack Overflow 開発者アンケート 2021」。Stack Overflow 。 2021年10月26日閲覧。
- ^ 「State of JS 2020: フロントエンドフレームワーク」2020.stateofjs.com . 2021年10月26日閲覧。
- ^ 「ラジオフランスがサイトをSvelteKitに移行」reddit.com 。 2024年6月4日閲覧。
- ^ 「Svelte • サイバーネットで強化されたウェブアプリ」svelte.dev . 2021年8月3日閲覧。
- ^ 「Svelte を使用しているウェブサイト - Wappalyzer」www.wappalyzer.com . 2021 年 8 月 3 日閲覧。
- ^ 「あなたのプロフィール、あなたのホーム体験」yourhome.fb.com . 2021年12月1日閲覧。
- ^ 「ホーム - Svelte Society」. sveltesociety.dev . 2021年8月3日閲覧。
