-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
128c7c3
commit c5fb246
Showing
16 changed files
with
258 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,18 @@ | ||
# Incremental compilation | ||
通过将代码分成模板、脚本、和样式三个部分,已经为实现增量编译奠定了基础。增量编译的关键在于能够快速识别出自上次编译以来哪些部分发生了变化,并仅重新编译这些变化的部分,从而节省时间和资源。将代码预处理成几个独立的部分,并使用策略模式来处理这些部分,为增量编译提供了一个很好的起点。以下是一些可以考虑的方向来进一步实现和优化增量编译的功能: | ||
|
||
## 1. 变更检测机制 ✅ | ||
|
||
为了实现增量编译,你需要一种机制来比较当前代码与上一次编译版本之间的差异。这涉及到对每个部分(模板、脚本、样式)进行某种形式的哈希或签名,以便快速识别出哪些部分发生了变化。Git这样的版本控制系统就是利用哈希来追踪文件变化的一个例子。 | ||
|
||
## 2. 独立部分的编译与缓存 ✅ | ||
|
||
在检测到特定部分(模板、脚本、样式)发生变化后,你的框架应该能够仅重新编译这些变化的部分,而不是整个应用。此外,对于没有变化的部分,如果能够缓存它们的编译结果,就可以在下一次编译时直接复用,进一步提高编译效率。 | ||
|
||
## 3. 策略模式的应用 ✅ | ||
|
||
使用了策略模式进行处理,这是一个很好的选择,因为它允许你为不同类型的变化定义不同的处理策略。例如,对于模板部分的变化,可能涉及到DOM结构的更新;而脚本部分的变化可能涉及到逻辑处理的更新;样式部分的变化则涉及到视觉表现的更新。通过为这些不同的变化类型定义具体的策略,你的框架可以更加灵活地处理各种变化情况。 | ||
|
||
## 4. 优化构建过程 half ✅ | ||
|
||
# Future | ||
|
||
## Stage 1 ✅ | ||
~# Incremental compilation | ||
通过将代码分成模板、脚本、和样式三个部分,已经为实现增量编译奠定了基础。增量编译的关键在于能够快速识别出自上次编译以来哪些部分发生了变化,并仅重新编译这些变化的部分,从而节省时间和资源。将代码预处理成几个独立的部分,并使用策略模式来处理这些部分,为增量编译提供了一个很好的起点。以下是一些可以考虑的方向来进一步实现和优化增量编译的功能:~ | ||
~## 1. 变更检测机制 ✅ | ||
为了实现增量编译,你需要一种机制来比较当前代码与上一次编译版本之间的差异。这涉及到对每个部分(模板、脚本、样式)进行某种形式的哈希或签名,以便快速识别出哪些部分发生了变化。Git这样的版本控制系统就是利用哈希来追踪文件变化的一个例子。~ | ||
~## 2. 独立部分的编译与缓存 ✅ | ||
在检测到特定部分(模板、脚本、样式)发生变化后,你的框架应该能够仅重新编译这些变化的部分,而不是整个应用。此外,对于没有变化的部分,如果能够缓存它们的编译结果,就可以在下一次编译时直接复用,进一步提高编译效率。~ | ||
~## 3. 策略模式的应用 ✅ | ||
使用了策略模式进行处理,这是一个很好的选择,因为它允许你为不同类型的变化定义不同的处理策略。例如,对于模板部分的变化,可能涉及到DOM结构的更新;而脚本部分的变化可能涉及到逻辑处理的更新;样式部分的变化则涉及到视觉表现的更新。通过为这些不同的变化类型定义具体的策略,你的框架可以更加灵活地处理各种变化情况。~ | ||
~## 4. 优化构建过程 half ✅ | ||
除了增量编译之外,还可以探索其他优化构建过程的方法。比如,是否可以并行处理某些任务?是否可以更智能地安排任务的执行顺序以减少依赖等待时间?这些都是值得考虑的优化方向。 | ||
总的来说,已经为实现增量编译设定了一个很好的基础。接下来的关键在于如何有效地实现变更检测机制,以及如何优化独立部分的编译与缓存策略。通过不断迭代和优化,你的框架将能够提供更加高效和响应快速的开发体验。~ | ||
|
||
## Stage 2 ⏱️ | ||
|
||
总的来说,已经为实现增量编译设定了一个很好的基础。接下来的关键在于如何有效地实现变更检测机制,以及如何优化独立部分的编译与缓存策略。通过不断迭代和优化,你的框架将能够提供更加高效和响应快速的开发体验。 | ||
1. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Animation | ||
|
||
该测试当前位置: `GenUI/examples/tests` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-22| | ||
|
||
- [ ] Window | ||
- [x] View | ||
- [ ] Button | ||
- [ ] Icon | ||
- [ ] Label | ||
- [ ] Image | ||
- [ ] RotatedImage | ||
- [ ] Radio | ||
- [ ] Checkbox | ||
- [ ] ScrollXYView | ||
- [ ] ScrollXView | ||
- [ ] ScrollYView | ||
- [ ] SolidView | ||
- [ ] RectView | ||
- [ ] RectShadowView | ||
- [ ] RoundedView | ||
- [ ] RoundedShadowView | ||
- [ ] TextInput | ||
- [ ] DropDown | ||
- [ ] LinkLabel | ||
- [ ] FoldButton | ||
- [ ] Slider | ||
- [ ] SliderBig | ||
- [ ] Slide | ||
- [ ] SlidesView | ||
- [ ] SlideBody | ||
- [ ] SlideChapter | ||
- [ ] FoldHeader | ||
- [ ] Html | ||
- [ ] Markdown | ||
- [ ] ScrollBar | ||
- [ ] ScrollBars | ||
- [ ] DesktopButton | ||
- [ ] Splitter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Color | ||
|
||
该测试当前位置: `GenUI/examples/tests` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-22| | ||
|
||
- [x] Hex | ||
- [x] Rgb | ||
- [x] Rgba | ||
- [x] Linear | ||
- [x] Radial | ||
- [x] Shader |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Dyn |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Event |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Inject-Script |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# LifeTime |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Prop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# For | ||
|
||
该测试当前位置: `GenUI/examples/gen_makepad_simple` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-22| | ||
|
||
1. [x] `[$Type; n]` | ||
2. [x] `Vec<$Type>` | ||
|
||
--- | ||
|
||
1. [x] 单层For | ||
2. [ ] 嵌套For | ||
3. [ ] 数值绑定 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# If | ||
|
||
该测试当前位置: `GenUI/examples/gen_makepad_simple` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-22| | ||
|
||
1. [x] 简单bool | ||
2. [ ] 其他类型 | ||
3. [ ] 闭包方法 | ||
4. [ ] 数值绑定 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# Static | ||
|
||
## Makepad 基础组件测试 | ||
|
||
该测试当前位置: `GenUI/examples/gen_makepad_simple` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-22| | ||
|
||
- [x] Window | ||
- [x] View | ||
- [x] Button | ||
- [x] Icon | ||
- [x] Label | ||
- [x] Image | ||
- [x] RotatedImage | ||
- [x] Radio | ||
- [x] Checkbox | ||
- [x] ScrollXYView | ||
- [x] ScrollXView | ||
- [x] ScrollYView | ||
- [x] SolidView | ||
- [x] RectView | ||
- [x] RectShadowView | ||
- [x] RoundedView | ||
- [x] RoundedShadowView | ||
- [x] TextInput | ||
- [x] DropDown | ||
- [x] LinkLabel | ||
- [x] FoldButton | ||
- [x] Slider | ||
- [x] SliderBig | ||
- [x] Slide | ||
- [x] SlidesView | ||
- [x] SlideBody | ||
- [x] SlideChapter | ||
- [x] FoldHeader | ||
- [x] Html | ||
- [x] Markdown | ||
- [x] ScrollBar | ||
- [x] ScrollBars | ||
- [x] DesktopButton | ||
- [x] Splitter | ||
|
||
## 内置GenUI库测试 | ||
|
||
该测试当前位置: `GenUI/examples/gen_widget_simple` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| | ||
|0.1.0|0.6.0|0.1.0_unpub|2024-08-14| | ||
|
||
- [x] Label | ||
- [x] Link | ||
- [x] Button | ||
- [x] Card | ||
- [x] VLayout | ||
- [x] HLayout | ||
- [x] Radio | ||
- [x] CheckBox | ||
- [x] Icon | ||
- [x] Image | ||
- [x] Input | ||
- [x] Popup | ||
- [x] Progress | ||
- [x] Loading | ||
- [ ] Badge | ||
- [ ] DropDown | ||
- [x] Toggle | ||
- [ ] Avatar | ||
- [ ] ToolTip | ||
- [ ] Progress | ||
- [ ] Slider | ||
- [ ] Tab | ||
- [ ] Table | ||
- [ ] Dialog | ||
- [x] Select | ||
- [ ] FileUpload | ||
- [x] Divide | ||
- [ ] Loading | ||
- [ ] EmptyState | ||
- [ ] BreadCrumb | ||
- [ ] Pagination | ||
- [ ] Metric | ||
- [ ] Menu | ||
- [x] ScrollBar(s) | ||
|
||
## 内置库集成GenUI (未开始) | ||
|
||
该测试当前位置: `GenUI/examples/` | ||
|
||
|测试版本|Makepad|GenUI|更新时间| | ||
|--|--|--|--| |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Test-Plan | ||
|
||
测试计划,该计划会在GenUI框架基本完成前重复执行,并在每个阶段进行修正和增加相应的 | ||
|
||
> [!IMPORTANT] | ||
> | ||
> 当前包括以下测试: | ||
> 1. 静态组件 | ||
> 2. Color | ||
> 3. 动画 | ||
> 4. For | ||
> 5. If | ||
> 6. 动态组件 | ||
> 1. 示例与属性 | ||
> 2. 示例事件 | ||
> 3. 生命周期 | ||
> 4. 脚本混入 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters