Flutter(偏安卓)

碎念念

做毕设的时候可能需要用到客户端,做一下了解和学习
首先我是学Java,第一时间想到的就是JavaGUI,其中JavaFx是目前最新的了
但是JavaGUI在国内好像真的好少人用,怎么说呢,一句话就是生态差文档少,我也不知道为啥总之国内流行的是electron,以及fluter,至于uniapp都不想提,但怎么说呢都不是C这样底层的语言,都没有提供对系统底层交互的强大能力,qt才是比较底层的但同样难度也大

Quote

期间我看到某些评论比如:"不论公司还是个人,不要多想,直接flutter 能力不足时用原生通道扩展,这是我15年程序员的建议"——作为个人,我貌似是挺赞同的

flutter:自绘组件,类似JVM的底层机制

  • 界面:dart语言,短平快,开发效率高,维护成本升级成本高
  • 截至2023年,桌面端的系统级支持还比较差,但是安卓可以
  • IOS不支持热跟新(也就是程序内更新,然后ios的审核非常慢,这一点导致很多人不喜欢)
    - 偏iOS 有热更新需求可使用React Native
    使用Flutter最好要懂原生!

社区:可视化最新的Flutter包效果,查阅最新好用的包

Electron(偏win)

存在的问题
  • 系统底层的交互还是离不开其他语言支持
  • 代码没有保护,很容易就能被逆向

界面是Web,系统内核封装了一层API
官网:https://www.electronjs.org/zh/
一般就是直接将Web应用打包进去而已
不会用它的组件去做UI,不会选择它,只是恰好能够提供一些系统级的API调用

  • 桌面端优选,相对系统级调用api会完善一些
  • 容易逆向破解,听说的
    使用思路:界面和功能分离

image.png

还有很类似他的CEF框架,主要区别在于引入了C++,如果要预留C++接口的话这是一个可以替换的选择。总的来说Electron完全的接受了前端开发的理念。

Avalonia UI

随手看到的,没研究过

如果是新开发,目前最好的方案是avalonia UI(真的假的)。跟WPF有八成代码通用,几乎等于无缝过渡。支持一键发布桌面和手机端,支持发布WASM页面。国产麒麟Linux操作系统就是用这个写桌面

Android原生(Android Studio)

首先需要安装和配置好IDE:Android Studio,以及移动设备虚拟机
也可以选择安装第三方的模拟器:

  • 安装Genymotion,带插件配置简单方便🎯
  • 还可以使用常用的安卓游戏模拟器,不过没有插件需要自己命令配置

然后需要掌握 Android 开发的基础知识,包括 Android 系统架构、Activity、Service、Fragment、布局、控件、事件处理等。同时,也需要掌握 Java 或 Kotlin 的基本语法,并熟悉 Gradle 的使用。

当然还有Anim实现逐帧、淡入淡出等动画、
sqlite这样的内存数据库实现数据存储,还有进程通信、JSON网络数据通信传输处理、系统权限的配置申请等