compose开发断电监控自动关机桌面应用
介绍
使用compose开发了一个桌面应用,用来监控路由器IP是否能ping通,发现ping不通就自动给电脑休眠或者关机。
这个应用的目的是什么呢,主要是在断电的时候不让我的服务器集群直接崩溃
服务器集群最怕断电,家庭用电,断电的概率还是挺高的,忘记交电费,保险丝烧了都有可能
一断电有可能造成数据丢失系统损坏,那么多服务器重启配置也很耽误时间。
一直在尝试找解决方案,这个问题不解决,服务器稳定运行就是奢望
想自己跑建站,AI服务,都依赖这个基础
首先是购买UPS不间断电源,简单来说就是充电宝,断电以后还能让服务器运行一段时间。
常见的UPS,会提供一根线和电脑相连,监测到断电以后通过这根线发送指令让电脑关机。但是一般一个UPS就给一根线,电脑多了就没办法用。
后来找到一个方案,断电的时候让路由器掉线,电脑持续ping路由器,发现ping不通就关机。 看起来可行,网吧就是这么搞的
但是网吧的管理工具,很重还要收费,断电关机只是附带的其中一个功能。
网上另外找了个的类似监控软件,还花钱买的,安装杀毒软件居然报毒。那么多电脑后续还要新增,使用报毒的小作坊软件还是不太放心。
索性自己写一个,顺便尝试下compose跨平台技术如何。
最后在ai加持下,3小时搞定,还是蛮不错的
compose开发桌面软件的优势和缺点
最近半年一直用compose开发安卓应用,感觉还是蛮方便的,这次尝试用来开发桌面软件也不错
可以复用java的类库,jni调用so库
打包exe相比python方便太多,gradle依赖管理,比python也好太多。还能自带jdk运行环境,解压就能跑,这点可以说无敌。
杀毒软件不报毒
众所周知现在app应用上架审核很复杂,网站也要备案,相比之下桌面应用还没有那么多规矩,也算是安卓开发者扩展创业方向上的独特优点。
结合androidstudio+免费的gemini2.5pro,开发很丝滑。不过还有点小bug,gemini修改后的代码,自己再改了以后,下次gemini的修改可能会无视我自己的修改直接覆盖,这个还是得每次小心对比一下,希望后续版本能改进
缺点方面:
compose桌面开发没有android端的fragment,viewmodel这些生命周期组件加持,感觉状态管理、多页面开发还得继续积累经验
目前流行的前后端分离设计,想结合springboot做后端一起打包。之前尝试过启动springboot的同时启动compose应用可以成功,但是文件路径处理,打包可能还会遇到新的问题
缺少一套应用更新的解决方案
这些缺点可以做为后期探索方向,相信都是可以解决的
总得来说,compose开发桌面应用还是非常不错,值得尝试