rawdrawandroid
objc-ast-experiments | rawdrawandroid | |
---|---|---|
2 | 9 | |
7 | 2,642 | |
- | - | |
10.0 | 7.3 | |
almost 3 years ago | 8 days ago | |
C | C | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
objc-ast-experiments
-
C-Macs – a pure C macOS application
Here's something similar by Garret Bass:
https://github.com/garettbass/oc
...I also experimented a bit with parsing macOS system headers via clang-ast-dump and then code-generating C and Zig APIs but that didn't get far:
https://github.com/floooh/objc-ast-experiments
...with a bit of effort and maybe using libclang instead of clang-ast-dump that's definitely feasible though.
I guess a similar approach is used by the official C++ bindings for Metal:
https://developer.apple.com/metal/cpp/
-
Show HN: C-ocoa, Write iOS/macOS apps in any language, with a generated C API
This is basically also what the "official" C++ API for Metal does (https://developer.apple.com/metal/cpp/), it's an automatically generated bindings wrapper which calls into ObjC runtime functions.
I also dabbled a bit with this idea by parsing clang AST-dumps of macOS system headers:
https://github.com/floooh/objc-ast-experiments
Unfortunately this is very brittle, and also broke on ARM CPUs, I guess the shim code needs some ABI adjustments (famously, objc_msgSend has multiple "ABI shapes": https://www.mikeash.com/pyblog/objc_msgsends-new-prototype.h...).
rawdrawandroid
-
C-Macs – a pure C macOS application
> A little bit of this also has to do to stick it to all those Luddites on the internet who post "that's impossible" or "you're doing it wrong" to Stack Overflow questions... Requesting permissions in the JNI "oh you have to do that in Java" or other dumb stuff like that. I am completely uninterested in your opinions of what is or is not possible. This is computer science. There aren't restrictions. I can do anything I want. It's just bits. You don't own me.
From the wonderful CNLohr's rawdraw justification[0]. I always enjoy these kinds of efforts because they embody the true hacker spirit. This is Hacker News after all!
0: https://github.com/cnlohr/rawdrawandroid?tab=readme-ov-file#...
- Little File Explorer – ~40KB File Manager for Android 1.0 and Above
-
Mobile App
My knowledge of the subject is limited and English is not my first language, but I remember reading this some time ago and it may be useful. https://github.com/cnlohr/rawdrawandroid Another option is Godot, I saw applications made with it.
-
Memory Safe Languages in Android 13
Might not be impossible: Someone made an android application totally in C. If it can be done in C, it can be done in Rust as well I presume? https://github.com/cnlohr/rawdrawandroid
- Rawdrawandroid: Build Android apps without any Java, in C and Make
-
Hi, I hope someone will see that and answer. I'm new to Reddit and I don't know how the algorithm works. I don't know anything about programming so I need help. I want to make an app just for myself
C isn't the primary language of user-space mobile development. while possible, it is inadvisable. as for its feasability, the court is in your favour (on android)! it is possible to "replace" the lockscreen. you will be leaving yourself vulnerable to attacks the actual lockscreen can prevent, but it can be done. here, this article goes into the downsides of this unrooted method, while also explaining the rooted method. Good luck! (and use java/kotlin)
- GitHub - cnlohr/rawdrawandroid: Build android apps without any java, entirely in C and Make
-
Hey guys, looking for a mobile application development toolkit that uses C
Check this: https://github.com/cnlohr/rawdrawandroid
What are some alternatives?
metal-cpp - Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.
android-native-egl-example - Sample that shows how to combine native rendering with Java UI on Android
windy - Windowing library for Nim using OS native APIs.
node-raylib - Node.js bindings for Raylib
ndk-samples - Android NDK samples with Android Studio
nuklear - This project provides Go bindings for nuklear.h — a small ANSI C GUI library.
ObjFW - [Official Mirror] A portable framework for the Objective-C language.
LockScreenDevice - Lock Screen Device App Tutorial for Android
mastodon-android - Official Android app for Mastodon