Rust 移动端跨平台复杂图形渲染项目开发系列总结(目录)

本系列文档记录了熊皮皮从0学习Rust编程语言,在开发过程中从C++/Java式基于继承的面向对象编程惯性思维到Rust式面向数据编程的开发总结,这些内容来自我和团队使用Rust开发Windows/macOS与移动端iOS/Android等跨平台共享源码的复杂图形渲染项目的设计、思考与实践。

面向数据编程更接近函数式编程的思维,个人粗浅理解。Rust语法及其带来的概念如生命周期起初给我和团队带来了相当的学习难度,主要原因是业务难度大、(DEMO)开发周期短,还有我们自我束缚在面向对象思维惯性上,导致写出来的代码经常编译失败,打击了士气,在某些程度上,它“拖慢”了我们的项目进度。 换个角度看,它强迫我一直思考自己的架构设计及内存使用是否合理,而我用C/C++/Java等语言在习惯了某些套路后常常忽略思考问题的本质。从个人和团队成长看,这是有益的,几番重构,项目架构和代码更加直观,也许这就所谓的“大道至简”。 好吧,突然暴露了自己是个菜逼,手动摊手.png。

iOS/Android/macOS/Windows等共享源码新项目选择Rust而非C++的简要原因是,两者性能相似,Rust有方便好用的依赖管理器、跨平台编译极其方便、语义明确、丰富的第三方库和文档齐全的官方标准库。

目录

  1. Rust 2018开发环境配置与开发效率工具集
  2. C++与Rust变量声明的比较
  3. C++与Rust引用外部符号的比较
  4. C++与Rust数据类型对应关系
  5. C++与Rust操作裸指针的比较

staging:

  1. C++/Java式面向对象在Rust实践中所遇问题及解决办法

cold:

  1. gfx-rs/hal开源项目参与开发总结
  2. gfx-rs/hal源码分析
  3. Rust日志输出实践总结
  4. Rust错误处理实践总结
  5. CLion 2018 Rust单元测试总结
  6. Rust库导出C接口的总结
  7. Rust跨平台与条件编译总结
  8. Rust模块系统团队实践总结
  9. Rust与C接口(FFI)交互的总结
  10. gfx-rs/wgpu (WebGPU) 项目的学习总结
  11. Rust使用dlopen、dlsym等函数的总结
  12. Rust宏开发总结
  13. Rust输出.a/.so包大小瘦身总结
  14. Rust反射实践总结
  15. Rust OpenGL ES开发所遇问题及解决办法
  16. 使用Rust重写图形渲染项目的经验总结

招聘

我们在招聘图形渲染开发工程师岗位,工作地点北京海淀,校招、社招都有名额,社招倾向中、高级开发岗、30-50k,希望你:

  1. 具有一年以上Rust开发经验的同学,最好也具备扎实的C或C++基础
  2. 了解或熟悉手机端常用图形库,如OpenGL ES 3.2/Metal/Vulkan其中之一,最好具备一个以上图形渲染或基于Shader的图像处理(GPGPU)项目开发经验
  3. 拥有良好的工程师素养,可编写高质量、整洁简单、易维护的代码
  4. **校招岗位(18-30k)**只要求计算机基础扎实,熟练掌握数据结构、操作系统等课程,了解或熟悉计算机图形和SPIR-V规范、有ACM等参赛或知名公司实习经历更好。

致谢

感谢Rust社区的朋友们在我开发与学习过程中所提供的热心帮助。
fyfcauc、dajinyu_haiyan、FEIPER、leizh007、JoySeeDog、黑化的齿轮、我是傻逼我自豪(茶包)、λCrLF·º⁷¹º、KiChjang、{ Chaos Bot}Dzmitry Malyshau @mozillaJosh GrovesZakarum Hal Gentzmtak-、DCjanus、Solmyr。

猜你喜欢

转载自juejin.im/post/5bea5c2af265da613a538fb5