0x00. 使用 Rust 開發個完整的應用

劉子殊發表於2018-12-17

我最開始學 Rust 的時候, 看完 Rust Book 這類官方推薦教程之後, 就不曉得接下來該怎麼繼續了, 我覺得很多人跟我應該是同樣的感覺. 後來我找到了個用 Rust 開發完整應用的教程. 但是很遺憾, 我現在在作者的部落格上已經找不到那一系列教程了, 但是我當初一知半解時期寫下的程式碼還在, 我現在想重新還原那份教程.

首先介紹一下這個專案, 這是一個用 rust-sdl2 同時運用上 Rust 大部分語法特性開發一個桌面應用.

目錄

0x00. 使用 Rust 開發個完整的應用
0x01. 使用 SDL2 建立一個視窗
0x02. 處理視窗關閉
0x03. 使用巨集定義事件
0x04. 檢視渲染
0x05. 檢視操作
0x06. 視窗上的矩形

開始前的準備

在開始編碼之前, 先把一些東西都配好, 所以先把 SDL2 裝上, 在 macOS 上直接在終端執行命令來安裝 brew install sdl2, 安裝高版本的 Rust, 最好是 nightly. 因為會用到 2018 edition 的東西, 還有一些 unstable 特性.

我本機的 Rust 版本

rust 1.33.0-nightly (a8a2a887d 2018-12-16)

然後選擇一個目錄建立專案

cargo new rs-arcade
複製程式碼

修改一下 Cargo.toml 檔案, 新增一下 rust-sdl2 的依賴, 這裡使用 0.29 版本吧, 原因是 0.30 以後的版本我還沒去學, 後面整個專案完成了, 再遷移到新版本也可以作為一個學習目標.

[package]
name = "rs-arcade"
version = "0.1.0"
authors = ["LimitLiu <xxx@example.com>"]
edition = "2018"

[dependencies]
sdl2 = "0.29"
複製程式碼

接下來, 直接在專案根目錄執行 cargo run 啟動同時安裝好依賴. 考慮到國內的網路非常優秀, 所以建議配置一個國內的源. 官方的管理倉庫在 https://crates.io, 我們在 $HOME/.cargo 目錄下建立一個 config 檔案, 加上這些內容

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
複製程式碼

儲存好之後, 再執行 cargo run.

等到執行成功, 我們把程式碼上傳到 git 託管平臺. 我使用國內的 Coding 平臺來託管, 理由還是國內的優秀網路. // 雖然現在變成疼訓的啦
https://git.dev.tencent.com/limitLiu/rs-arcade.git


現在已經完成了專案初始的工作, 之後先把視窗顯示出來.

相關文章