Zero Build Step ๊ธฐ๋ฐ์ Full-Stack Framework bQuery.js ์ค๊ณ ๋ถ์
bQuery.js Grows Up: From Tiny jQuery Tribute to a Full-Stack Framework โ and a Brand New Home at bquery.js.org ๐
AI ์์ฝ
Context
ํ๋ ์น ํ๋ซํผ์ ๋ฐ์ ์ผ๋ก Browser API๊ฐ ์ฑ์ํด์ก์ผ๋, ํ๋ ์์ํฌ ๋์ ์ ๋ณต์กํ Build Toolchain๊ณผ ๋ฌด๊ฑฐ์ด Runtime ์์กด์ฑ ๋ฌธ์ ๊ฐ ์ง์๋จ. ๊ธฐ์กด jQuery์ ๋จ์ํจ๊ณผ ์ต์ ํ๋ ์์ํฌ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋์์ ์ถฉ์กฑํ๋ ์ํคํ ์ฒ ํ์์ฑ์ด ๋๋๋จ.
Technical Solution
- Zero Mandatory Build Step ์ค๊ณ๋ฅผ ํตํ
<script type="module">์ง์ ์ฝ์ ๋ฐ ์ฆ์ ์คํ ๊ตฌ์กฐ ๊ตฌํ - ๋จ์ผ ์ํธ๋ฆฌ ํฌ์ธํธ ๊ธฐ๋ฐ์ Single Import ์ ๋ต์ ์ ์ฉํ์ฌ CDN๊ณผ NPM ํ๊ฒฝ ๊ฐ API ์ผ๊ด์ฑ ์ ์ง
- ๋ชจ๋๋ณ ๋ช ์์ ์ํธ๋ฆฌ ํฌ์ธํธ๋ฅผ ํตํ Real Tree-shaking ๊ตฌํ์ผ๋ก ๋ถํ์ํ ๋ฒ๋ค ํฌํจ ๋ฐฉ์ง
- Native Web Components API ๊ธฐ๋ฐ์ ์ปดํฌ๋ํธ ์ค๊ณ๋ก Virtual DOM ๋ฐ ์ ์ฉ ๋ฐํ์ ๋ ๋๋ฌ ์ ๊ฑฐ
- Signal ๊ธฐ๋ฐ์ Reactive State ๊ด๋ฆฌ๋ฅผ ๋์ ํ์ฌ DOM ์ฐ๊ธฐ ์์ ์ ์ํ ํํ์์ผ๋ก ์ ํ
- Streaming SSR ๋ฐ Server Runtime์ ๋ชจ๋ํ์ผ๋ก ํตํฉํ์ฌ ์ ์ง์ ๊ธฐ๋ฅ ํ์ฅ ๊ตฌ์กฐ ์ค๊ณ
์ค์ฒ ํฌ์ธํธ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๊ณ ์ ๊ธฐ๋ฅ ํ์ฅ์ฑ๊ณผ ๋ฒ๋ค ํฌ๊ธฐ ๊ฐ์ Trade-off๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ Explicit Entry Point ๊ตฌ์กฐ ๊ฒํ - Virtual DOM ์์ด Native Web Components๋ฅผ ํ์ฉํ ๋ฐํ์ ์ค๋ฒํค๋ ๊ฐ์ ๋ฐฉ์ ๋ถ์ - Toolchain ์์กด์ฑ์ ์ต์ํํ์ฌ ๊ฐ๋ฐ์ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ๋ Zero-config ์ํคํ ์ฒ ์ ์ฉ ๊ฐ๋ฅ์ฑ ํ๊ฐ