morajabi / cidre

Apple frameworks bindings for rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cidre (French Cidr) - Rusty Apple API's

Goals

  • Performance
  • Zero cost objc interop
  • No legacy platforms support
  • ML friendly
  • Rusty API (ObjC and C)

Performance

  • Developer can finish critical path without deallocations.
  • Zero cost selectors calls (XCode 14.3) WWDC video 3:10
  • Integrated async blocks
  • Zero cost Apple's C API interfaces

Platforms

  • macOS
  • iOS/iPadOS
  • tvOS
  • watchOS

Shortcuts

  • address -> addr
  • argument -> arg
  • attachment -> attach
  • attribute -> attr
  • attributted -> attr
  • buffer -> buf
  • command -> cmd
  • count -> len
  • descriptor -> desc
  • destination -> dst
  • error -> err
  • extension -> ext
  • language -> lang
  • length -> len
  • mutable -> mut
  • operation -> op
  • options -> opts
  • pointer -> ptr
  • source -> src
  • surface - surf
  • throws -> _throws (not shortcut but indicator of exception)

About

This is personal research project. With this project I learn Apple SDK's and rust.

About

Apple frameworks bindings for rust

License:MIT License


Languages

Language:Rust 98.7%Language:Objective-C 1.2%Language:C 0.0%Language:Shell 0.0%