Windows、macOS、Linux等多操作系统并存的现状,让跨平台开发成为开发者核心需求之一。
跨平台终端开发核心价值是"一次编码,多端运行",既能大幅降低开发成本,缩短迭代周期,又能保证多平台开发应用的一致性体验,无需为不同系统开发单独开发维护代码。目前市面上跨平台框架和工具种类繁多,各自侧重不同的技术栈、性能表现和适用场景。
iOS和Android
最常看到的Flutter,是由Google开发的跨平台移动应用程序开发框架。用Dart语言编写,通过一套统一的UI框架可以在Android和iOS等多个平台上构建高性能、美观的应用程序。
iOS开发主要使用Swift和Objective-C;Android传统上使用Java,近年来Google推广Kotlin。
关于一些主流框架工具。
- Duilib(Windows专属轻量UI框架),专注Windows平台桌面应用开发,"轻量、高效、可定制",无需依赖第三方库
- Qt(全能型跨平台框架),跨平台应用框架,支持桌面端(Windows、macOS、Linux)、移动端(iOS、Android)、嵌入式设备等多场景开发,兼容C++、Python、Ruby等多种语言编程,
- GTK(GIMP Toolkit)(开源跨平台工具包),通用型跨平台图形界面工具包,支持多系统、多编程语言,是Linux桌面应用开发主流选择之一。
- wxWidgets(原生风格跨平台C++库),GUI开发库
- **Electron(**Web技术跨平台框架)
Web(World Wide Web,万维网)是一个基于互联网的、由众多互相链接的超文本组成的信息系统。不仅仅是简单的网页集合,更是一个通过超链接将全球各地服务器上的信息资源互相关联起来的庞大网络。
Web采用的B/S架构(Browser/Server,浏览器/服务器架构)是一种网络应用架构。
Web是整个网络世界;浏览器是用来看Web的工具软件。
WWW=Web=万维网,跑在互联网上的网页服务体系。
- JavaFX
- Avalonia
- FLTK。。。很多
Linux/Windows/macOS跨平台
通用语言C/C++、Go、Rust、Java/Kotlin、Python
常用GUI桌面跨平台框架(做带窗口的软件)
- Qt(C++)
- Electron(Web技术栈)(HTML+CSS+JS)
- JavaFX/Swing(Java)
- .NET/Avalonia/MAUI(C#)