TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Rawdrawandroid – Build Android apps without any Java, in C and Make

359 点作者 doodlesdev8 个月前

18 条评论

_bin_8 个月前
This is pretty great. The biggest reason I hate doing android development is the java (and to a lesser extent, kotlin) "ecosystem" is a pain. Java is a sucky language to write; Kotlin is less bad, but the whole build tooling/package management/IDE mania mess is still a hassle to use. So thanks to the author.
评论 #41619556 未加载
评论 #41621415 未加载
评论 #41619688 未加载
评论 #41622300 未加载
评论 #41620389 未加载
评论 #41628890 未加载
评论 #41627120 未加载
promiseofbeans8 个月前
Whenever I need to touch XCode or Android Studio, I&#x27;m reminded how lucky web devs are now that almost everything has converged around Vite (death stare at NextJS). Everything Just Works(tm). Simple plugin system to integrate anything.<p>The few times there wasn&#x27;t a plugin to do what I needed, I&#x27;ve managed to roll a custom one pretty easily.<p>When Vite breaks you&#x27;re completely screwed though. Find a different way to do it or wait until a patch comes out. Vite internals are nigh impossible to fix on your own.
评论 #41622541 未加载
roland_nilsson8 个月前
&quot;I can do anything I want. It&#x27;s just bits. You don&#x27;t own me.&quot; Fair enough! x-D
评论 #41623053 未加载
评论 #41623650 未加载
a-dub8 个月前
to be clear, this is only really useful for applications that present their ui through opengl and do not interact with the rest of the android system very much.<p>the ndk is meant for writing little bits of c to speed things up in a classic java android application.<p>this is a pretty cool hack that allows for opengl apps to be written in straight c that run full screen and have limited access to things like keyboards, adc inputs or usb.<p>it does not include a reimplementation of the android frameworks in c and the ndk provides limited access for ndk code to interact with them.<p>the main use case seems to be supporting a program for live audio reactive visuals based on extraction of chroma.
评论 #41624035 未加载
评论 #41623976 未加载
评论 #41623045 未加载
skybrian8 个月前
Looks like you still have to start by installing Android Studio, which seems excessive. Is there a way to just download an Android SDK?<p>Looking briefly at the makefile, I think they might have avoided Gradle, though it calls other tools written in Java.<p>I&#x27;d love to see a way to build a Flutter app without Gradle.
评论 #41622803 未加载
评论 #41623743 未加载
评论 #41623268 未加载
评论 #41628241 未加载
评论 #41626299 未加载
pkphilip8 个月前
C is neat but something like python may be simpler to work with for most programmers. I wonder if anyone here has experience with Kivy and KivyMD libraries for python.<p>The code is simple and self explanatory.<p>class RectangleFlatButton(TouchRippleBehavior, Button): primary_color = get_color_from_hex(&quot;#EB8933&quot;)<p><pre><code> def on_touch_down(self, touch): collide_point = self.collide_point(touch.x, touch.y) if collide_point: touch.grab(self) self.ripple_show(touch) return True return False def on_touch_up(self, touch): if touch.grab_current is self: touch.ungrab(self) self.ripple_fade() return True return False </code></pre> class MainApp(App): def build(self): screen = Builder.load_string(KV) screen.add_widget( RectangleFlatButton( text=&quot;Hello, World&quot;, pos_hint={&quot;center_x&quot;: 0.5, &quot;center_y&quot;: 0.5}, size_hint=(None, None), size=(dp(110), dp(35)), ripple_color=(0.8, 0.8, 0.8, 0.5), ) ) return screen<p>MainApp().run()
评论 #41628103 未加载
matsemann8 个月前
Given that it&#x27;s a thin wrapper around GL and friends, could one have an alternate implementation of these calls and do most of the dev work natively on the desktop? And not muck around with devices or emulators except for some final &#x2F; edge case testing?<p>I just remember working with Libgdx back in the days. A game framework made for Android. It however was cleverly designed in that you could just run it on desktop by changing which implementations were used for drawing&#x2F;sounds&#x2F;assets. Very nice to work with, could just recompile the app in seconds and test, even hot swap, compared to the other way of building an apk, installing, launching etc which took minutes per iteration.
评论 #41629878 未加载
fredgrott8 个月前
You know its funny all the Gradle sucks comments here....I use Flutter which behind the scenes uses Gradle builds for android targets....no Gradle problems whatsoever...maybe operator touching and changing Gradle was the feature and the problem??
kopirgan8 个月前
May be someone with deep pockets like Elon must get Linux to work on mobile. I know there&#x27;s efforts going on but seems slow progress. That will break the back of the duopoly and also make things like this so much easier.
评论 #41622578 未加载
评论 #41623234 未加载
评论 #41629496 未加载
评论 #41622581 未加载
评论 #41626479 未加载
justmarc8 个月前
There should be a lot more high quality, super lightweight, non bloated apps.
评论 #41625430 未加载
baudaux8 个月前
I remember when I was developping a cross platform C++&#x2F;OpenGL ES engine that worked on Android, iOS, Linux, Web… so satisfying
nine_k8 个月前
Now we only need to embed Lua into this to write the high-level logic, and we may have a winner for stuff that does not need a lot of accessibility support. Like, say, games, or media players. Easy to link C libraries that do performance-critical stuff, or writhe your own C code.<p>(Then gradually rewrite the core in Zig.)
评论 #41620625 未加载
评论 #41620001 未加载
评论 #41629568 未加载
mouse_8 个月前
This should be integrated into DevkitPro! Would love to see the relatively lightweight msys2 environment building APKs. I know WSL is better but I&#x27;m hesitant to use platforms Microsoft is in the process of embracing and extending.
sheeshkebab8 个月前
Honestly the whole java&#x2F;kotlin tooling is the worst to pick for mobile dev, and KEEP it after so many other great languages and tools that are out there. I don’t why google didn’t offer at least Go as a native alternative for android dev.
评论 #41625601 未加载
评论 #41623402 未加载
评论 #41621188 未加载
评论 #41622194 未加载
评论 #41629083 未加载
peter_retief8 个月前
I was interested but then saw JDK&#x2F;Gradle. One of the reasons I avoid android development.
rkagerer8 个月前
<i>Rawdraw operates on everything from an ESP8266, to RaspberryPi, Windows Linux and now, even Android. Write code once, use it everywhere.</i><p>That &quot;everything&quot; contains a pretty big gap.
smarx0078 个月前
Memory corruption, now on Android!<p>Just gonna leave this here: <a href="https:&#x2F;&#x2F;safecpp.org&#x2F;draft.html#the-call-for-memory-safety" rel="nofollow">https:&#x2F;&#x2F;safecpp.org&#x2F;draft.html#the-call-for-memory-safety</a><p>P.S. Was discussed on HN recently: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=41528124">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=41528124</a><p>P.P.S. The author has a great YT channel with awesome embedded systems projects: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLDRymMFQl3Nktk_pjlUP_wbLIXre3sody" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLDRymMFQl3Nktk_pjlUP_...</a>
评论 #41619467 未加载
评论 #41620256 未加载
评论 #41619800 未加载
388 个月前
Make? Jesus Christ people are still using that? It&#x27;s like people don&#x27;t realize that other languages have been created in the last 20 years
评论 #41620489 未加载
评论 #41620578 未加载