本系列文檔記錄了熊皮皮從0學(xué)習(xí)Rust編程語(yǔ)言顶岸,在開發(fā)過(guò)程中從C++/Java式基于繼承的面向?qū)ο缶幊虘T性思維到Rust式面向數(shù)據(jù)編程的開發(fā)總結(jié)官册,這些內(nèi)容來(lái)自我和團(tuán)隊(duì)使用Rust開發(fā)Windows/macOS與移動(dòng)端iOS/Android等跨平臺(tái)共享源碼的復(fù)雜圖形渲染項(xiàng)目的設(shè)計(jì)忱辅、思考與實(shí)踐。
面向數(shù)據(jù)編程更接近函數(shù)式編程的思維(個(gè)人粗淺理解)费彼。Rust語(yǔ)法及思考方式的轉(zhuǎn)變起初給我和團(tuán)隊(duì)帶來(lái)了相當(dāng)?shù)膶W(xué)習(xí)難度削咆,在某些程度上,它“拖慢”了我們的項(xiàng)目進(jìn)度杖剪。換個(gè)角度看冻押,它強(qiáng)迫我一直思考自己的架構(gòu)設(shè)計(jì)及內(nèi)存使用是否合理驰贷,而我用C/C++/Java等語(yǔ)言在習(xí)慣了某些套路后常常忽略思考這些慣例的本質(zhì)。突然暴露了自己是個(gè)菜逼翼雀,手動(dòng)攤手.png。
iOS/Android共享源碼新項(xiàng)目選擇Rust而非C++的主要原因是孩擂,兩者性能相似狼渊,Rust有方便好用的依賴管理器、跨平臺(tái)編譯極其方便类垦、語(yǔ)義明確狈邑。
目錄
- C++與Rust變量聲明的比較
- C++與Rust引用外部符號(hào)的比較
- C++與Rust數(shù)據(jù)類型對(duì)應(yīng)關(guān)系
- C++與Rust操作裸指針的比較
- Rust 2018開發(fā)環(huán)境配置
- C++/Java式面向?qū)ο笤赗ust上遇到的問(wèn)題及解決辦法
- Rust庫(kù)導(dǎo)出C接口的總結(jié)
- Rust跨平臺(tái)與條件編譯總結(jié)
- Rust模塊化系統(tǒng)實(shí)踐總結(jié)
- Rust與C接口(FFI)交互的總結(jié)
招聘
我們?cè)谡衅笀D形渲染開發(fā)工程師崗位,工作地點(diǎn)北京海淀蚤认,校招米苹、社招都有名額,社招傾向中/高級(jí)開發(fā)崗砰琢,30-50k蘸嘶,希望你:
- 具有一年以上Rust開發(fā)經(jīng)驗(yàn)的同學(xué),最好也具備扎實(shí)的C或C++基礎(chǔ)
- 了解或熟悉手機(jī)端常用圖形庫(kù)陪汽,如OpenGL ES/Metal/Vulkan其中之一训唱,最好具備一個(gè)以上圖形渲染或基于Shader的圖像處理(GPGPU)項(xiàng)目開發(fā)經(jīng)驗(yàn)
- 擁有良好的工程師素養(yǎng),編寫高質(zhì)量挚冤、整潔簡(jiǎn)單况增、可維護(hù)的代碼
- 校招崗位只要求計(jì)算機(jī)基礎(chǔ)扎實(shí),熟練掌握數(shù)據(jù)結(jié)構(gòu)训挡、操作系統(tǒng)等課程澳骤,了解或熟悉計(jì)算機(jī)圖形和編譯原理,有ACM等參賽經(jīng)歷或知名公司實(shí)習(xí)經(jīng)歷更好澜薄。
致謝
開發(fā)與學(xué)習(xí)過(guò)程中为肮,感謝以下朋友的熱心幫助。
fyfcauc肤京、dajinyu_haiyan弥锄、FEIPER、leizh007蟆沫、JoySeeDog籽暇、黑化的齒輪、我是傻逼我自豪饭庞、λCrLF·o?1o戒悠、KiChjang、{ Chaos Bot}舟山、DCjanus绸狐、Solmyr卤恳。