Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
d257851b
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d257851b
编写于
12月 26, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x
上级
b560749b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
15 deletion
+17
-15
docs/select.md
docs/select.md
+17
-15
未找到文件。
docs/select.md
浏览文件 @
d257851b
...
...
@@ -4,15 +4,15 @@ uni-app x开发的是一个真正的原生应用,这和其他跨平台开发
我们先捋一捋各种技术路线,看看这些跨平台开发框架为什么不如原生应用。
|逻辑层 |渲染层
|类型 |代表作
|
|--
|-- |-- |--
|
|webview |webview
|弱类型 |5+App、cordova
|
|js引擎 |webview |弱类型 |uni-app app-vue、小程序(dount) |
|js引擎 |原生渲染 |弱类型 |react native、uni-app app-nvue、weex |
|dart引擎 |flutter渲染引擎
|强类型 |flutter
|
|js引擎 |flutter渲染引擎
|弱类型 |微信skyline、webF、ArkUI-x
|
|kotlin |原生渲染
|强类型 |uni-app x
|
|kotlin |原生渲染
|强类型 |原生应用
|
|逻辑层 |渲染层
|类型 |代表作
|
|--
|-- |-- |--
|
|webview |webview
|弱类型 |5+App、cordova
|
|js引擎 |webview
|弱类型 |uni-app app-vue、小程序(dount) |
|js引擎 |原生渲染
|弱类型 |react native、uni-app app-nvue、weex |
|dart引擎 |flutter渲染引擎
|强类型 |flutter
|
|js引擎 |flutter渲染引擎
|弱类型 |微信skyline、webF、ArkUI-x
|
|kotlin |原生渲染
|强类型 |uni-app x
|
|kotlin |原生渲染
|强类型 |原生应用
|
上面的表格,除了行尾的原生应用外,各个跨平台框架按出现时间排序,可以看到跨平台框架是如何演进的。
...
...
@@ -148,9 +148,11 @@ flutter开发者都知道的一个常见坑是输入法,因为输入法是典
这里没有提供开源示例,因为flutter官方是承认这个问题的,它提供了2种方式:混合集成模式和虚拟显示模式模式。
但在内存占用、版本兼容、帧率、键盘交互上都各自有各自的问题。详见:
[
https://flutter.cn/docs/platform-integration/android/platform-views#performance
](
https://flutter.cn/docs/platform-integration/android/platform-views#performance
)
但在渲染速度、内存占用、版本兼容、键盘交互上都各自有各自的问题。
详见flutter官网:
[
https://docs.flutter.dev/platform-integration/android/platform-views#performance
](
https://docs.flutter.dev/platform-integration/android/platform-views#performance
)
。
这个是中文翻译:
[
https://flutter.cn/docs/platform-integration/android/platform-views#performance
](
https://flutter.cn/docs/platform-integration/android/platform-views#performance
)
在各大App中,微信的小程序首页是为数不多的使用flutter UI的界面。
在各大App中,微信的小程序首页是为数不多的使用flutter UI的界面
,已经上线1年以上
。
下面是微信8.0.44(此刻最新版),从微信的发现页面进去小程序首页。
...
...
@@ -172,13 +174,13 @@ flutter的混合渲染的问题,在所有使用原生渲染的跨平台开发
## js+flutter渲染
flutter除了上述提到的原生通信和混合渲染,还有
2
个问题:dart生态、热更新、以及比较难用的嵌套写法。
flutter除了上述提到的原生通信和混合渲染,还有
3
个问题:dart生态、热更新、以及比较难用的嵌套写法。
所以一些厂商把flutter的dart引擎换成了js引擎,来解决上述3个问题。比如微信skyline、webF、ArkUI-x。
其实这
是让人困惑的行为
。因为这又回到了react native和weex的老路了,只是把原生渲染换成了flutter渲染。
其实这
令人困惑
。因为这又回到了react native和weex的老路了,只是把原生渲染换成了flutter渲染。
flutter最大的优势是dart操作UI不需要通信,以及强类型
,而改成js,操作UI再次需要通信,又需要js运行时
引擎。
flutter最大的优势是dart操作UI不需要通信,以及强类型
。而改成js,操作UI再次需要通信,又需要js
引擎。
为了解决js和flutter渲染层的通信问题,微信的skyline又推出了补丁技术worklet动画,让这部分代码运行在UI层。(当然微信的通信,除了跨语言,还有跨进程通信,会更明显)
...
...
@@ -205,7 +207,7 @@ flutter最大的优势是dart操作UI不需要通信,以及强类型,而改
2022年,uts语言发布。2023年,uni-app x发布。
uts语言是基于typescript修改而来强类型语言,编译到不同平台时有不同的输出:
uts语言是基于typescript修改而来
的
强类型语言,编译到不同平台时有不同的输出:
-
编译到web,输出js
-
编译到Android,输出kotlin
-
编译到iOS,输出swift
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录