资讯专栏INFORMATION COLUMN

跨平台开发框架 Lynx 初探

jsyzchen / 817人阅读

摘要:跨平台开发是目前开发较热门的方向,在这方面取得了很大的成功,同时也获得了非常多的关注。最近发现了跨平台的一个新框架,从官方简介来看这个框架还处于状态,目前还没有完整的文档,只有体验。希望能有更多的跨平台开发框架出现,推动技术的发展。

跨平台开发是目前开发较热门的方向,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...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93941.html

相关文章

  • [转]详解PHP设置定时任务的实现方法

    摘要:服务器定时任务服务器定时任务需要你是独立的服务器,或者是,总之就是对系统的配置有足够的权限,虚拟空间就不要折腾这个方法了,因为你没有权限。 文章转载自:问说网 » 详解PHP设置定时任务的实现方法地址:http://www.uedsc.com/php-timing-task.html 定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大...

    lemon 评论0 收藏0
  • PHP 实现定时任务的几种方法

    摘要:为系统增加的第一行代码不会影响该脚本在下的运行,因此您也可以用该方法编写跨平台的脚本程序。指定会话页面在客户端中的有限期分钟缺省下为分钟。最原始的博主没有找到,只能在此声明,特为转载。 这几天需要用PHP写一个定时抓取网页的服务器应用. 在网上搜了一下解决办法, 发现OSchina的 一个问题的解答很精彩(值得一看,谢谢大牛们的精彩回答O(∩_∩)O~), 提出几种解决办法.现总结如下...

    huhud 评论0 收藏0
  • 钉钉开发初探...

    问题 1. - 钉钉开发需要哪些资质,需要申请哪些账号、走哪些流程(像微信小程序的话,一大堆申请、一大堆企业认证)——这些需要提前准备了解清楚 怎么开发? 有哪些功能? 目前市场上有哪些别人的框架 收集学习材料 有哪些功能有,但是存在限制(例如小程序的打开 app 功能) 有哪些功能自身存在限制性(如小程序的地图) 开发边界是什么?有哪些需求是做不到的 有哪些功能是需要特殊资质的(如...

    lavor 评论0 收藏0
  • 微前端改造初探

    摘要:我们继续沿用了原来就有的,借此把融入整个微前端框架,而已经改造的则不需要我们的开发团队,分框架组和各个业务组。项目该项目是整个微前端项目的入口。本坑实践它很大的理由也是用自己的方法初探微前端实践方法的可行性。 在写这篇文章的一个多月前,本坑还不知道微前端是什么,大概从字面上的含义是比较小的前端项目。 本坑开始实践它,是由于工作要求。改造一个运行多年,前端用jsp写的服务平台项目(以下简...

    KunMinX 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<