Giter Club home page Giter Club logo

Comments (16)

Tamerlx avatar Tamerlx commented on May 18, 2024 6

和LuaViewSDK 有什么区别 早在几年前阿里就推出这样的方案了 https://github.com/alibaba/LuaViewSDK/

Lua 做跨平台是一个不错的方案,我们前期也了解过LuaView的方案。但是LuaView应该仅处于Demo阶段,MLN相对更加成熟。

  1. 更丰富的控件&更贴近原生的设计
  2. 更简便高效的Bridge扩展方式
  3. 更高效的开发工具支持
    ...
    MLN期待每一位开发者更深入了解与反馈。

from mln.

yp-mon avatar yp-mon commented on May 18, 2024 2

大部分组件都跟RN、Weex类似桥接原生。个别Android、iOS两端差异大的组件我们从更底层接口下手用Lua重新封装。一些Lua替换原生的工作还在进行中,比如EditTextView我们考虑从canvas层用Lua重新实现。

from mln.

AAChartModel avatar AAChartModel commented on May 18, 2024 1

哈哈,不错不错,准备开启新项目 AAChartKit-MLN

from mln.

tripleCC avatar tripleCC commented on May 18, 2024 1

和LuaViewSDK 有什么区别 早在几年前阿里就推出这样的方案了 https://github.com/alibaba/LuaViewSDK/

Lua 做跨平台是一个不错的方案,我们前期也了解过LuaView的方案。但是LuaView应该仅处于Demo阶段,MLN相对更加成熟。

  1. 更丰富的控件&更贴近原生的设计
  2. 更简便高效的Bridge扩展方式
  3. 更高效的开发工具支持
    ...
    MLN期待每一位开发者更深入了解与反馈。

很好的回答 👍

这里额外请教一个问题,为什么使用 lua 来做,而不用现在主流的 js ,从预置运行环境上看, iOS 设备本身就提供了 js 运行环境 (JaveScriptCore.framework),而 lua 还需要额外嵌入 lua vm 。相比 js ,采用 lua 做为动态化脚本语言有什么明显的优势么?

关于native 和 脚本虚拟机交互性能那块,有实际量化过使用lua 和 js 时的区别有多少么 (比如 JSPatch,lua 是属于执行效率高的脚本语言没错,不过感觉这里比较关心和 native 端的频繁交互,比如数据的转换等)? 这一块感觉你们动手前应该有经过详细的调研,想听听你们的理解。

最后感谢一波开源

from mln.

fangyuxiong avatar fangyuxiong commented on May 18, 2024

我自己看了一下代码,感觉和RN Weex 原理类似?渲染还是交给原生做?

是的,渲染交给原生做。后续会给出架构图。

from mln.

cikelengfeng avatar cikelengfeng commented on May 18, 2024

感谢解答~

from mln.

gavinliu avatar gavinliu commented on May 18, 2024

酷安上很多用高中生,初中生在课堂上用手机使用 lua 写出来的 Android app。

from mln.

doubleYang1020 avatar doubleYang1020 commented on May 18, 2024

和LuaViewSDK 有什么区别 早在几年前阿里就推出这样的方案了 https://github.com/alibaba/LuaViewSDK/

from mln.

yp-mon avatar yp-mon commented on May 18, 2024

确实LuaView看起来只是做了个简单尝试,UI功能都不完整

from mln.

yanweimin7 avatar yanweimin7 commented on May 18, 2024

比起RN有什么优势吗?

from mln.

pantaopt avatar pantaopt commented on May 18, 2024

比起RN有什么优势吗?

你得比较 lua js的特性吧
原理上 除了flutter以外 rn weex mln hippy 原理都是一样的

from mln.

yp-mon avatar yp-mon commented on May 18, 2024

哈哈,不错不错,准备开启新项目 AAChartKit-MLN

如果MLN现有接口支持不全可以给我们提issue,可以加下这个群,方便沟通。
IMG_1543

from mln.

yp-mon avatar yp-mon commented on May 18, 2024

首先lua真的很快,你可以试着比较下lua桥接和JS桥接跟原生的通信速度,lua明显快了一个数量级。桥接速度快在列表滑动和手势触摸等方面有很大的性能优势。原生跟lua交换数据非常快,明显优于JS。

另外lua可以方便运行在主线程里且不影响性能,这样我们在内存管理上能方便的跟原生做好同步,在UI框架设计上也更便利。

from mln.

tripleCC avatar tripleCC commented on May 18, 2024

首先lua真的很快,你可以试着比较下lua桥接和JS桥接跟原生的通信速度,lua明显快了一个数量级。桥接速度快在列表滑动和手势触摸等方面有很大的性能优势。原生跟lua交换数据非常快,明显优于JS。

另外lua可以方便运行在主线程里且不影响性能,这样我们在内存管理上能方便的跟原生做好同步,在UI框架设计上也更便利。

多谢回答,还有一个问题请教下,luaJIT 的解释器模式比原生的 lua 解释器快挺多,直接用 lua 原生解释器是出于什么考虑么

from mln.

yp-mon avatar yp-mon commented on May 18, 2024

首先lua真的很快,你可以试着比较下lua桥接和JS桥接跟原生的通信速度,lua明显快了一个数量级。桥接速度快在列表滑动和手势触摸等方面有很大的性能优势。原生跟lua交换数据非常快,明显优于JS。
另外lua可以方便运行在主线程里且不影响性能,这样我们在内存管理上能方便的跟原生做好同步,在UI框架设计上也更便利。

多谢回答,还有一个问题请教下,luaJIT 的解释器模式比原生的 lua 解释器快挺多,直接用 lua 原生解释器是出于什么考虑么

我们测性能发现页面加载和滑动时,lua自身耗时占比很少,换成luaJIT收益非常低。未来我们把更多底层代码替换成lua后可能会换。

from mln.

JoeLee09 avatar JoeLee09 commented on May 18, 2024

哈哈,不错不错,准备开启新项目 AAChartKit-MLN

如果MLN现有接口支持不全可以给我们提issue,可以加下这个群,方便沟通。
IMG_1543
麻烦再发一下技术群二维码🤝

from mln.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.