28 个版本 (9 个重大更新)

0.11.5 2019年1月29日
0.10.9 2019年1月8日
0.10.5 2018年12月30日
0.8.0 2018年11月26日

HTTP 服务器 中排名第 516

Download history 28/week @ 2024-02-21 50/week @ 2024-02-28

每月下载量 78

MIT/Apache

200KB
4.5K SLoC

torchbear logo
该项目目前处于隐秘模式。
请勿发布新闻,直到 v1 版本即将发布。
谢谢。

android logo    windows logo    macos logo    linux logo

用户徽章
Actively Maintained Contributions Welcome PRs Welcome License: MIT/Apache Chat
开发者徽章
Travis Build Status Appveyor Build Status Dependencies torchbear Crate Download Total

火炬手为您提供简单而强大的通用应用程序开发环境。它可以帮助您进行网络自动化、嵌入式编程、数据分析、数值计算等。实际上,任何您可以想象的事情都可以做到。

它是用 Rust 编写的,但您不需要学习 Rust 就可以使用火炬手,因为它旨在为您提供最简单且功能最强大的附加库。Scratch、BASIC、Lua、Python、Ruby、NodeJS 等 developer 应该会感到宾至如归...以及所谓的“更多铃声和哨声” - 或者简单地说,完整

没有 编程背景 的人可以在 15 分钟内学习 Lua,以便能够“说”其编程语言(其语法和符号)。您只需要一般的 脚本技能 就可以开始。

随着您希望使用程序解决更多用例,您可以访问Torchbear的函数,这些函数在下面描述,并在绑定文档(使用我们的代码映射应用程序生成)中可查看。每个模块都是完全内置的,用纯Rust编写,或者以安全的方式包装了一个C库(用星号*标注)。

内置模块

环境

  • Actix 动作模型并发框架(更多信息请参阅RFC 613
  • Actix Lua 为Actix提供安全的Lua脚本环境
  • rlua* Lua 5.3.5(还包括跟踪错误消息、日志和性能分析的工具)
  • Actix Web HTTP/1.x和HTTP/2.0网络服务器和客户端

系统

加密

数字

  • libm* 数学函数,如指数、幂、三角、双曲、浮点操作和分类

字符串

  • UUID-rs 生成和验证UUID
  • ulid 通用唯一排序标识符
  • Heck 大小写转换
  • regex 匹配和替换
  • MIME 类型猜测

结构化文本

  • SCL 安全序列化/反序列化
  • YAML 使用serde进行序列化和反序列化
  • JSON 使用serde进行序列化和反序列化
  • Tantivy 搜索、索引、模式构建以及文档添加、更新和删除

非结构化文本

归档

  • Zip 文件解压缩
  • Tar 文件解压缩
  • xz lzma 文件解压缩

差异

  • Diff unidiff 使用字符串和文本文件生成
  • Patch 文本文件的 unidiff 处理器
  • Split Diff 将 unidiff 文件拆分为多个
  • List Diff 列出受 unidiff 影响的文件
  • Interdiff** 求助以比较 diff 文件
  • Git* 克隆、拉取、创建仓库、暂存、提交和日志访问(内置,无 git 依赖)

额外的 Lua 库和框架

  • Torchbear Libs · 用于日志记录、终端着色、事件触发、函数式编程、图数据处理、参数解析(待办)、和文件修补(待办)的库
  • Torchbear Libs Dev · 用于检查表格的库
  • ContentDB · 基于文件、面向文档的数据库(另见 ContentDB-Lua
  • Lighttouch · 一个简单、基于事件、基于规则、动态加载、函数式、参数填充、可配置、版本控制的软件框架

开始使用

Torchbear 是一个单一的可执行文件(例如,作为一个二进制 .exe 文件),这使得它易于安装和运行应用。它还附带了一个包管理器,称为 Machu Picchu,它可以帮助您下载更多应用。

安装

要安装 Torchbear,请在您的终端(什么是终端?)中运行此命令

 curl https://git.io/fpcV6 -sSfL | bash

安装程序 自动获取最新版本(该版本也可在 Torchbear 的 GitHub 发布页面 上找到),并将其放置在方便的文件位置。为此,它下载适用于您的操作系统和硬件架构的最新 zip 文件,然后将其解压缩到将作为命令运行的位置。您可以手动或以其他方式执行此操作,具体取决于您的喜好。

什么是终端?

如果您之前没有听说过终端,这里有一个 1 分钟的终端窗口介绍。这在 Android、Windows、MacOS 和 Linux 设备上非常相似,但您可能需要先安装一个其他工具

卸载

curl https://git.io/fpcV6 -sSfL | bash -s -- --uninstall

或者,如果您已经下载了 install.sh

bash install.sh --uninstall

开发

“Hello World” 应用

  1. 将以下内容放入 .lua
#!/usr/bin/env torchbear

print("hello from Torchbear")
  1. 使用 chmod +x init.lua 使其可执行

  2. 然后使用 ./init.lua 运行它

注意: Machu Picchu 也作为一个依赖管理器工作,使得部署和开发面向组件的软件变得容易。在更多文档可用之前,请检查其他项目如何使用它。还可以在我们的 Lunar Transit 账户中找到一些有用的库脚本。

Rust 开发

您可以通过安装 Cargo(Rust 的包管理器)并使用 Cargo 安装 torchbear 来从源代码编译

cargo安装 torchbear

从该存储库编译也类似

git clone https://github.com/foundpatterns/torchbear
cd torchbear
cargo build --release

编译可能需要几分钟,具体取决于您的计算机和网络速度。二进制文件将位于 ./target/release/torchbear

应用商店

寻求贡献者

Torchbear 扩展了 Rust 持续增长的库生态系统。所有开发者和用户都欢迎参与 Torchbear 的问题队列,进行小改动和影响大的贡献。欢迎所有人。

即使是经验适度的 Rust 开发者也可以添加 绑定 或添加其他功能。绑定目录中有许多示例可以学习。通过这个过程,您将深入了解 Rust 库的 API,并将另一个工具交到活跃的用户手中。

非常感谢经验丰富的 Rust 开发者的审阅,例如熟悉底层库惯用法的开发者,尤其是那些精通 Actix 的开发者。Torchbear 内置的许多强大功能来自 Actix、Actix-Web、Actix-Luarlua 等许多精心挑选的库,需要进行彻底的审阅和仔细的分析,以创建良好的编程环境。

如果您想添加有关您的用例的“审阅”或“故事”,只需添加此“问题标签”(type/review)或(type/story)。欢迎所有人这样做,这将帮助用户和开发者从彼此的角度了解 Torchbear。希望发布其他反馈和分析的开发者将收到衷心的感谢。

社区

所有对学习和使用编程以及开源工具解决问题感兴趣的人都可以加入 Found Patterns Studio 的 Discord 服务器,与工程师们见面,一起在团队驱动型项目上合作,如 Torchbear。如果您之前没有听说过 Discord,您可以从这些视频开始,Discord For Dummies: Basic Use and Set up Instructions for Discord AppHow To Setup And Use Discord - Basic Overview Of Features and Tools。我们使用它来帮助彼此使用和构建 Torchbear 以及许多其他项目。这是一个安全和友好的地方来完成工作。

支持者

要支持此项目并加入此列表,请在 Discord 上向 Mitchell 求更多信息。

赞助商

要赞助此项目并在此处放置您的徽标,请在 Discord 上向 Mitchell 求更多信息。

谢谢 · Namaste · Aloha 👋

依赖项

~94MB
~1.5M SLoC