AppStore上的嵌入式脚本使用Python还是snake?

2024-04-24 19:14:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个科学/教育应用程序,我需要提供高级用户脚本功能。我的选择是:

  • 嵌入现有语言,如Python或Lua
  • 或者用coco/R创建我自己的语言

(最初我在C语言中构建,但以后可能会移植到C++中用于iPad和Android的Read)。 每种方法都有其优点,但一个重要因素是我不想被排除在应用程序商店之外。苹果显然禁止运行解释代码的应用程序。我真的不明白这是怎么定义的——当然,任何应用程序都是通过解释自己的数据结构来运行的?我想这是某种“我们看到色情就知道”的定义,你不能让你的系统看起来太强大了。如果是这样的话,我想如果我构建自己的语言,只传输活动语法树,而不传输脚本源代码,那么我就不太可能触发他们的警钟——它看起来像任何旧的数据结构。有人知道这是不是对的?在


Tags: 方法用户功能脚本语言应用程序数据结构read
1条回答
网友
1楼 · 发布于 2024-04-24 19:14:22

几年前,苹果放宽了许可协议中的语言,允许Lua使用。它被用于大量的iOS游戏(包括愤怒的小鸟,所有的EA游戏等等)。事实上,在App Store上有很多游戏是用Lua编写的,使用Corona或MOAI等基于Lua的框架(比如Crimson:Steam Pirates,这是一款由Bungie航空公司资助的游戏,在App Store上的销量仅几周。还有一些应用程序,比如Codea,一个Lua脚本环境,最终用户可以使用它在设备上构建游戏/玩具。Lua在iOS平台上非常流行。在

创造你自己的语言是荒谬的,IMO.Lua太好了,非常适合iOS:轻量级、快速、可破解、用户友好、易于嵌入和扩展等等。但是,你可能很难将其集成到一个C应用程序中。我真的不知道MonoTouch是如何工作的,但在桌面世界中,C是托管代码,编译成字节码,但Lua的API是本机代码。缩小这个差距是可以的,但这需要更多的工作。在

简而言之,你可以使用Lua,你不必隐藏它。你不能做的是创建一个“元平台”,用户基本上可以通过你的应用程序下载全新的应用程序(这些应用程序还没有经过苹果公司的审查)。在

编辑:关于“我正在C中构建,但以后可能会把C++移植到iPad和Android的范围”,你可能想看看MOAI。它是一个开源的、跨平台的(PC、MAC、iPad、Android、Chrome)框架,用C++编写,用于在Lua编写游戏。可能会节省您从那里开始而不是稍后移植的时间。在Lua,你可以做很多事情,如果你遇到了一些需要裸露的金属性能或者通过LuaAPI已经不能访问的功能的话,你可以用C或C++编写。在

相关问题 更多 >