Giter VIP home page Giter VIP logo

alibaba / luaviewsdk Goto Github PK

View Code? Open in Web Editor NEW
3.7K 259.0 767.0 209.33 MB

A cross-platform framework to build native, dynamic and swift user interface - 强大轻巧灵活的客户端动态化解决方案

Home Page: https://alibaba.github.io/LuaViewSDK

License: MIT License

Lua 4.51% Java 34.81% Objective-C 40.89% C 18.30% C++ 0.79% Ruby 0.25% Shell 0.45%
playground lua react-native weex nativescript luaview alibaba taobao tmall script

luaviewsdk's Introduction

Welcome to LuaViewSDK

LuaViewSDK is a cross-platform framework which is designed to build native, dynamic and swift user interfaces. It's based on Lua VM and chooses lua as it's script language.

Why Lua

  • Lua is a efficient and swift language. A single Lua VM costs 200k to 300k memorys only in iOS
  • Lua is widly used and it's easy to bind to third party frameworks
  • LuaView API is nature to native mobile developers, you guys don't have to understand what React.js or Vue.js or DOM is.

Demos

  • Complex LuaViewSDK-rendered native pages

  • Simple games

Try Playground App

How to use LuaViewSDK

Developers

License

MIT

Communities

Github Wiki

QQ group:539262083

Twitter:@luaview

Who we are

We are from Tmall tech team. LuaViewSDK has been widely used in Taobao app, Tmall app and Juhuasuan App nearly two years. And DAU of pages that are developed by LuaViewSDK is over 10 million.


欢迎来到LuaViewSDK

LuaViewSDK是一个跨iOS和Android平台的界面动态化解决方案,使用同一套Lua脚本在iOS和Android平台构建原生页面,同时兼具了H5的灵活性和Native的高性能

为什么选择Lua?

  • Lua是一个高效灵活的语言,在iOS上单个Lua虚拟机仅占用200k到300k
  • Lua已经被广泛应用于对于性能要求和灵活性要求都非常高的场合,比如游戏
  • Lua可以非常方便的绑定各类底层库
  • Lua的API对于native开发人员来说非常自然,不用再去理解各类前端开发概念

Demo

  • LuaViewSDK渲染的Native的复杂业务页面

  • 小游戏

试用Playground App

如何使用LuaViewSDK

开发者

许可证

MIT

社区

Github Wiki

QQ群:539262083

Twitter:@luaview

luaviewsdk's People

Contributors

lamod avatar monsterstorm avatar yechunxiao19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luaviewsdk's Issues

Java 调用 Lua方法

java如何调用 lua方法
UDView userData = mLuaView.getUserdata();
if (userData != null) {
if (userData.getCallback() != null && userData.getCallback().istable()) {
LuaUtil.callFunction(LuaUtil.getFunction(userData.getCallback(), "testLua2Java"));
}
}

function testLua2Java()
print("testLua2Java")
end

不能调用 userData.getCallback()为空

还有可以问一下 如何在lua加载前传入数据 让lua在初始化的时候获取这些数据

luaView怎么做跳转传值?

上传文件应该能实现吧。

跳转传值没有什么思路。我只会安卓,ios零基础,打算用这个开发公司产品,正在努力学lua、

动态下发lua文件

请问有没有详细的文档写如何动态下发lua文件到iOS客户端,然后客户端再如何解析运行的?

[LuaView][error] IOS 教程demo报错

按照文档上的流程走下来,运行报错

2016-07-29 15:43:16.699 HelloWordLuaViewSDK[4399:49718] [LuaView][error] running chars == NULL, file: HelloWorld.lua

IOS最近都看没看到代码提交了,项目还打算维护吗?

有计划是想更多的项目采用luaView的,但是使用过程中觉得引擎还有蛮多的地方不够完善,愿意做小白鼠,但是貌似没看到有新代码提交,心里觉得没底,如果不打算维护的话,让大家知悉啊,如果想继续推广,得建立个组织啥的,方便大家及时讨论

luaview内部大小计算问题

由于本人使用luaview控件只需要在部分位置进行展示 我在获取到luaview的真实大小后 在lua内获取真实大小在进行设置 不能够与真实大小相对应 而luaview直接用系统的尺寸进行设置 会导致部分view的位置不能掌控 在低分辨率尺寸下正好显示了 在高分辨率尺寸下 会导致底部大部分空白

OC的代码怎么调用lua的某一个函数?

看到demo里面有lua脚本调用oc函数的案例,但是反过来可以在oc代码里面直接调用lua 执行其中某一个函数吗? 没看到相关的代码。

另外demo中代码不完整:
2016-06-26 14:34:54.856 Demo[23080:758361] [LuaView][error] Not found Method: JHSLuaViewController.setLuaBox:
2016-06-26 14:38:07.796 Demo[23080:758361] [LuaView][error] Not found Method: JHSLuaViewController.externalApiDemo:number:
2016-06-26 14:38:07.796 Demo[23080:758361] [LuaView][error] Not found Method: JHSLuaViewController.externalApiDemo

关于作者对安卓部分何时开源的答复

