跨平台开发是目前开发较热门的方向,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 的介绍里面看到了和其他现有的跨平台框架相比的一些不一样的特性,根据自己的体验和官方介绍简单说一下:

  1. 页面首屏展示,看到给出的 demo 就可以知道,这个和原生的 Android 和 iOS 页面一样,都可以做到直出的,基本没有任何白屏的状况。这一点相比于 RN 确实是一个不错的点。
  2. 交互动画,就是跟手动画,在 RN 上要去实现这类动画确实是比较难(本身因为中间还要过一层 JSBridge 的原因),要么自己拓展 Native 的模块。而在 demo 上的交互动画非常顺畅,并没有出现任何的卡顿,在效果上甚至比 Flutter 帧率更高。
  3. JSBinding 机制,根据官方的说法有更高效的 JSBridge,但是体验上暂时没感觉出来,稍后去研究一下代码
  4. 动态发布测试,这个是所有跨平台框架必须有的,不算什么新鲜事。这个看文档的介绍需要结合脚手架 lynx-cli 。

页面直接展示和满帧的交互动画的实现原理是什么呢?官方给出了一个简单的工作流程图和介绍。理解了这个就基本知道这个问题的答案了,页面展示快的原因是因为将首屏的展示变成了排版文件,从而略过了 JS 的执行生成首屏元素的步骤,而交互动画的实现也是通过了中间的交互动画引擎在接收到事件后直接响应,从而略过了 JS 的中间步骤。

体验完Lynx,觉得这个框架还是值得后续观望,看下能做到什么程度。

最后

Lynx 框架现在还是在 alpha 阶段,暂时还不能直接用来开发要上线的应用,功能也尚不完备,但是可以关注它的发展,毕竟这个技术在实现上和 RN 有所区别,也希望能有新的想法,在满足先在的需求的情况下突破现有的局限。

尝试 demo 之后,准备去看看代码,一探内部实现。Lynx 的仓库也给出了可以使用的 API 列表,后续会根据 API 进行简单实践。希望能有更多的跨平台开发框架出现,推动技术的发展。

附上 Lynx 仓库地址:https://github.com/hxxft/lynx-native

更多专业前端知识,请上 【猿2048】www.mk2048.com

跨平台开发框架 Lynx 初探相关推荐

  1. 跨平台开发框架到底哪家强?5款主流框架横向对比!

    跨平台开发框架到底哪家强? 目前市场上有多个专业做跨平台开发的框架,那么对开发者来说究竟哪一个框架更符合自己的需求呢?笔者特地总结对比了一下不同框架的特性. 国内外笔者选择了一共5个主流的测评对象,分 ...

  2. 阿里云小程序云发布小程序跨平台开发框架,助力开发者一次开发,多端运行

    跨平台小程序开发框架是什么? 跨平台小程序开发框架是支付宝小程序开发工具内新增的开发模块,阿里云小程序云(https://www.aliyun.com/product/miniappdev)与知名跨平 ...

  3. 发现一个神奇的移动跨平台开发框架

    相当多的小伙伴对我的印象都是--Qt,嘿嘿,这是因为我凭一己之蛮力写作并出版了两本Qt方面的书<Qt on Android核心编程>和<Qt Quick核心编程>,在当时的Qt ...

  4. Xamarin 2.0:基于Mono跨平台开发框架

    原文地址为: Xamarin 2.0:基于Mono跨平台开发框架 跨平台移动开发框架Xamarin今天发布了最新的2.0版本,新增Xamarin Studio集成开发环境以及 Xamarin Comp ...

  5. 移动端跨平台开发框架对比分析

    阿里云优惠:最高¥2000云产品通用代金券 https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=dansrwg4 前言 现 ...

  6. app跨平台开发框架以及技术选型如何选择?

    作者:刘望舒 链接:https://www.zhihu.com/question/55714900/answer/665044650 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  7. 2021 最新 15 个 App 跨平台开发框架

    Flutter Ionic React native Apache Cordova Xamarin NativeScript Node.Js Appcelerator Titanium Sencha ...

  8. App跨平台开发框架分析

    所谓的跨平台app开发就是一套代码写完以后可以多端发布运行到各个平台,比如:安卓.iOS.web. 原生开发是一对一的,安卓.iOS需要分别写两套代码,学习成本高.开发成本高.后期维护麻烦:跨平台AP ...

  9. Electron跨平台开发框架介绍

    1. Electron框架简介 Electron 是由 Github 开发的一个跨平台的桌面应用开发框架,可以让我们用前端技术开发桌面上面可以安装的软件. 目前用Electron开发的成熟软件有很多, ...

最新文章

  1. Win XP远程桌面双管理员同时登录
  2. 代码 抠图_憋再PS抠图了,3行代码给你安排的明明白白!
  3. python画图代码turtle-Python使用Turtle图形函数画图 颜色填充!
  4. python:使用PyInstaller打包成exe文件,以及TypeError: an integer is required (got type bytes)异常解决
  5. Java 8的惰性序列实现
  6. 在CentOS7下安装MySQL8数据库
  7. QT int QString char转换
  8. MySQL 主从同步
  9. 20190910每日一句 你有勇气直面自己的恐惧吗?
  10. 如何构建自定义人脸识别数据集?本文介绍了三种训练方法
  11. 浪潮之巅: 中国企业高管硅谷交流会
  12. 关于mis系统开发的一些配置含义
  13. html页面加载蒙版,HTML / CSS - 在图像上创建alpha蒙版
  14. python计算加权平均分_python – 使用numpy.average的加权平均值
  15. Python之判断闰年
  16. 微信图文排版指南-如何在图片上添加文字?
  17. 原相机怎么设置水印_原来手机拍照也可以添加文字、水印、超实用,我怎么没有早点发现...
  18. 基于深度学习的图像压缩
  19. oracle连接工具 DBz,[Oracle] - 性能优化工具(3) - ADDM
  20. Clojure – Functional Programming for the JVM中文版

热门文章

  1. win10下JDK环境变量配置与IDEA开发工具清晰简洁步骤,迈出Java学习第一步
  2. HTML JS正方形轮播,js,html一个页面里面多个页面轮播
  3. 哨兵一号数据snap预处理_利用SNAP软件进行Sentinel-1A卫星微波影像的预处理
  4. 11选5下期算法_11选5为什么你不中奖
  5. php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结
  6. java finalize方法的使用
  7. e3是合法浮点数吗_下列哪些是不合法的浮点数的选项是 123 2e4.2 .e5 -e3 .234 1e3
  8. mysql远程访问时间长无反应_远程MySQL访问需要很长时间
  9. GIS实战应用案例100篇(二)-元胞自动机模拟城市扩张过程
  10. open表和closed表_excel工作表合并,多文件数据一键合成