跃迁引擎

空気を読んだ雨降らないでよ

iOS Research & Development


  1. Rust - 移动端跨平台开发实践

    1. 整体方案 Rust的移动端跨平台开发方案,具体如下 最底层SDK的业务逻辑由Rust实现 使用ffi工具,编写binding code Android、iOS:中间层使用uniffi编写binding代码。使用uniffi-bindgen将binding代码生成kotlin、Swift代码,方便Android、iOS调用。 鸿蒙:使用ohos-rs编写binding代码,使用ohos工 …

    , 开始阅读

  2. Rust - 基于 FFI 的移动端跨平台 SDK 的探索和实践

    为什么要跨平台 减少人力成本,减少开发时间。 抹平多端在逻辑细节的实现差异,提高代码一致性,保证工程质量。 多个平台共享一套代码,后期产品维护简单。 目前常见的跨平台方案C++很多公司的跨平台移动基础库基本都有 C++ 的影子,如微信,腾讯会议,还有早期的 Dropbox,知名的开源库如微信的 Mars 等。好处是一套代码多端适配,但是需要大公司对 C++ 有强大的工具链支持,还需要花重金 …

    , , 开始阅读

  3. Rust 工程结构初探

    Rust 项目的依赖管理机制 Rust 的依赖管理是基于项目的根 Cargo.toml 文件,而不是子目录中的 Cargo.toml 文件。如果再子目录的 Cargo.toml 文件中描述,即使同样在子目录中的.rs文件,也会出现识别不到的问题。 我们需要明确 Rust 项目的依赖管理机制。在 Rust 中,依赖管理是基于项目的根 Cargo.toml 文件进行的,而不是子目录中的 Cargo …

    , , 开始阅读

  4. Rust - 值的借用

    值的借用是如何工作的?当我们进行变量赋值、传参和函数返回时,如果涉及的数据结构没有实现 Copy trait,就会默认使用 Move 语义转移值的所有权,失去所有权的变量将无法继续访问原来的数据;如果数据结构实现了 Copy trait,就会使用 Copy 语义,自动把值复制一份,原有的变量还能继续访问。 虽然,单一所有权解决了其它语言中值被任意共享带来的问题,但也引发了一些不便。我们上一讲提到: …

    , , 开始阅读

  5. Rust - 值的所有权

    值的生杀大权究竟在谁手上?进入内存管理以后,我们就会一起研究 Rust 学习过程中最难啃的硬骨头:所有权和生命周期。为什么要从这个知识点开始呢?因为,所有权和生命周期是 Rust 和其它编程语言的主要区别,也是 Rust 其它知识点的基础。 其实,所有权和生命周期之所以这么难学明白,除了其与众不同的解决内存安全问题的角度外,另一个很大的原因是,目前的资料对初学者都不友好,上来就讲 Copy &#x …

    , , 开始阅读

  6. 从零开始的 Rust 修炼生活

    前言在当今这个快速发展的软件开发领域,掌握一门高效且安全的编程语言显得尤为重要。Rust,作为一门集性能与安全性于一身的现代系统编程语言,自2010年首次公开以来,便以其独特的所有权系统和零成本抽象理念吸引了大量开发者的关注。本系列文章旨在为初学者提供一条系统学习Rust的道路,从基础语法到高级特性,再到运行机制的深入理解,帮助读者逐步提升,最终达到能够熟练运用Rust解决实际问题的能力。 Ru …

    , 开始阅读