你好:
很高兴你对我们的项目感兴趣,
我们的LuaViewSDK Android, iOS版本都已经在线上运行,
其中的LuaViewSDK Android版本也已经进入开源流程, 近期会放到github上.
欢迎到我们的wiki上问问题,我们后续会主要在wiki上进行沟通,这样可以帮助到有更多类似问题的同学.
我们的wiki地址:
https://github.com/alibaba/LuaViewSDK/wiki

谢谢你的来信.
祝好.
------------------------------------------------------------------
主 题:luaViewSdk 学习请教

你好,我是刚刚接触luaviewsdk的,觉得你们开源的这套引擎非常实用,对于luac的扩展已经可以看到有蛮多的demo了,luaj的扩展部分貌似还没有放出来,请问啥时间luaj这块能放出来扩展部分以及相关的demo来学习呢,我想把这套引擎使用到我们的项目里面去,盼回复,再次表示非常感谢!

android下面多次注册

view.register("viewController", new LuaBridge(activity));

第一个activity 中有注册一次,可以正常调用
第二个activity 中再次注册,调用时为nil

报错哇,一步一步按着你们的新手教程做的

Information:Gradle tasks [:app:clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:assembleDebug]
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.regexp.REDemo$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.classfile.Constant$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.classfile.Field$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.classfile.JavaClass$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.classfile.Method$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.classfile.Utility$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.ClassGen$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.FieldGen$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.InstructionComparator$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.InstructionList$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.MethodGen$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.Type$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.Type$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.generic.Type$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.util.ClassPath$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.util.ClassPath$Dir$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.util.ClassPath$Zip$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$2) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$3) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$4) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$5) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifierAppFrame$6) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(org.apache.bcel.verifier.VerifyDialog$1) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is not an inner class.
Error:UNEXPECTED TOP-LEVEL ERROR:
Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
Error: at com.android.dx.rop.code.PlainInsn.withNewRegisters(PlainInsn.java:152)
Error: at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn.java:126)
Error: at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.java:341)
Error: at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaToRop.java:322)
Error: at com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(SsaToRop.java:259)
Error: at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:123)
Error: at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaToRop.java:69)
Error: at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:101)
Error: at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
Error: at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:297)
Error: at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
Error: at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
Error: at com.android.dx.command.dexer.Main.processClass(Main.java:729)
Error: at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
Error: at com.android.dx.command.dexer.Main.access$300(Main.java:83)
Error: at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
Error: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
Error: at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
Error: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
Error: at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
Error: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
Error: at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
Error: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
Error: at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
Error: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
Error: at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
Error: at com.android.dx.command.dexer.Main.processOne(Main.java:632)
Error: at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
Error: at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
Error: at com.android.dx.command.dexer.Main.run(Main.java:246)
Error: at com.android.dx.command.dexer.Main.main(Main.java:215)
Error: at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
Information:BUILD FAILED
Information:Total time: 1 mins 17.563 secs
Information:227 errors
Information:0 warnings
Information:See complete output in console

请问有一套html转lua的工具吗

用LuaView最常见的场景是配合运营配置的广告来实现动态更新

现在我有这么一个需求,我想设置一个网页工具,运营可以在上面自由拖拽UI,实现UI的自由搭配,完成后把网页上的UI布局自动转化为Lua脚本,请问你们有类似的工具吗

LuaViewSDK 里的Lua虚拟机的_G被hack过么?

目前还没看源代码,想给自己从前写的lib引入LuaViewSDK的时候发现了一些小问题。
TestCase:

local t = {

}
function t.r(...)
    print(...)
end

_G["rrr"] = t.r

t.r(1,2,3)
rrr(1,2,3,4)

