Pinephone Pro应用开发

原创
2023/09/25 22:49
阅读数 100

Pinephone Pro是一台可以安装Linux的手机,所以应用开发也可以参照Linux的一些东西。KDE,这个是基于QT的,目前还没有尝试。GTK,目前我使用GTK4的Rust绑定,也还处于研究中。GTK其实还有JavaScript、Python、Perl、Vala,其实语言角度,感觉JavaScript、Python应该更好的入手了,选择Rust完全是为了学习才选择的,语言的问题只是其一。目前感觉更多的还是GTK这个框架本身需要花时间去学习,使用Rust开发GTK应用的资料不多,主要还是看官方的文档和一些例子,GTK相关的资源还是不少,不过关于在移动端开发的资料不是很多。首先GTK提供的组件对于移动端的支持太弱了,不像开发iOS和安卓时很多都是现成的。比如我现在开发的测试应用,一个笔记的简单应用。

一开始我只用GTK的组件时,发现竟然没有导航这种组件,后来发现基于GTK4的Libadwaita组件库提供了NavigationView组件,但这个在上周才发布的1.4版本才有的,可见这种开源的软件的效率多慢,最后使用GTK的Stack组件自制了一个看起来能用的导航。目前还在探索中,因为GTK原生是用C语言开发的,Rust开发时总是摆脱不了GLib之类的东西。题外话,Rust面临的问题也很尴尬,底层逃不出C/C++的圈,高层次似乎优势不大,比如尝试Rust的前端框架Yew,还是逃不离JS的东西。但是选择Rust主要原因既可以很底层,但是语法又很现代,内存安全,你不需要像C/C++那样手动管理,但又跟垃圾回收的完全不用理会,这需要在思想层面去理解。

之前有用过Flutter,听说也支持桌面开发了。我尝试在Pinephone Pro上安装了环境,跑了一个例子,可以跑起来。其实桌面开发不重要,但是在Linux手机端可能是一个不错的应用开发的选择,目前也只是跑着例子,界面开发肯定比GTK的Rust绑定要简单多了,主要是类似摄像头调用之类可能要自己写插件吧。

Linux手机的好处就是开放吧,你可以使用自己喜欢的语言去折腾。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部