シンプルなUIライブラリを使おう2023

皆さんこんにちは。昨今の技術選定においては、「**シンプルさ**」が重視されることが良くあります。

特に「イージー VS シンプル」という対立軸が持ち出されることが多く、規模の大きなアプリケーションを作る際には「シンプル」側の技術を選定するほうが有利だという論調がよく見られます。

本当にそうなのか、あるいはそもそも「シンプル」とはどういう意味なのかについては皆さんそれぞれの考えがあるでしょうから、この記事では深入りしません。

代わりに、実際どのような技術がシンプルなのかが気になるところです。そこで、今回は筆者が比較的得意なWebフロントエンドのUIライブラリの領域において、どのライブラリがシンプルなのか調査してみました。

## React

> 先日プロジェクトでReactを使ってみたら、本当に**シンプル**な実装でやりたいことが全部できちゃうというか、すぐに画面に反映できて開発効率的にも良いなと感じました。
>
> [フロントエンドエンジニア座談会：Javascriptフレームワーク編｜Blog｜株式会社デパート](https://depart-inc.com/blog/frontend-discussion-framework/)

> Reactは比較的**シンプル**なライブラリのため導入しやすいですが、JavaScriptの知識やJSXなどいくつかのコンセプトを理解する必要があります。
>
> [Reactとは？初心者にもわかりやすいように、メリット・デメリットとともに解説 - テックリーチお役立ち記事](https://tech-reach.jp/column/1569/)

> このようにReactは**シンプル**な機能を持つため、Webアプリケーションのフロントエンド開発で多く使用されています。
>
> [今注目のReactとは？ライブラリの特徴と高い将来性について徹底解説 - xhours](https://x-hours.com/articles/1510)

> React is pretty **simple**, so if you have a strong understanding of Javascript and a good React course at your disposal, you’ll be OK.
>
> [Angular, React, Vue -- A three-way comparison (OpenReplay Blog)](https://blog.openreplay.com/angular-react-vue--a-three-way-comparison/)

## Angular

> Angular は、その速度や効果的なクロスプラットフォーム開発、**シンプル**なデザインアーキテクチャなどの特性により、他のフレームワークと比較して柔軟なコーディングが可能です。
>
> [今すぐに実行できる高機能なAngularサンプルアプリを３つご紹介！ - インフラジスティックス・ジャパン株式会社Blog](https://blogs.jp.infragistics.com/entry/angular-app-examples)

> The **simple** architecture makes it easier to build the app quickly without cumbersome code, thus making the website light. This makes it easier for users to navigate through websites made with Angular JS.
>
> [Angular vs React | Angular vs Vue | React vs Vue - Know the Difference (Radixweb)](https://radixweb.com/blog/angular-vs-react-vs-vue)


## Vue

> その中でVue.jsは、**シンプル**さ、学習の手軽さなどに強みのあるフレームワークです。
>
> [Vue.jsとは？他フレームワークやライブラリとの違いもわかりやすく解説（レバテックキャリア）](https://career.levtech.jp/guide/knowhow/article/388/)

> **シンプル**な構造になっているため学習コストが低く、すぐに開発に使用することができるというメリットがあります。
>
> [フロントエンドエンジニアなら習得しておきたい5つのフレームワーク・ライブラリ - ウェブスタッフ](https://www.webstaff.jp/guide/trend/webit/fee_frameworks_libraries/)

> Vue.jsは、**シンプル**で高速なUI処理を可能にする優れたフレームワークです。
>
> [【フロントエンド】JavaScriptライブラリとフレームワークの決定版！| React vs Vue vs Angular（株式会社オータム）](https://www.wantedly.com/companies/company_6697721/post_articles/530760)

> Vue.js は、React と並んで非常に人気のあるフロントエンドフレームワークで、**シンプル**で直感的なAPIを持つことが特徴です。
>
> [【カテゴリ別 】“今、本当に使われている” フロント技術トレンド【2023】 | ramble - ランブル -](https://ramble.impl.co.jp/5043/)

> Driven completely by the Vue open source community,it’s considered progressive, **simple**, flexible, and lightweight, with total backwards compatibility.
>
> [Angular vs React vs Vue: Best JavaScript Frameworks in 2023 (Tiny Blog)](https://www.tiny.cloud/blog/vue-react-angular-js-framework-comparison/)

## Svelte

> いかがでしょうか、Svelteのコードは非常に**シンプル**で理解が容易です。
>
> [バックエンドエンジニアにお勧めしたいフロントエンドフレームワークSvelte - SO Technologies 開発者ブログ](https://developer.so-tech.co.jp/entry/2023/10/23/112959)

> どちらのフレームワークも素晴らしいことは理解できますが、フロントエンド開発をほとんどやったことがない私からみたら開発の進め方やアーキテクチャにあまり違いがあるようにみえませんでした。強いて言えば、Svelte の方が Reactよりも**シンプル**な分、やりたいことを直接的に記述して学習コストが低くなるように感じました。実際にコードを書いてみて動かしてみた感触ではどちらを選んでも同じではないかというのが率直の感想でした。
>
> [フロントエンドの技術選定（OSSTechブログ）](https://blog.osstech.co.jp/posts/2023/02/frontend-tech-selection/)

> Svelteは**シンプル**なコード記述でエンジニアの業務負担を削減するほか、アプリケーション自体の性能向上にも大きく寄与する方法として、フロントエンドを中心とする開発現場において存在感を増しつつあるフレームワークのひとつです。
>
> [Svelte 求人特集 | IT/Webエンジニアの転職・求人サイトFindy – GitHubからスキル偏差値を算出](https://findy-code.io/pick-up/articles/Findy_Svelte_2023)

> It also has a **simple** API that makes it easy to get started quickly, as well as detailed documentation that makes learning the framework straightforward.
>
> [Svelte vs. React: Everything You Need to Know About the Two (ninetailed)](https://ninetailed.io/blog/svelte-vs-react/)

## SolidJS

> SolidJSは比較的**シンプル**なAPIで構成されており、学習コストが低く始められます。
>
> [次のプロジェクトSolidJSで作りませんか？ #JavaScript - Qiita](https://qiita.com/tonio0720/items/ad2c33d9bea57435f5ea)

> A **simple** and intuitive syntax, with a focus on declarative programming
>
> [SolidJS: More Than Just Another React Alternative - Codemotion Magazine](https://www.codemotion.com/magazine/frontend/solidjs-more-than-just-another-react-alternative/)

> In conclusion, Solid.js is a powerful UI library that provides developers with a **simple** and efficient way to build dynamic, reactive user interfaces.
>
> [SolidJS vs React: Which is Better In 2023?](https://graffersid.com/solidjs-vs-react-which-is-better/)

## その他

> **Knockout.js**は、Angular.jsと比較すると機能が**シンプル**で使いやすく、軽量という特長が有ります。
>
> [JavaScriptフレームワークのまとめ【2023年版】 - フリーランススタート](https://freelance-start.com/articles/71)

> **Riot.js**とは、**シンプル**で軽量なJavaScriptライブラリです。
>
> [2022年JavaScriptのおすすめフレームワーク完全版！各フレームワークを徹底比較！ | 【テックストックMAGAZINE】エンジニア向けスキル・キャリア情報](https://tech-stock.com/magazine/javascript-framework/)

> **Riot.js**は、昨今の複雑化したフレームワークを踏まえて、非常に**シンプル**かつ学習コストの低いコンポーネント指向のフレームワークです
>
> [【2023年最新】JavaScriptのフレームワーク6選を初心者向けに比較！ | 侍エンジニアブログ](https://www.sejuku.net/blog/70110)

> **Backbone.js**は、（中略）React.jsやAngularJSのようなフルスタックなフレームワークと違い、必要最小限の機能を持つ**シンプル**なフレームワークであるため、一般的にjQueryなどと併用されます。
>
> [【最新】JavaScriptフレームワーク一覧｜おすすめ・人気はどれ？ | プログラミングを学ぶならトレノキャンプ（TRAINOCAMP）](https://camp.trainocate.co.jp/magazine/javascript-framework-list/)

## まとめ

シンプルなUIライブラリとしては、ReactやAngular、Vue、Svelte、Solidなどが存在することが分かりました。

いかがでしたか？　いいねとチャンネル登録よろしくお願いいたします。

ちなみに、ここで挙がっていないものではQwikに対する評価も探したのですが、「シンプル」とする言及が見つかりませんでした。

:::note message
**おことわり**: この記事では多くの文章から引用していますが、これは引用元の文章に対する肯定、否定、同意、非同意、称賛、非難、その他の評価を意図したものではありません。引用は、そのような考えが存在することを示すことのみを目的として行なっています。
:::