Skip to content

Commit 6e23eca

Browse files
committed
update readme
1 parent e6696c0 commit 6e23eca

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

README.md

+35
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,41 @@ Android based on the View system. It has the following advantages:
200200
3. All your existing View system experience will be retained
201201
4. All existing UI components will be reused
202202
5. It is written in Kotlin but supports Java friendly
203+
6. At present, the initial support for real-time effective dynamization has begun. You can issue JS,
204+
use JS to write page logic, and generate JSON describing the Widget tree and pass it to the
205+
native, and the native uses a non-reflection method to convert it into a real Widget tree and
206+
render. I might consider implementing a declarative API in JS later
207+
7. In the future, the same stateful hot reload as Flutter will be implemented
208+
209+
The sample code is as follows:
210+
211+
```kotlin
212+
class WeiVCounterKotlinActivity : WeiVActivity() {
213+
private var count = 0
214+
private val maxCount = 10
215+
private val minCount = 0
216+
217+
override fun build() = WeiV {
218+
Flex {
219+
it.orientation = FlexDirection.VERTICAL
220+
221+
Button(text = "Add count", enable = count < maxCount, onClick = {
222+
setState {
223+
count++
224+
}
225+
})
226+
227+
Button(text = "Sub count", enable = count > minCount, onClick = {
228+
setState {
229+
count--
230+
}
231+
})
232+
233+
Text(text = "count = $count")
234+
}
235+
}
236+
}
237+
```
203238

204239
**No one wants to overturn their past experience with the View system, Compose's design is too
205240
bad.**

README_CN.md

+33
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,39 @@ build 耗时有时甚至超过渲染耗时。
169169
3. 你所有的现有 View 系统的经验都将得到保留
170170
4. 所有的现有 UI 组件都将得以复用
171171
5. 它使用 Kotlin 编写,但友好的支持 Java
172+
6. 目前已经开始初步支持实时生效的动态化。你可以下发 JS,使用 JS 来写页面逻辑,并生成描述 Widget 树的 JSON 传递给原生,原生使用非反射的方式将其转为真正的 Widget
173+
树并渲染。后面可能会考虑在 JS 中实现声明式 API
174+
7. 后续会实现跟 Flutter 一样的带状态的热重载
175+
176+
示例代码如下:
177+
178+
```kotlin
179+
class WeiVCounterKotlinActivity : WeiVActivity() {
180+
private var count = 0
181+
private val maxCount = 10
182+
private val minCount = 0
183+
184+
override fun build() = WeiV {
185+
Flex {
186+
it.orientation = FlexDirection.VERTICAL
187+
188+
Button(text = "Add count", enable = count < maxCount, onClick = {
189+
setState {
190+
count++
191+
}
192+
})
193+
194+
Button(text = "Sub count", enable = count > minCount, onClick = {
195+
setState {
196+
count--
197+
}
198+
})
199+
200+
Text(text = "count = $count")
201+
}
202+
}
203+
}
204+
```
172205

173206
**没有人愿意推翻自己过去在 View 系统的经验,Compose 的设计太过糟糕。**
174207

0 commit comments

Comments
 (0)