Releases: Neojs-framework/Neo-v2
Releases Β· Neojs-framework/Neo-v2
feat: enable $ binding inside ::attrs with proper render order
##μΆκ°λ κΈ°λ₯
- ::attrsκΈ°λ₯μ $λ°μΈλ© μΆκ°
@input:input [hello] {
::attrs: {
type: "text",
placeholder: $Store.count
}
}
μμ λ κΈ°λ₯
- 쑰건 λ λλ§
::if
::if ($Store.loggedIn) {
@Profile:div { ... }
}
feat: fix attrs scope by parsing children before meta blocks
μΆκ°λ κΈ°λ₯
- attrsλΈλ‘
- attrs {....}λ₯Ό ν΅ν΄ htmlκ³ μ μμ±μ μ§μ ν μ μκ² λμμ΅λλ€.
μμ κΈ°λ₯
-
μμ± λ°μΈλ©
::attrs { value: $Store.text } -
쑰건 λ λλ§
::if ($Store.loggedIn) { @Profile:div { ... } } -
λ°λ³΅ λ λλ§
::for (item in Store.list) { @Item:li { innerHTML: $item.name } }
feat: add nested children parsing and rendering support
μΆκ°λ κΈ°λ₯
- μμ νμ±
- λ¨μΌ νκ·Έλ§ νμ©λμμ§λ§ μμνκ·Έ μ§μ
- μλ μ¬λλ
- λ°μΈλ©λ λ³μ κ°μ΄ λ°λλλ§λ€ μ μ±κ° μλ μ¬λλ
What's next?
- attrs{....}λ‘ κ³ μ htmlμμ± κ΄λ¦¬
Neo v2.1.0 β Runtime-first UI DSL
π Neo Framework v2.1.0 Release Notes
Release Date: 2026-01
Version: v2.1.0
Package: @junnyontop-pixel/neo-app
β¨ Overview
Neo v2.1.0μ runtime-first UI DSLμ λͺ©νλ‘ ν μμ ν 릴리μ¦μ
λλ€.
μ΄ λ²μ λΆν° Neoλ JavaScript λ‘μ§μ μ§μ λ€λ£¨μ§ μμΌλ©°,
UI μ μΈμλ§ μ§μ€νλ μ΄κ²½λ νλ μμν¬λ‘ μ¬μ μλμμ΅λλ€.
v1μ 볡μ‘ν ꡬ쑰μ μ μ§λ³΄μ νκ³λ₯Ό μμ ν μ κ±°νκ³ ,
λ¨μνκ³ μμΈ‘ κ°λ₯ν λ λλ§ λͺ¨λΈμ μ±ννμ΅λλ€.
π₯ Major Changes
1οΈβ£ Runtime-first Architecture
- λΉλ / μ»΄νμΌ λ¨κ³ μ κ±°
.neoνμΌμ λΈλΌμ°μ μμ μ§μ λ‘λ β νμ± β λ λλ§- Vite, Webpack λ± λΉλ λꡬμ λΉμμ‘΄μ
2οΈβ£ UI / Logic μμ λΆλ¦¬
- UI:
.neo - μν & λ‘μ§: μμ JavaScript (
state.js,actions.js) - Neoλ JavaScriptλ₯Ό ν΄μνκ±°λ λ³ννμ§ μμ
3οΈβ£ Global Store Pattern μ§μ
-
window.StoreκΈ°λ° μ μ μν μ κ·Ό -
ν νλ¦Ώ λ°μΈλ© μ§μ:
innerHTML: "νμ¬ μ«μ: $Store.count" -
μ΄λ²€νΈμμ Store λ©μλ μ§μ νΈμΆ κ°λ₯:
on:click: Store.add()
4οΈβ£ λ¨μνκ³ λͺ νν Render Model
- μλ λ°μν β
- λͺ μμ μ 체 μ¬λ λ β
- μν λ³κ²½ μ
__neoRender()νΈμΆ λ°©μ
Store.count++;
// μλμΌλ‘ main.jsμμ νΈμΆπ§ Design Philosophy
- Neoλ JavaScript νλ μμν¬κ° μλλλ€.
- Neoλ μνλ₯Ό κ΄λ¦¬νμ§ μμ΅λλ€.
- Neoλ UI μ μΈλ§ λ΄λΉν©λλ€.
JavaScriptλ JavaScriptλ΅κ²,
UIλ Neoλ‘ μ μΈνμΈμ.
β οΈ Breaking Changes
#Scriptλ¬Έλ² μ κ±°- μ»΄νμΌλ¬(
neoc) μ¬μ© λ°©μ λ³κ²½ - Neo λ΄λΆ JavaScript 컨ν μ€νΈ/μν κ΄λ¦¬ μ κ±°
- v1 νλ‘μ νΈμ νΈνλμ§ μμ
π Recommended Project Structure
project-root/
βββ src/
β βββ App.neo
β βββ state.js
β βββ actions.js
βββ index.html
βββ vite.config.js (optional)
π Notes
- Neo v2.1.0μ μ€νμ 릴리μ¦μ λλ€.
- λκ·λͺ¨ μ ν리μΌμ΄μ 보λ€λ μκ·λͺ¨ / μ€νμ UI νλ‘μ νΈμ μ ν©ν©λλ€.
- ν₯ν λ²μ μμ μ€μ²© UI, λΆλΆ λ λλ§ λ±μ΄ κ²ν λ μ μμ΅λλ€.
π License
MIT License