並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 9352件

新着順 人気順

JavaScriptの検索結果1 - 40 件 / 9352件

  • JavaScriptの活躍の場を広げる「ランタイム」の今

    執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

      JavaScriptの活躍の場を広げる「ランタイム」の今
    • 【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC engineers' blog

      こんにちは! カヤック面白プロデュース事業部のおばらです。 普段は受託案件のデザイン・フロントエンド開発などを担当しています。 さて、『JS体操』第2問 いかがでしたか? 今回初めての方々 第1問に引き続きの方々 複数のアプローチで何通りも回答してくださった方々 普段業務で JavaScript をバリバリ書いているであろう方々 JavaScript を学んでいる学生の方々 などたくさんの方々が挑戦してくださいました。 とても嬉しいです。ありがとうございます! 『JS体操』とは? 『JS体操』とはカヤックが主催する JavaScript のコードゴルフ大会です。 もともとは社内の勉強会として始めた施策です。 その詳細は以下のブログ記事を御覧ください! techblog.kayac.com 第2問の詳細はこちら https://hubspot.kayac.com/js-taiso-001 も

        【JS体操】第2問「画像の横長具合を比較しよう」〜正攻法&ハック部門の解説〜 - KAYAC engineers' blog
      • 【Chome126】View Transitions APIで滑らかな画面遷移を実装する


         Chrome 111View Transitions API  2024611Chrome 126View Transitions API View Transitions API View Transitions API  DOM   ...🤔 View Transitions API使 View Transiti
          【Chome126】View Transitions APIで滑らかな画面遷移を実装する
        • Cloudflare Workersで構築する非同期ジョブシステム

          「Cloudflare Workers活用事例 業務利用の決め手とその効果に迫るLunch LT」https://findy.connpass.com/event/318382/ での発表資料です。

            Cloudflare Workersで構築する非同期ジョブシステム
          • Rust製JavaScriptエンジン『Boa JS』を試してみた

            主要なJavaScriptエンジンのTest262を毎日実行して結果を載せているtest262.fyiというサイトがあります。 (Test262とは最新のECMAScriptを実装できているかどうかのテストです。) このサイトの、2024/6/5現在の実装率ランキングはこちらです。 test262.fyiの画面キャプチャ(2024/6/5) V8(ChromeやNode.js、Deno等)、JavaScriptCore(SafariやBun等)、SpiderMonkey(Firefox等)という、大手エンジンとほぼ横並びで4位に食い込んでいるBoaとは何者でしょうか。 Boaは公式曰く『Rustで書かれた実験的なJavascriptのレキサー、パーサー、コンパイラー』です。これだけ揃えば、JavaScriptエンジンと言って差し支えないと思います。RustアプリケーションにJavaScri

              Rust製JavaScriptエンジン『Boa JS』を試してみた
            • Chrome の 組み込み AI Gemini Nano を試してみる

              インストールが完了したらアドレスバーに chrome://flags と入力して設定画面を開きます。以下の 2 つのフラグを設定します。 Enables optimization guide on device: Enabled BypassPerfRequirement Prompt API for Gemini Nano: Enabled また、あらかじめ Gemini Nano のモデルをダウンロードしておく必要があります。アドレスバーに chrome://components/ と入力して Optimization Guide On Device Model の「アップデートを確認」をクリックします。 Gemini Nano を使ってみる それでは、Gemini Nano を使ってみましょう。以下のコードをコンソールに貼り付けて実行します。 const canCreate = aw

                Chrome の 組み込み AI Gemini Nano を試してみる
              • TypeScriptの型と値とバリデーション

                TypeScript は本質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が本当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zod と openapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基本的に JavaScript

                  TypeScriptの型と値とバリデーション
                • GitHub - slevithan/regex: Context-aware regex template tag with advanced features and best practices built-in

                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                    GitHub - slevithan/regex: Context-aware regex template tag with advanced features and best practices built-in
                  • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)


                    JavaScript  V8  JIT  M1 Mac ARM   ARM  ARM  FJCVTZS  JavaScript CPU  JavaScript Jazelle   FJCVTZS V8 調 FJCVTZS  FJCVTZS Arm v8.3  JSCVT JavaScript 
                    • TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita


                       JavaScript/TypeScriptTypeScript TypeScriptJavaScript   JavaScripta,b TypeScript TypeScript
                        TypeScriptを導入する意味と限界、型レベルプログラミングの紹介 - Qiita
                      • [JSなし] パワーアップしたView Transitions APIでMPAをSPAみたいにする - Qiita

                        2024年6月11日リリースのChrome126から、View Transitions APIがパワーアップし、別ページへの遷移でも使うことができるようになったので紹介したいと思います。 View Transitions APIとは View Transitions APIは、画面遷移をなめらかに行うことができる機能です。 この機能を使うと、以下の動画で紹介されているように、ページ遷移にアニメーションをつけることができます。 まずはView Transitions APIの特徴から紹介したいと思います。 特徴1:異なるDOM要素間でアニメーションできる アニメーション前後のDOM構造が異なっていても、アニメーションを行うことが可能です。 例えば、<div>がアニメーションで変化しつつ<img>要素になる、といったアニメーションが可能です。 特徴2:アニメーションがCSSで自由自在 アニメー

                          [JSなし] パワーアップしたView Transitions APIでMPAをSPAみたいにする - Qiita
                        • LINE Botの開発でCloudflareとHonoを使う理由

                          概要 速さが正義 LINE Botの開発でCloudflareとHonoを使う理由 Cloudflare Workersの応答速度が速いから PoPについて CloudflareはAWSのlambdaに比べてポイントオブプレゼンス(PoP)の数が多く、処理が実行される場所がよりユーザーの近くにある可能性が高い。 そのため、パフォーマンステストではAWS Lambda、AWS Lambda@Edgeよりも応答時間が小さいという結果になった。 コールドスタートがない Cloudflare Workersはコールドスタートがなく、LambdaとLambda@EdgeのようにEventBridgeで1分おきにツンツンしなくていい。 Service bindingsが便利だから Cloudflare WorkersのService bindingsを使用することで、worker間の通信はパブリックに

                            LINE Botの開発でCloudflareとHonoを使う理由
                          • JavaScriptの識別子に中黒が使えるようになった: Days on the Moon

                            JavaScriptの識別子(変数名、関数名、プロパティ名など)の2文字目以降に中黒「・」(U+30FB KATAKANA MIDDLE DOT)が使えるようになりました。以下のコードはChrome 124では構文エラーになりますが、Chrome 125では問題なく実行できます。 const シン・ゴジラ = 2016; JavaScriptの識別子 中黒が使えるようになったのは、JavaScript(ECMAScript)の仕様が変わったからではありません。変わったのはUnicodeの仕様のほうです。Unicode 15.1.0(2023年9月)においてOther_ID_Continueプロパティ(を持つ文字の集まり)に中黒が追加されました。 そもそもJavaScriptの識別子に使える文字は、Unicodeを参照して定義されています。ECMAScript 2023(2023年6月)では

                            • JavaScriptの便利な記法や関数の紹介およびそれらの注意点について - Qiita

                              はじめに JavaScript初学者を抜けたあたりの方にむけて、便利な記法や関数、その注意点について紹介します。 初歩的な文法やデータ型などの知識は前提として解説を省きます。 JavaScriptの巨大なテーマとしては非同期処理などもあるのですが、巨大すぎるために本稿では割愛させていただきます。 let/constの使い分けについて 変数は不変なconstおよび可変なletを利用することができます。原則的にはconstを使い、再代入が必要な個所のみletを使うのが標準的です。 letを利用している時点で 「処理のどこかで再代入される」 と処理内容の推論を働かせてコードを読む人が多いと思います。このようなコードの読み方をするという前提を踏まえてコードの可読性を高めるうえでも、再代入されるかされないかを意識してconst/letを使い分けることが重要です。

                                JavaScriptの便利な記法や関数の紹介およびそれらの注意点について - Qiita
                              • WebAssembly・PWAの習作アプリを作成して感じたこと

                                はじめに この記事では、個人の習作としてwasm-image-resizerという簡易な画像リサイズ・フォーマット変換ツールをWebAssembly + PWA + Reactで作成したので、そのときに私の得た知見を記載したいと思います。 アプリとしては実に単純であんまり面白みもないのですが、半ばちょっとした好奇心と勢いで自分なりに作ってみました。手探りで拙いですが、ソースコードは以下に配布していますので、よかったら見てみてください。 アプリの技術目標 このアプリを通して私が考えた技術目標は以下のとおりです。 フロントエンドとしては言語はTypeScript、Viteをベースにする UIのフレームワークとしてReactを使用 画像変換などのアプリでやりたいコアな処理はRustで記述 wasm-bindgenとwasm-packでWebAssembly化・javascriptパッケージ化を行

                                  WebAssembly・PWAの習作アプリを作成して感じたこと
                                • Turborepo 2.0

                                  Turborepo 2.0 improves the developer experience of JavaScript and TypeScript repositories, with features including: New terminal UI: Interactive tasks and clearer logs Watch Mode: Dependency-aware task watcher for any tooling in your repository All-new documentation: Core monorepo concepts, refreshed API reference, and ecosystem tooling guides Licensing and maintenance updates: Upgraded to MIT lic

                                    Turborepo 2.0
                                  • JavaScriptの標準規格「ECMAScript」を見直す。これからの注目機能も紹介

                                    JavaScriptの標準規格「ECMAScript」を見直す。これからの注目機能も紹介 2024年6月5日 執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な

                                      JavaScriptの標準規格「ECMAScript」を見直す。これからの注目機能も紹介
                                    • ESLintのルールを全部読む

                                      全部読んで、使うのか使わないのか、使うならどういう設定にするか、を全部考える。 airbnb-base を使いがちだったが自社のルールセット作るうえでは通ったほうが良い道なのではと思ったので、やる。 array-callback-return ArrayやArray.prototypeに生えている関数(Arrany.fromやArray.prototype.everyなど)が引数にcallbackを取る場合に、callbackで必ずreturnを書くことを強要するルール。 // だめな例 /*eslint array-callback-return: "error"*/ var indexMap = myArray.reduce(function(memo, item, index) { memo[item] = index; // returnがない }, {}); var foo =

                                        ESLintのルールを全部読む
                                      • Object.keys() が返す配列の順序における数値キーの昇順には上限がある - カミナシ エンジニアブログ

                                        はじめに こんにちは。昨年の10月にカミナシに入社したソフトウェアエンジニアの tokuse です。 気が付けば入社してから既に半年以上経っており、光陰矢の如しで驚愕しています! カミナシではフロントエンドを TypeScript で開発しています。そんな中、先日 Object.keys() の仕様に起因する不具合が発生し、その際に Object.keys() が返す配列の順序に関する仕様について詳しく知りました。当稿ではその仕様について説明します(ECMAScript 最新前提です)。 はじめに 問題となった処理 Object.keys() の仕様 まとめ 余談 おわりに 問題となった処理 まず、問題となった処理をサンプルコードで紹介します。次のコードは、オブジェクトの数値キーのうち最大値を取得しようとした処理です。 type UserId = number; type User = {

                                          Object.keys() が返す配列の順序における数値キーの昇順には上限がある - カミナシ エンジニアブログ
                                        • 2024-06-03のJS: vitest v2.0.0-beta.5(browser mode)、Rspack v0.7、ESLint Migrator

                                          JSer.info #695 - Vitest v2.0.0-beta.5がリリースされました。 Release v2.0.0-beta.5 · vitest-dev/vitest --merge-reportsがカバレッジをサポート、Promiseベースのmockに対するAssertionの追加、ブラウザモードの改善などが含まれています。 VitestのBrowser Modeは、jsdomやhappy-domを置き換える形で、コンポーネントテストのための仕組みとして作られています。 開発中のVitest 2.0ではCommands APIとmodule mockingが追加されています。 次のIssueに、VitestのBrowser Modeの目的や方向性についての解説が書かれています。 Vitest Browser Mode · vitest-dev/vitest · Discus

                                            2024-06-03のJS: vitest v2.0.0-beta.5(browser mode)、Rspack v0.7、ESLint Migrator
                                          • JavaScript 実行エンジン V8 の JIT 出力コードを読んでみよう


                                            Chrome  JavaScript  V8 V8 Node.js 使 V8  JavaScript  JIT (Just In Time)  JIT  JavaScript  Just In Time  JIT  JIT  V8  JIT 
                                            • 【うひょ氏】技術発信や登壇資料づくりに。記事の隙をなくして理解度を上げる文章テクニック

                                              【うひょ氏】技術発信や登壇資料づくりに。記事の隙をなくして理解度を上げる文章テクニック 2024年6月3日 フロントエンドエンジニア うひょ TypeScriptとReactが得意なフロントエンドエンジニア。株式会社カオナビ所属。ウェブ上の技術記事や雑誌を通じて技術的な情報発信を続けている。実はJavaScript歴19年。 著書『プロを目指す人のためのTypeScript入門』(技術評論社) X(@uhyo_) 個人サイト(uhy.ooo) 皆さんこんにちは。前回は、私の技術発信の遍歴をご紹介するとともに、私の考える、技術発信に必要な能力や考え方をご紹介しました。 今回は、より具体的なテクニックやその背景をご紹介します。すでに技術発信をしている方や、これからやろうと思っている方はぜひ参考にしてみてください。文章のテクニックと、登壇(登壇資料)のテクニックをあわせてご紹介します。 keyb

                                                【うひょ氏】技術発信や登壇資料づくりに。記事の隙をなくして理解度を上げる文章テクニック
                                              • scrollbar-gutter CSS プロパティでスクロールバーの切り替わりによる画面のガタツキを解消する


                                                scrollbar-gutter CSS  2024.06.01 overflow  auto  scroll scrollbar-gutter 使 overflow  auto  scroll OS
                                                  scrollbar-gutter CSS プロパティでスクロールバーの切り替わりによる画面のガタツキを解消する
                                                • Vuex から Pinia への移行を行いました - every Tech Blog


                                                   every Tech Blog Advent Calendar 2024() 1 DELISH KITCHEN(@NaokiHaba) DELISH KITCHEN  使 Vuex  Pinia  chirashi.delishkitchen.tv  Vue.js Nuxt.js Vuex Pinia PiniaVue.jsVuexVuex 5 pinia.vuejs.org PiniaVuex
                                                    Vuex から Pinia への移行を行いました - every Tech Blog
                                                  • GitHub - marpple/FxTS: A functional programming library for TypeScript/JavaScript

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                      GitHub - marpple/FxTS: A functional programming library for TypeScript/JavaScript
                                                    • Introducing the ESLint Configuration Migrator - ESLint - Pluggable JavaScript Linter

                                                      We’ve heard you: One of the biggest reasons ESLint users haven’t upgraded to ESLint v9.x is migrating a configuration file seems difficult and complicated. Some plugins support flat config and the ESLint v9.x rule APIs and some don’t. Sometimes you need to use FlatCompat and sometimes you need to use the compatibility utilities. While we cover as much as we can in the migration guide, it can take

                                                        Introducing the ESLint Configuration Migrator - ESLint - Pluggable JavaScript Linter
                                                      • HeadlessなUIライブラリを利用する価値

                                                        Speaker : Yuito Kawashima ( https://github.com/yuitokawashima ) at 「Vue.js v-tokyo Meetup #20」 https://vuejs-meetup.connpass.com/event/318066/

                                                          HeadlessなUIライブラリを利用する価値
                                                        • Module Harmony について

                                                          2024/05/31 にCTO協会LTで発表した Module Harmony についてです。

                                                            Module Harmony について
                                                          • 話題のLLMローコード構築ツールDifyをAWSのマネージドサービスで構築してみた - エムスリーテックブログ

                                                            こんにちは。エムスリーエンジニアリンググループのコンシューマチームに所属している園田です。 普段の業務では AWS やサーバーサイド、フロントエンドで遊んでいるのですが、最近はもっぱら OpenAI や Claude3 で遊んでます。 今回は、最近巷で話題の LLM ローコード構築ツールである Dify の OSS 版を AWS のマネージドサービスのみを使って構築してみました。 DifyとはオープンソースのLLMアプリ開発プラットフォームで、様々なLLMを使用してChatGPTのGPTsのようなものがノーコードで簡単に作れます。 引用元: DifyでSEO記事作成を試してみる|掛谷知秀 試しにAskDoctorsのガイドラインHTMLをナレッジ登録してみた ローカル環境で Dify を構築する記事はたくさん見かけますが、AWS のマネージドサービスで構築する内容は見かけなかった*1ので公

                                                              話題のLLMローコード構築ツールDifyをAWSのマネージドサービスで構築してみた - エムスリーテックブログ
                                                            • 数値や日付をさまざまな形式の文字列に! toLocaleString()を使ってスマートに変換しよう - ICS MEDIA

                                                              数値や日付をさまざまな形式の文字列に! toLocaleString()を使ってスマートに変換しよう ウェブアプリケーションなどでは外部のAPIからデータを取得して表示することがあるでしょう。しかしながら、APIの値を必ずしもそのまま表示せず、ユーザーにとって分かりやすい文字列に加工することもあります。たとえば、数値をカンマ区切りにしたり、日付データを特定のフォーマットに変換したりといったことはみなさんも経験があるのではないでしょうか? そのような数字や日付を変換するのに便利なのが、JavaScriptのtoLocaleString()メソッドです。このメソッドを使うことで、数値や日付をさまざまな形式に変換できます。この記事では、toLocaleString()メソッドの使い方と、その応用例を紹介します。 サンプルを別ウインドウで開く コードを確認する toLocaleString()メソ

                                                                数値や日付をさまざまな形式の文字列に! toLocaleString()を使ってスマートに変換しよう - ICS MEDIA
                                                              • Three.js Shading Language

                                                                Creating shaders has always been an advanced step for most developers, many game creators have never created GLSL code from scratch. The shader graph solution adopted today by the industry has allowed developers more focused on dynamics to create the necessary graphic effects to meet the demands of their projects. The aim of the project is to create an easy-to-use, environment for shader creation.

                                                                  Three.js Shading Language
                                                                • React 19を概念から理解する

                                                                  2024-05-29うひょさんに聞く! React 19アップデートの勘所 #React19_Findy

                                                                    React 19を概念から理解する
                                                                  • codefolio | Webコーディングの参考になるパーツ集・ギャラリーサイト

                                                                    Instrument | Digital marketing, branding and product experiences | Instrument

                                                                      codefolio | Webコーディングの参考になるパーツ集・ギャラリーサイト
                                                                    • 【初心者向け】Reactでよく使うJavaScriptのメソッドや構文13選とReact Hooks(プチ紹介) - Qiita

                                                                      はじめに 最近、ひょんなことから初学者向けのReactアプリをレベル別に10個くらい開発しながら、ハンズオンで学べる教材的なものを作成する機会があり、それを実施する前に最低限理解していたら学習がスムーズに進むだろうと思われるものをまとめました。 また、予習編としてReact専用で使用されるものも簡単に紹介します。 ちなみに、すでに「基本編くらいわかるわ!」って方は予習編はみなくていいので、以下のリファレンスのチュートリアルをやっちゃってください。Udemyなんかでもいいと思いますのでどんどん手を動かすフェーズに入っていきましょう。 https://ja.react.dev/ 基本編(JavaScript) mapメソッド 配列内の全ての要素に対して関数を適用し、新しい配列を作成します。 const items = ['apple', 'banana', 'cherry']; const l

                                                                        【初心者向け】Reactでよく使うJavaScriptのメソッドや構文13選とReact Hooks(プチ紹介) - Qiita
                                                                      • 2024-05-26のJS: Next.js 15 RC、SolidStart 1.0、Angular v18(zoneless)

                                                                        JSer.info #694 - Next.js 15 RCがリリースされました。 Next.js 15 RC | Next.js React 19 RCに対応、React Compilerを実験的にサポート、Hydration Error表示の改善が行われています。 また、Fetch/GET Route Handler/Client Routerをデフォルトでキャッシュしないように変更、Partial Prerenderingのincrementalオプションを追加などの変更も行われています。 そのほかには、遅延処理をするnext/afterを追加、create-next-appのアップデート、非推奨だった@next/fontのサポート削除などが行われています。 SolidStart 1.0がリリースされました。 SolidStart 1.0: The Shape of Framewor

                                                                          2024-05-26のJS: Next.js 15 RC、SolidStart 1.0、Angular v18(zoneless)
                                                                        • JavaScriptのProxy(Reflect)と 昨日より仲良くなる20分 | ドクセル

                                                                          JavaScriptのProxy(Reflect) JavaScriptのProxy(Reflect)と 昨日より仲良くなる20分 2024.05.24 JavaScript祭り hiroko_ino ※掲載させていただいているOSSのコードは 発表現在のものです 自己紹介 猪野 浩子 / hiroko_ino 所属:RUN.EDGE株式会社 Web Front-end Engineer, Designe Vue.jsやFlutterでの開発や、UIデザインを時にはやっ たりしま 神奈川在 趣味はゲームのRTA

                                                                            JavaScriptのProxy(Reflect)と 昨日より仲良くなる20分 | ドクセル
                                                                          • よりシンプルになる Svelte の世界

                                                                            Svelte は記述量が少なくシンプルなコードで書けることが特徴の 1 つでした。しかし、アプリケーションの規模が大きくなるにつれて学習コストや認知負荷が増加していくという課題が浮上してきました。Svelte v5 で導入される Rune は今までの Svelte のコンセプトを覆し、よりシンプルになることを目指しています。このトークでは Svelte v5 の新機能を通じて Svelte の書き方がどのように変わるのかについて話します。

                                                                              よりシンプルになる Svelte の世界
                                                                            • Storybook 8.1

                                                                              Storybook is the industry standard workshop for building, testing, and documenting UI components. Thousands of developers use it every day, including teams at BBC, Etsy, and Dropbox. Over the past year we’ve focused on quality of life maintenance work. This culminated in the March launch of Storybook 8.0, our most performant and stable release yet. Now in 8.x, we’re back on the hunt to improve you

                                                                                Storybook 8.1
                                                                              • Magic UI

                                                                                UI library for Design Engineers20+ free and open-source animated components built with React, Typescript, Tailwind CSS, and Framer Motion. 100% open-source, and customizable.

                                                                                  Magic UI
                                                                                • A virtual DOM in 200 lines of JavaScript

                                                                                  May 19, 2024 - Póvoa de Varzim, Portugal 🇵🇹 A virtual DOM in 200 lines of JavaScript In this post I’ll walk through the full implementation of a Virtual DOM in a bit over 200 lines of JavaScript. The result is a full-featured and sufficiently performant virtual DOM library (demos). It’s available on NPM as the smvc package. The main goal is to illustrate the fundamental technique behind tools li