13个版本 (破坏性更新)
0.9.0 | 2021年1月5日 |
---|---|
0.8.0 | 2020年7月14日 |
0.7.0 | 2019年11月4日 |
0.4.0 | 2019年7月7日 |
0.0.1 | 2018年6月22日 |
#374 在 游戏开发
每月 35次下载
72KB
978 行
在Rust中制作便携式应用程序和视频游戏!
你是否对标准库中仅有的系统接口是文件系统感到沮丧?这个包就是为你准备的!这个包提供了对窗口、音频、无障碍、输入和视频的稳健抽象。然而,这个包不打算支持多媒体格式解析 - 那是作为一个独立的包开发的:Caved。
Cala旨在成为一个“氧化重新实现”的库,包括Flutter/GTK和SDL/其他SDL项目,所有这些都包含在一个库中!Flutter主要用于移动应用程序,而GTK仅用于桌面应用程序,但如果你想要为两者开发同一应用程序怎么办?那么你就使用这个包(许多功能仍然是WIP)!Cala还针对网络和裸机系统。注意,即使你不试图使你的应用程序/视频游戏极具可移植性,你仍然可以使用这个包!
您可能会问:“应用和视频游戏不应该使用独立的库吗;为什么它们会被合并?”它们通常需要做同样的事情,一些桌面应用程序依赖于SDL,例如 VLC,而一些视频游戏依赖于GTK,例如 Veloren(至少在Linux上构建时如此)。显然存在共同的兴趣;因此,它们应该合并。话虽如此,Cala极其模块化,除非您启用某些功能,否则不会包含任何模块。模块的名称与功能完全相同,因此您可以通过启用 camera
功能来使用 camera
模块。
命名
cala这个名称来源于一种名为 calafate锈病 的真菌。
功能支持
每个系统接口都可以通过一个功能来启用。功能的名称与API所在的模块名称相匹配。只需将其添加到您的 Cargo.toml 中。
[dependencies.cala]
version = "0.9"
features = ["log", "speaker"]
以下是一个列表,列出了所有目标平台及其支持的功能。
- ✓:支持
- —:未计划/可能
- ?:未测试
功能 | Linux | MacOS | Windows | Web | Android |
---|---|---|---|---|---|
bluetooth | |||||
camera | |||||
client | |||||
database | ✓ | ✓ | ✓ | ||
graphics | ✓ | 9 | 8 | ||
haptic | |||||
info | ✓ | ✓ | ✓ | ✓ | |
input | ✓ | 7 | 6 | ✓ | |
log | ✓ | ✓ | ✓ | ✓ | |
microphone | ✓ | 5 | 4 | ✓ | ? |
port | — | — | — | ||
random | ✓ | ✓ | ✓ | ? | ✓ |
server | |||||
speaker | ✓ | 4 | ✓ | ? | |
task | ✓ | ✓ | ✓ | ✓ | |
timer | |||||
usb | |||||
when | ✓ | ✓ | ✓ | ✓ | |
window | ✓ | 9 |
模块文档可能包含简单的教程。更深入的教程可以在 这里 找到。
尚未尝试支持但计划支持
- iOS
- Fuchsia
- Redox
- Nintendo Switch
- XBox
- PlayStation
- BSD变种
- 不在列表上但您将提交pull请求以添加它们的其他内容
许可证
许可如下
- Apache License,版本2.0,(LICENSE_APACHE_2_0.txt 或 https://apache.ac.cn/licenses/LICENSE_2.0)
- MIT License,(LICENSE_MIT.txt 或 https://mit-license.org/)
- Boost Software License,版本1.0,(LICENSE_BOOST_1_0.txt 或 https://boost.ac.cn/LICENSE_1_0.txt)
任选其一。
贡献
除非您明确表示,否则根据Apache-2.0许可证中定义的,您有意提交以包含在工作中的任何贡献,都将双许可,如上所述,没有任何额外的条款或条件。
欢迎贡献者(感谢您的兴趣!),无论是错误报告、错误修复、功能请求、功能实现还是其他任何事情。不要害羞地参与其中。我总是抽出时间来修复错误,因此通常在报告后的几天内就会有一个库的修补版本。功能请求可能不会那么快完成。如果您有任何问题、设计批评或希望我根据您的技术水平为您找到一些可以工作的东西,您可以通过电子邮件[email protected]联系我。否则,这里有一个链接到GitHub上的问题。在贡献之前,请查看贡献指南,以及始终遵守行为准则。
依赖关系
~0–8.5MB
~48K SLoC