浦东医院网站建设,高校网站建设方案,做响应式网站代码,图书馆建设网站的相关软件跨平台开发是目前开发较热门的方向#xff0c;React Native 在这方面取得了很大的成功#xff0c;同时 Flutter 也获得了非常多的关注。React Native 采用 Web 框架开发并使用 Native UI 进行渲染#xff0c;很大程度上降低了 Native 开发的门槛并且提高迭代的效率#xff…跨平台开发是目前开发较热门的方向React Native 在这方面取得了很大的成功同时 Flutter 也获得了非常多的关注。React Native 采用 Web 框架开发并使用 Native UI 进行渲染很大程度上降低了 Native 开发的门槛并且提高迭代的效率但是也不可避免地存在一些不足之处。
本人作为 RN 的长期开发体验者深知在有些技术在现有的 RN 这类框架上没法得到很好的解决。比如首屏的速度复杂的跟手动画和原生 Android 和 iOS 上的体验确实有一定的差距的。当然这些小小的毛病不能阻碍跨平台开发技术的发展。本人也在持续的关注 Flutter这个框架解决了RN上性能的问题但是也增加了学习成本。
Lynx
最近发现了跨平台的一个新框架 Lynx 从官方简介来看这个框架还处于 alpha 状态目前还没有完整的文档只有体验 demo 。不过在体验了这个框架提供的 demo之后感觉还是可以持续关注下去的。Lynx 官方宣称拥有和 Native 一致的首屏速度和交互体验体验 demo之后发现首屏速度和交互的确很优秀。
体验
正好在之前编译 RN 和 Flutter 已经下载好了 Android SDK 和 NDK 按照 How To Build 进行编译还是比较方便的。
最终效果和官方给出的动图是一致的就是整体的 demo 还是比较少的略简单。页面开发流程暂时还没尝试只能先看看效果。 在 Lynx 的介绍里面看到了和其他现有的跨平台框架相比的一些不一样的特性根据自己的体验和官方介绍简单说一下
页面首屏展示看到给出的 demo 就可以知道这个和原生的 Android 和 iOS 页面一样都可以做到直出的基本没有任何白屏的状况。这一点相比于 RN 确实是一个不错的点。交互动画就是跟手动画在 RN 上要去实现这类动画确实是比较难本身因为中间还要过一层 JSBridge 的原因要么自己拓展 Native 的模块。而在 demo 上的交互动画非常顺畅并没有出现任何的卡顿在效果上甚至比 Flutter 帧率更高。JSBinding 机制根据官方的说法有更高效的 JSBridge但是体验上暂时没感觉出来稍后去研究一下代码动态发布测试这个是所有跨平台框架必须有的不算什么新鲜事。这个看文档的介绍需要结合脚手架 lynx-cli 。
页面直接展示和满帧的交互动画的实现原理是什么呢官方给出了一个简单的工作流程图和介绍。理解了这个就基本知道这个问题的答案了页面展示快的原因是因为将首屏的展示变成了排版文件从而略过了 JS 的执行生成首屏元素的步骤而交互动画的实现也是通过了中间的交互动画引擎在接收到事件后直接响应从而略过了 JS 的中间步骤。
体验完Lynx觉得这个框架还是值得后续观望看下能做到什么程度。
最后
Lynx 框架现在还是在 alpha 阶段暂时还不能直接用来开发要上线的应用功能也尚不完备但是可以关注它的发展毕竟这个技术在实现上和 RN 有所区别也希望能有新的想法在满足先在的需求的情况下突破现有的局限。
尝试 demo 之后准备去看看代码一探内部实现。Lynx 的仓库也给出了可以使用的 API 列表后续会根据 API 进行简单实践。希望能有更多的跨平台开发框架出现推动技术的发展。
附上 Lynx 仓库地址https://github.com/hxxft/lynx-native
更多专业前端知识请上
【猿2048】www.mk2048.com