You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
568tools/tools/rusty-book/superstar.html

372 lines
36 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE HTML>
<html lang="zh-CN" class="sidebar-visible no-js light">
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Rust 明星项目 - Rusty Book(锈书)</title>
<!-- Custom HTML head -->
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#ffffff" />
<link rel="icon" href="favicon.svg">
<link rel="shortcut icon" href="favicon.png">
<link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/general.css">
<link rel="stylesheet" href="css/chrome.css">
<link rel="stylesheet" href="css/print.css" media="print">
<!-- Fonts -->
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
<link rel="stylesheet" href="fonts/fonts.css">
<!-- Highlight.js Stylesheets -->
<link rel="stylesheet" href="highlight.css">
<link rel="stylesheet" href="tomorrow-night.css">
<link rel="stylesheet" href="ayu-highlight.css">
<!-- Custom theme stylesheets -->
<link rel="stylesheet" href="theme/style1.css">
</head>
<body>
<!-- Provide site root to javascript -->
<script type="text/javascript">
var path_to_root = "";
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "navy" : "light";
</script>
<!-- Work around some values being stored in localStorage wrapped in quotes -->
<script type="text/javascript">
try {
var theme = localStorage.getItem('mdbook-theme');
var sidebar = localStorage.getItem('mdbook-sidebar');
if (theme.startsWith('"') && theme.endsWith('"')) {
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
}
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
}
} catch (e) { }
</script>
<!-- Set the theme before any content is loaded, prevents flash -->
<script type="text/javascript">
var theme;
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
if (theme === null || theme === undefined) { theme = default_theme; }
var html = document.querySelector('html');
html.classList.remove('no-js')
html.classList.remove('light')
html.classList.add(theme);
html.classList.add('js');
</script>
<!-- Hide / unhide sidebar before it is displayed -->
<script type="text/javascript">
var html = document.querySelector('html');
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
html.classList.remove('sidebar-visible');
html.classList.add("sidebar-" + sidebar);
</script>
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded affix "><a href="about.html">Rusty Book</a></li><li class="chapter-item expanded affix "><li class="part-title">Awesome</li><li class="spacer"></li><li class="chapter-item expanded "><a href="daily-dev.html">日常开发常用库</a></li><li class="chapter-item expanded "><a href="superstar.html" class="active">Rust 明星项目</a></li><li class="chapter-item expanded "><a href="empowering-js.html">使用 Rust 增强 JS</a></li><li class="chapter-item expanded "><a href="games.html">Rust开发的游戏</a></li><li class="chapter-item expanded "><a href="gamedev.html">游戏引擎</a></li><li class="chapter-item expanded affix "><li class="part-title">Awesome + Cookbook</li><li class="spacer"></li><li class="chapter-item expanded "><a href="algos/awesome.html">实用算法</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="algos/randomness.html">生成随机值</a></li><li class="chapter-item expanded "><a href="algos/sorting.html">Vec 排序</a></li><li class="chapter-item expanded "><div>压缩算法</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="algos/compression/tar.html">使用.tar包</a></li></ol></li><li class="chapter-item expanded "><div>密码学</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="algos/cryptography/hashing.html">哈希</a></li><li class="chapter-item "><a href="algos/cryptography/encryption.html">加密</a></li></ol></li><li class="chapter-item expanded "><div>数学计算</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item "><a href="algos/math/linear-algebra.html">线性代数</a></li><li class="chapter-item "><a href="algos/math/trigonometry.html">三角函数</a></li><li class="chapter-item "><a href="algos/math/complex.html">复数</a></li><li class="chapter-item "><a href="algos/math/statistics.html">统计学</a></li><li class="chapter-item "><a href="algos/math/misc.html">杂项</a></li></ol></li></ol></li><li class="chapter-item expanded "><a href="datastructures/awesome.html">数据结构</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="datastructures/bitfield.html">位字段</a></li></ol></li><li class="chapter-item expanded "><a href="cmd/awesome.html">命令行</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cmd/parsing.html">参数解析</a></li><li class="chapter-item expanded "><a href="cmd/ansi.html">终端输出格式化</a></li></ol></li><li class="chapter-item expanded "><a href="os/awesome.html">操作系统</a><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="os/processor.html">处理器</a></li><li class="chapter-item expanded "><a href="os/command.html">调用系统命令</a></li></ol></li><li class="chapter-item expanded "><div>并发</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cocurrency/threads.html">线程</a></li><li class="chapter-item expanded "><a href="cocurrency/parallel.html">使用rayon并行处理数据</a></li></ol></li><li class="chapter-item expanded "><div>数据库</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="database/sqlite.html">SQLite</a></li><li class="chapter-item expanded "><a href="database/postgres.html">Postgres</a></li></ol></li><li class="chapter-item expanded "><div>日期和时间</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="datetime/duration.html">时间计算和转换</a></li><li class="chapter-item expanded "><a href="datetime/parsing.html">解析和显示</a></li></ol></li><li class="chapter-item expanded "><div>开发者工具</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="devtools/log.html">日志</a></li><li class="chapter-item expanded "><a href="devtools/config-log.html">配置日志</a></li><li class="chapter-item expanded "><a href="devtools/version.html">版本号</a></li><li class="chapter-item expanded "><a href="devtools/build-tools.html">构建时工具</a></li></ol></li><li class="chapter-item expanded "><div>编解码</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="encoding/strings.html">字符编码</a></li><li class="chapter-item expanded "><a href="encoding/csv.html">CSV</a></li><li class="chapter-item expanded "><a href="encoding/structured.html">结构化数据</a></li></ol></li><li class="chapter-item expanded "><div>错误处理</div></li><li class="chapter-item expanded "><div>文件操作</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="files/read-write.html">文件读写</a></li><li class="chapter-item expanded "><a href="files/dir.html">目录访问</a></li></ol></li><li class="chapter-item expanded "><div>内存管理</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="memory/global-vars.html">全局变量</a></li></ol></li><li class="chapter-item expanded "><div>网络协议</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="protocols/tcpip.html">TCP/IP</a></li></ol></li><li class="chapter-item expanded "><div>文本处理</div><a class="toggle"><div></div></a></li><li><ol class="section"><li class="chapter-item expanded "><a href="text/regex.html">正则表达式</a></li><li class="chapter-item expanded "><a href="text/string.html">字符串解析</a></li></ol></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
<div id="page-wrapper" class="page-wrapper">
<div class="page">
<div id="menu-bar-hover-placeholder"></div>
<div id="menu-bar" class="menu-bar sticky bordered">
<div class="left-buttons">
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
<i class="fa fa-bars"></i>
</button>
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
<i class="fa fa-paint-brush"></i>
</button>
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
<li role="none"><button role="menuitem" class="theme" id="light">Light (default)</button></li>
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
</ul>
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
<i class="fa fa-search"></i>
</button>
</div>
<h1 class="menu-title">Rusty Book(锈书)</h1>
<div class="right-buttons">
<a href="print.html" title="Print this book" aria-label="Print this book">
<i id="print-button" class="fa fa-print"></i>
</a>
<a href="https://github.com/studyrs/rusty-book" title="Git repository" aria-label="Git repository">
<i id="git-repository-button" class="fa fa-github"></i>
</a>
<a href="https://github.com/studyrs/rusty-book/edit/main/src/superstar.md" title="Suggest an edit" aria-label="Suggest an edit">
<i id="git-edit-button" class="fa fa-edit"></i>
</a>
</div>
</div>
<div id="search-wrapper" class="hidden">
<form id="searchbar-outer" class="searchbar-outer">
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
</form>
<div id="searchresults-outer" class="searchresults-outer hidden">
<div id="searchresults-header" class="searchresults-header"></div>
<ul id="searchresults">
</ul>
</div>
</div>
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
<script type="text/javascript">
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
});
</script>
<div id="content" class="content">
<!-- Page table of contents -->
<div class="sidetoc"><nav class="pagetoc"></nav></div>
<main>
<h1 id="明星项目"><a class="header" href="#明星项目">明星项目</a></h1>
<blockquote>
<p>滚滚长江东逝水,浪花淘尽英雄,是非成败转头空 - 临江仙·滚滚长江东逝水</p>
</blockquote>
<p>经过大浪淘沙留下来的才是真金白银,对于开源项目也是如此。对于明星项目,本文不仅仅以<code>star</code>数的多少作为评判维度,还会结合项目规模、影响力、活跃度、社区活跃度等多个方面进行评定,希望大家能喜欢。</p>
<p>需要注意本文列出的几乎都是平台级项目因此并不是star多就能名列其中例如很多<code>star</code>很多的工具、Rust库、书籍都没有列入如果大家想要看更多的子类项目请访问对应的文件进行查看。</p>
<h2 id="deno"><a class="header" href="#deno">deno</a></h2>
<p>首先出场的自然是咖位最重的之一,可以说正是因为<code>deno</code><code>swc</code>的横空出世才让一堆观望的大神对于Rust实现<code>Javascript</code>基建有了更强的信心。</p>
<p><a href="https://github.com/topics/rust?l=rust&amp;o=desc&amp;s=stars"><code>deno</code></a><code>node</code>半逆转后的字序,从此可以看出<code>deno</code><code>Node.js</code>的替代,它的目标是为<code>Typescript/Javascript</code>提供一个更现代化、更安全、更强大 的运行时同时内置了很多强大的工具可以用于打包、编译成可执行文件、文档、测试、lint等。</p>
<h2 id="alacritty"><a class="header" href="#alacritty">alacritty</a></h2>
<p><a href="https://github.com/alacritty/alacritty">alacritty</a>是一个跨平台、基于OpenGL的终端性能极高的同时还支持丰富的自定义和可扩展性可以说是非常优秀的现代化终端。</p>
<p>目前已经是<code>beta</code>阶段,可以作为日常工具来使用。</p>
<img alt="alacritty screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/alacritty.png?raw=true" class="center" />
<h2 id="starship"><a class="header" href="#starship">starship</a></h2>
<p><a href="https://github.com/starship/starship">starship</a>是一个命令行提示,支持任何<code>shell</code>,包括<code>zsh</code>,简单易用、非常快且拥有极高的可配置性, 同时支持智能提示。</p>
<img alt="starship screenshot" width="100%" src="https://raw.githubusercontent.com/starship/starship/master/media/demo.gif" class="center" />
<h2 id="meilisearch"><a class="header" href="#meilisearch">MeiliSearch</a></h2>
<p><a href="https://github.com/meilisearch/MeiliSearch">MeiliSearch</a>是一个搜索平台,但是跟<code>ElasticSearch</code>不同,<code>MeiliSearch</code>并不是通用目的的,它的目标是为终端用户提供边输入边提示的即刻搜索功能,因此是一个轻量级搜索平台,不适用于数据量大时的搜索目的。</p>
<p>总之如果你需要在网页端或者APP为用户提供一个搜索条然后支持输入容错、前缀搜索时就可以使用它。</p>
<img alt="meilisearch screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/meilisearch.gif?raw=true" class="center" />
<h2 id="swc-195k"><a class="header" href="#swc-195k">swc 🌟19.5k</a></h2>
<p><a href="https://github.com/swc-project/swc"><code>swc</code></a><code>Typescript/Javascript</code>编译器它可以用来编译、压缩和打包JS同时支持使用插件进行扩展例如做代码变换等。</p>
<p><code>swc</code>目前正在被一些知名项目所使用,包括<code>Next.js</code>,<code>Parcel</code><code>Deno</code>,还有些著名的公司也在使用它,例如<code>Vercel</code>、字节跳动、腾讯等。</p>
<p>它的性能非常非常高,官方号称,在单线程下比<code>Babel</code>快20倍在4核心下比<code>Babel</code>快70倍</p>
<p>几个使用案例:</p>
<ul>
<li><a href="http://nextjs.org/12">nextjs 12</a>, 通过使用<code>swc</code>获得了更好的扩展性、性能以及wasm的支持其中性能方面提升了3倍刷新速度、5倍打包速度</li>
<li><a href="https://parceljs.org/">Parcel</a>,通过使用<code>swc</code>改善了10倍的性能</li>
</ul>
<img alt="parcel screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/javascript/parcel.png?raw=true" class="center" />
<h2 id="tauri"><a class="header" href="#tauri">tauri</a></h2>
<p><a href="https://tauri.studio">tauri</a>可以用来更小、更快、更安全的桌面应用,它想要替代的是<code>electro.js</code></p>
<p>下面是援引自<a href="https://tauri.studio/benchmarks">官网</a>的性能对比图:</p>
<img alt="tauri1 screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/tauri1.png?raw=true" class="center" />
<img alt="tauri2 screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/tauri2.png?raw=true" class="center" />
<h2 id="yew"><a class="header" href="#yew">yew</a></h2>
<p><a href="https://github.com/yewstack/yew"><code>yew</code></a>是一个正在活跃开发的<code>Rust/Wasm</code>框架,用于构建<code>Web</code>应用。</p>
<img alt="yew screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/javascript/yew.jpg?raw=true" class="center" />
<h2 id="firecracker"><a class="header" href="#firecracker">firecracker</a></h2>
<p><a href="https://github.com/firecracker-microvm/firecracker"><code>firecracker</code></a>是一个安全、高性能的无服务计算虚拟机(FaaS)支持多租户、资源隔离等高级特性由Amazon公司开发为AWS部分云计算服务提供了强力有的支持。BTW亚马逊Amazon公司对于Rust语言的喜爱是众所周知的几乎已经成了Rust的形象大使之一了:</p>
<h2 id="nushell"><a class="header" href="#nushell">nushell</a></h2>
<p><a href="https://github.com/nushell/nushell"><code>nushell</code></a>是一个全新的<code>shell</code>,使用<code>Rust</code>实现。它的目标是创建一个现代化的<code>shell</code>:虽然依然基于<code>Unix</code>的哲学,但是更适合现在的时代。例如,你可以使用<code>SQL</code>语法来选择你想要的内容!</p>
<img alt="delta screenshot" width="100%" src="https://github.com/nushell/nushell/raw/main/images/nushell-autocomplete5.gif" class="center" />
<h2 id="tokio"><a class="header" href="#tokio">tokio</a></h2>
<p><a href="https://github.com/tokio-rs/tokio"><code>tokio</code></a>的名声可以说是如雷贯耳如果学过Rust但是没有听说过它那我觉得可能要回炉重造下:)</p>
<p><code>tokio</code>是一个异步IO的运行时提供了<code>I/O</code>、网络、调度、定时器等等异步编程所必须的功能和工具,性能和功能都异常强大。</p>
<h2 id="appflowy"><a class="header" href="#appflowy">AppFlowy</a></h2>
<p><a href="https://github.com/AppFlowy-IO/appflowy">AppFlowy</a><a href="https://www.notion.so/zh-cn"><code>Notion</code></a>的开源实现,使用<code>Rust</code><code>Flutter</code>进行开发,用于用户文档和数据的管理,支持丰富的自定义特性。</p>
<img alt="appflowy screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/appflowy.png?raw=true" class="center" />
<h2 id="bevy"><a class="header" href="#bevy">Bevy</a></h2>
<p><a href="https://github.com/bevyengine/bevy">bevy</a>是一个数据驱动的游戏引擎支持2D和3D图形开发优点是社区活跃、更新快、模块化设计优秀、性能高缺点是还处于快速开发中并不适合生产使用。</p>
<p>同时<code>bevy</code>的文档齐全,官方示例很多,非常适合学习和使用。</p>
<img alt="bevy screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/gamedev/bevy.jpg?raw=true" class="center" />
<h2 id="actix-web"><a class="header" href="#actix-web">actix-web</a></h2>
<p><a href="">actix-web</a>是全世界最快的web框架之一甚至可以把之一去掉因为排在它前面的看上去像是一个专为跑分而生的轻量级框架<code>actix-web</code>可是功能相当多的!</p>
<p>下面给出<code>actix</code>和Go语言<code>Gin</code>框架的性能对比:</p>
<img alt="actix screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/actix.png?raw=true" class="center" />
<h2 id="iced"><a class="header" href="#iced">iced</a></h2>
<p><a href="https://github.com/iced-rs/iced"><code>iced</code></a>是一个跨平台GUI库具有简单易用、模块化设计、响应式布局等优点。</p>
<img alt="iced screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/iced.gif?raw=true" class="center" />
<h2 id="cubejs"><a class="header" href="#cubejs">cube.js</a></h2>
<p><a href="https://github.com/cube-js/cube.js"><code>cube.js</code></a>是一个数据分析API平台可以用于构建内部的BI或为现有的应用增加客户数据统计等功能使用<code>Rust</code><code>Typescript</code>构建。</p>
<img alt="cubejs screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/cubejs.png?raw=true" class="center" />
<h2 id="wasmer"><a class="header" href="#wasmer">wasmer</a></h2>
<p><a href="https://github.com/wasmerio/wasmer">wasmer</a>是业界领先的<code>WASM</code>运行时,支持<code>WASI</code><code>Emscripten</code></p>
<pre><code class="language-shell">$ wasmer qjs.wasm
QuickJS - Type &quot;\h&quot; for help
qjs &gt; const i = 1 + 2;
qjs &gt; console.log(&quot;hello &quot; + i);
hello 3
</code></pre>
<h2 id="tikv"><a class="header" href="#tikv">tikv</a></h2>
<p><a href="https://github.com/tikv/tikv"><code>tikv</code></a>相信大家都已知道,<code>tidb</code>的底层存储服务,国人之光项目,在数据之外,还做了大量的技术知识普及工作,值得敬佩!</p>
<p><code>tikv</code>是分布式<code>KV</code>数据库,支持分布式事务。</p>
<img alt="tikv screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/tikv.png?raw=true" class="center" />
<h2 id="ruffle"><a class="header" href="#ruffle">ruffle</a></h2>
<p><a href="https://github.com/ruffle-rs/ruffle"><code>ruffle</code></a>是用Rust写的<code>Flash Player</code>模拟器同时支持桌面端和Web端其中后者通过WASM提供支持。</p>
<h2 id="rustdesk"><a class="header" href="#rustdesk">rustdesk</a></h2>
<p><a href="https://github.com/rustdesk/rustdesk"><code>rustdesk</code></a>是国内团队开发的一款远程桌面软件。</p>
<img alt="rustdesk screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/rustdesk.jpg?raw=true" class="center" />
<h2 id="rustpython"><a class="header" href="#rustpython">RustPython</a></h2>
<p>[<code>RustPython</code>]是使用<code>Rust</code>实现的<code>Python</code>解释器, 支持<code>Python3</code>CPython &gt;= 3.9.0)。</p>
<p>大家可以通过官方提供的<a href="https://rustpython.github.io/demo/">在线网址</a>进行尝试。</p>
<img alt="rustpython screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/rustpython.jpg?raw=true" class="center" />
<h2 id="vector"><a class="header" href="#vector">vector</a></h2>
<p><a href="https://github.com/vectordotdev/vector"><code>vector</code></a>是一个性能很高的数据采集agent采集本地的日志、监控等数据发送到远程的kafka、jaeger等数据下沉端它最大的优点就是能从多种数据源(包括Opentelemetry)收集数据,然后推送到多个数据处理或者存储等下沉端。</p>
<img alt="vector screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/vector.jpg?raw=true" class="center" />
<h2 id="mdbook"><a class="header" href="#mdbook">mdbook</a></h2>
<p><a href="https://github.com/rust-lang/mdBook"><code>mdbbok</code></a>可以基于<code>markdown</code>文件自动创建在线电子书,非常简单好用,目前的问题就是缺乏章节内部的目录跳转和中文搜索。</p>
<img alt="mdbook screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/mdbook.jpg?raw=true" class="center" />
<h2 id="zola"><a class="header" href="#zola">zola</a></h2>
<p><a href="https://github.com/getzola/zola"><code>zola</code></a>是一个静态网站生成器,类似<code>hugo</code></p>
<img alt="zola screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/zola.jpg?raw=true" class="center" />
<h2 id="gitui"><a class="header" href="#gitui">gitui</a></h2>
<p><a href="https://github.com/extrawurst/gitui"><code>gitui</code></a>是一个奇快无比的Git终端UI无需浏览器即可使用。</p>
<img alt="gitui screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/gitui.gif?raw=true" class="center" />
<h2 id="solana"><a class="header" href="#solana">solana</a></h2>
<p><a href="https://github.com/solana-labs/solana"><code>solana</code></a>是知名的区块链平台,快速、安全、去中心化,还自带应用市场。</p>
<h2 id="ripgrep"><a class="header" href="#ripgrep">ripgrep</a></h2>
<p><a href="https://github.com/BurntSushi/ripgrep"><code>ripgrep</code></a>是一个性能极高的现代化<code>grep</code>实现,后者是<code>Unix/Linux</code>下的内置文件搜索工具。该项目是Rust的明星项目一个是因为性能极其的高另一个就是源代码质量很高值得学习, 同时<code>Vscode</code>使用它作为内置的搜索引擎。</p>
<p>从功能来说,除了全面支持<code>grep</code>的功能外,<code>repgre</code>支持使用正则递归搜索指定的文件目录,默认使用<code>.gitignore</code>对指定的文件进行忽略。</p>
<img alt="ripgrep screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/command-line/ripgrep.png?raw=true" class="center" />
<h2 id="citybound"><a class="header" href="#citybound">citybound</a></h2>
<p><a href="https://github.com/citybound/citybound"><code>citybound</code></a>是一个多人在线模拟游戏使用Rust + WASM + JS开发。</p>
<img alt="citybound screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/game/citybound.png?raw=true" class="center" />
<h2 id="bottlerocket"><a class="header" href="#bottlerocket">bottlerocket</a></h2>
<p><a href="https://github.com/bottlerocket-os/bottlerocket"><code>bottlerocket</code></a>是一个基于<code>Linux</code>的操作系统,它的目标是为容器提供宿主环境。</p>
<h2 id="lemmy"><a class="header" href="#lemmy">lemmy</a></h2>
<p><a href="https://github.com/LemmyNet/lemmy"><code>lemmy</code></a>是一个<code>reddit</code>克隆,可以通过连接聚合的方式来构建社区,支持桌面和移动端。</p>
<img alt="lemmy screenshot" width="100%" src="/superstar/lemmy.jpg?raw=true" class="center" />
<h2 id="tantivy"><a class="header" href="#tantivy">tantivy</a></h2>
<p><a href="https://github.com/quickwit-inc/tantivy"><code>tantivy</code></a>是Rust实现的本地搜索库功能对标<code>lucene</code>如果你不需要分布式那么引入tantivy作为自己本地Rust服务的一个搜索是相当不错的选择该库作者一直很活跃而且最近还创立了搜索引擎公司感觉大有作为. 该库的优点在于纯Rust实现性能高(lucene的2-3倍),资源占用低(对比java自然不是一个数量级),社区活跃。</p>
<h2 id="sled"><a class="header" href="#sled">sled</a></h2>
<p><a href="https://github.com/spacejam/sled"><code>sled</code></a>是本地嵌入式的数据库。</p>
<pre><pre class="playground"><code class="language-rust edition2021">
<span class="boring">#![allow(unused)]
</span><span class="boring">fn main() {
</span>let tree = sled::open(&quot;/tmp/welcome-to-sled&quot;)?;
// insert and get, similar to std's BTreeMap
let old_value = tree.insert(&quot;key&quot;, &quot;value&quot;)?;
assert_eq!(
tree.get(&amp;&quot;key&quot;)?,
Some(sled::IVec::from(&quot;value&quot;)),
);
// range queries
for kv_result in tree.range(&quot;key_1&quot;..&quot;key_9&quot;) {}
// deletion
let old_value = tree.remove(&amp;&quot;key&quot;)?;
// atomic compare and swap
tree.compare_and_swap(
&quot;key&quot;,
Some(&quot;current_value&quot;),
Some(&quot;new_value&quot;),
)?;
// block until all operations are stable on disk
// (flush_async also available to get a Future)
tree.flush()?;
<span class="boring">}
</span></code></pre></pre>
<h3 id="redox"><a class="header" href="#redox">redox</a></h3>
<p><a href="https://github.com/redox-os/redox"><code>Redox</code></a>是一个<code>Unix</code>风格的微内核操作系统,使用<code>Rust</code>实现。<code>redox</code>的目标是安全、快速、免费、可用,它在内核设计上借鉴了很多优秀的内核,例如:<code>SeL4</code>, <code>MINIX</code>, <code>Plan 9</code><code>BSD</code></p>
<p><code>redox</code>不仅仅是一个内核,它还是一个功能齐全的操作系统,提供了操作系统该有的功能,例如:内存分配器、文件系统、显示管理、核心工具等等。你可以大概认为它是一个<code>GNU</code><code>BSD</code>生态,但是是通过一门现代化、内存安全的语言实现的。</p>
<blockquote>
<p>不过据我仔细观察redox目前的开发进度不是很活跃不知道发生了什么未来若有新的发现会在这里进行更新 - Sunface</p>
</blockquote>
<img alt="redox1 screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/os/redox1.jpg?raw=true" class="center" />
<img alt="redox2 screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/os/redox2.jpeg?raw=true" class="center" />
<h3 id="youki"><a class="header" href="#youki">youki</a></h3>
<p><a href="https://github.com/containers/youki"><code>youki</code></a>是一个容器运行时,实现了<code>OCI</code>标准,性能非常好的同时具备非常高的安全性, 目前来说,它的性能跟<code>crun</code>差不多,比<code>runc</code>快50%以上。</p>
<h3 id="sixtyfps"><a class="header" href="#sixtyfps">sixtyfps</a></h3>
<p><a href="https://github.com/sixtyfpsui/sixtyfps"><code>sixtyfps</code></a>是一个GUI工具集同时适用于嵌入式系统、桌面系统、移动端、浏览器(WASM),支持使用多种语言进行开发,背后有商业公司的支持,未来前景看好。</p>
<img alt="sixtyfps screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/sixtyfps.png?raw=true" class="center" />
<h3 id="wasmtime"><a class="header" href="#wasmtime">wasmtime</a></h3>
<p><a href="https://github.com/bytecodealliance/wasmtime">wasmtime</a>是一个为<code>WASM</code>设计的<code>JIT</code>风格的独立运行时,支持<code>WASI</code></p>
<pre><pre class="playground"><code class="language-rust edition2021">fn main() {
println!(&quot;Hello, world!&quot;);
}
</code></pre></pre>
<pre><code class="language-shell">$ rustup target add wasm32-wasi
$ rustc hello.rs --target wasm32-wasi
$ wasmtime hello.wasm
Hello, w
</code></pre>
<h3 id="polkadot"><a class="header" href="#polkadot">polkadot</a></h3>
<p><a href="https://github.com/paritytech/polkadot"><code>polkadot</code></a>是知名的区块链平台,它是从<a href="https://github.com/paritytech/substrate"><code>Substrate</code></a>抽离出来,后者是下一代区块链开发框架。</p>
<h3 id="lapce"><a class="header" href="#lapce">lapce</a></h3>
<p><a href="https://github.com/lapce/lapce"><code>lapce</code></a>是一款性能极高、功能强大、基于<code>wgpu</code>渲染的代码编辑器,基于<code>Xi-Editor</code>开发,后者<code>Xi-Editor</code>曾经也红极一时,可惜不再维护了,但是依然非常适合做一个编辑器内核。</p>
<img alt="lapce screenshot" width="100%" src="https://github.com/studyrs/cookbook-images/blob/main/superstar/lapce.jpg?raw=true" class="center" />
<h3 id="rust-gpu"><a class="header" href="#rust-gpu">rust-gpu</a></h3>
<p><a href="https://github.com/EmbarkStudios/rust-gpu">rust-gpu</a>的目标是让Rust成为GPU编程的第一梯队语言由大名鼎鼎的<code>Embark</code>公司开发,后台较硬。</p>
<p>如果需要通用的<code>GPU</code>编程,选它就对了。</p>
<div id="giscus-container"></div>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="daily-dev.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="empowering-js.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
<div style="clear: both"></div>
</nav>
</div>
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="daily-dev.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="empowering-js.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>
</div>
<script type="text/javascript">
window.playground_copyable = true;
</script>
<script src="ace.js" type="text/javascript" charset="utf-8"></script>
<script src="editor.js" type="text/javascript" charset="utf-8"></script>
<script src="mode-rust.js" type="text/javascript" charset="utf-8"></script>
<script src="theme-dawn.js" type="text/javascript" charset="utf-8"></script>
<script src="theme-tomorrow_night.js" type="text/javascript" charset="utf-8"></script>
<script src="elasticlunr.min.js" type="text/javascript" charset="utf-8"></script>
<script src="mark.min.js" type="text/javascript" charset="utf-8"></script>
<script src="searcher.js" type="text/javascript" charset="utf-8"></script>
<script src="clipboard.min.js" type="text/javascript" charset="utf-8"></script>
<script src="highlight.js" type="text/javascript" charset="utf-8"></script>
<script src="book.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
var pagePath = "superstar.md"
</script>
<!-- Custom JS scripts -->
<script type="text/javascript" src="assets/custom1.js"></script>
<script type="text/javascript" src="assets/bigPicture.js"></script>
</body>
</html>