```Lua

输出结果是

1   2   3
2   3   4

AppStore 审核不通过

给公司的 app 加了 luaview 的模块 做好了 不过提交AppStore 审核不通过 官方有人知道怎么解决吗 已经先把这个 功能去掉了!!

From Apple
2. 5 PERFORMANCE: SOFTWARE REQUIREMENTS
Performance - 2.5.2

During review, your app downloaded Luascript code as part of the added LuaView SDK found in your app, which is no in compliance with the App Store Review Guidelines.

Next Steps

Please revise your app to remove this feature.

Resources

glide加载微信头像失败

一般的图片图都是.jpg, .png这种的
加载没问题,但是对于微信头象这种, 非这咱格式的, 显示不出来

关于调试的一点问题

LuaViewDebugger能够设置断点,下一行下一步也能够正常使用。
但是p valbt等需要在outputArea打印输出的命令却都没有打印。

请问这些功能应该是如何进行操作才能正常使用?

安全问题

Lua 脚本是源码打包进客户端的,对于root 或者 越狱的用户来说,就很容易获取到源码,不知道这方面问题该怎么处理?

能不能给几个iOS和Android通用的列子

如题,发觉两边的官方demo,写的都不一样,我在iOS上尝试写的一个demo,放到Android都不能正常显示,比如写了个tableview,设置的footer,直接跑到tableview的顶部去了,而在Android的RefreshTableView例子里,虽然然看到设置了header和footer,但显示不出来

分享关于作者对安卓部分何时开源的答复

你好:
很高兴你对我们的项目感兴趣,
我们的LuaViewSDK Android, iOS版本都已经在线上运行,
其中的LuaViewSDK Android版本也已经进入开源流程, 近期会放到github上.
欢迎到我们的wiki上问问题,我们后续会主要在wiki上进行沟通,这样可以帮助到有更多类似问题的同学.
我们的wiki地址:
https://github.com/alibaba/LuaViewSDK/wiki

谢谢你的来信.
祝好.
------------------------------------------------------------------
主 题:luaViewSdk 学习请教

你好,我是刚刚接触luaviewsdk的,觉得你们开源的这套引擎非常实用,对于luac的扩展已经可以看到有蛮多的demo了,luaj的扩展部分貌似还没有放出来,请问啥时间luaj这块能放出来扩展部分以及相关的demo来学习呢,我想把这套引擎使用到我们的项目里面去,盼回复,再次表示非常感谢!

luaview动画问题

luaview设置Animation动画,如果先调用animation的方法start()之后,那么动画之后设置的callback属性无效,所以必须把方法start()放到callback之后执行。

vm好像有问题

local a = "a";local b = "b"; if (a ~= nil) and (b ~= nil) then print("haha") end;
执行上面的代码,在命令行的lua下可以正常执行,但是在luaview里执行,却出现了错误:
test/testmy.lua org.luaj.vm2.LuaError: load test/testmy.lua: org.luaj.vm2.LuaError: test/testmy.lua:1: unexpected symbol 257 (ā)

pod search LuaViewSDK

[!] Unable to find a pod with name matching `LuaViewSDK'

没有找到相关的SDK

怎么用第三方组件,比如 luasql.sqlite3

ot found: no field package.preload['luasql.sqlite3'] no file './luasql/sqlite3.so' no file '/usr/local/lib/lv/5.1/luasql/sqlite3.so' no file '/usr/local/lib/lv/5.1/loadall.so' no file './luasql.so' no file '/usr/local/lib/lv/5.1/luasql.so' no file '/usr/local/lib/lv/5.1/loadall.so'

作为类库项目,使用 GPL 协议是否不太合适?

作为类库项目,GPL 开源协议规定使用者修改和新增代码都必须开源,并且新代码延续 GPL 协议,这样的话,只能用于开源项目了。

建议改成 LGPL(Library General Public License) 协议 或 Apache Licence 2.0,LGPL 协议和 GPL 的不同之处在于,对于库进行修改,需要遵循类似 GPL 的规定,而在非库项目中引用它,开发出来的新软件可以是私有的。

“LGPL 是一个为主要为类库使用设计的开源协议,允许商业软件通过类库引用(link)方式使用 LGPL 类库而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。”

网络拉回来的数据再通过lua传回luaViewSdk提示类型为LV_TUSERDATA

经过邮件咨询和仔细查看demo,是需要tostring("")来显式的转换一下类型,作者demo里面是有的,另外luaview里面也封装了好多全局的方法,大家可以看看代码

{"assert", lvB_assert},
{"collectgarbage", lvB_collectgarbage},
{"dofile", lvB_dofile},
{"error", lvB_error},
{"gcinfo", lvB_gcinfo},
{"getfenv", lvB_getfenv},
{"getmetatable", lvB_getmetatable},
{"loadfile", lvB_loadfile},
{"load", lvB_load},
{"loadstring", lvB_loadstring},
{"next", lvB_next},
{"pcall", lvB_pcall},
{"print", lvB_print},
{printChinese, lvB_print},
{"rawequal", lvB_rawequal},
{"rawget", lvB_rawget},
{"rawset", lvB_rawset},
{"select", lvB_select},
{"setfenv", lvB_setfenv},
{"setmetatable", lvB_setmetatable},
{"tonumber", lvB_tonumber},
{"tostring", lvB_tostring},
{"type", lvB_type},
{"unpack", lvB_unpack},
{"xpcall", lvB_xpcall},

再次感谢作者及时的邮件回复,经过2天的研究,我的第一个网络交互列表展示页面可以正常工作了,因为之前没接触过lua,所以也拖慢了进度,期待安卓版本的发布,我可以把代码挪进去咯

demoZ1_luabox oc怎么接收lua table类型

我看demo里有一个 demoZ1_luabox.lua 的例子
最后viewController.setLuaBox( createObject() ); 是向oc 里传递 table类型数据吧
不过 这个例子 我没看到oc里实现 setLuaBox 这个方法 想问一下 可不可以从lua 向oc 传递 table数据呢
oc 这边怎么接收呢

lua for android

按照文档说明 搭建了环境 跑起来是个空白页面 hello world没有打印出来

System.screenSize 修改建议

因为android有些设备会有虚拟功能键,而这部分高度将影响适配,脚本一致性,建议官方将这部分考虑进去。

如果我们自己修改,会牵涉到LuaView SDK 中 UDSystem.java 的调整,所以还是官方修改比较方便

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.