在Linux下开发桌面程序

群里有人聊这个话题。俺就回忆了俺之前的一次开发。2018年左右,有个项目的终端是运行在centos下的。项目其实是 一个 云pacs。用了centos的一个很小的机器,作为终端进行dicom文件上传。项目的要求是这个centos的 有 web的管理工具,也要有桌面的管理工具。桌面的管理工具功能要多一些。当时就用了Lazarus进行Linux下的桌面程序开发。其实没啥特别的 ,控件还是那些控件 ,代码还是那些代码,和在windows下用delphi 开发桌面程序差不多。

以下是‌Delphi、Lazarus、CodeTyphon、QFLazarus、deepin-IDE‌五个开发工具的全方位对比表格:

表格

对比维度 Delphi Lazarus CodeTyphon QFLazarus deepin-IDE
开发主体 Embarcadero(美国商业公司) 开源社区国际团队 基于Lazarus二次开发(国内推广适配) 国内开发者(秋风)定制 统信软件(国内深度团队)自研
授权方式 商业付费,社区版免费(有商业使用限制) 完全开源免费(GPL/LGPL,无商业限制) 开源免费,预打包组件商业/非商业均可使用 完全开源免费(无限制) 完全开源免费(GPLv3)
核心语言 Object Pascal Object Pascal/Free Pascal Object Pascal/Free Pascal Object Pascal/Free Pascal 原生支持多语言,需插件扩展Pascal
默认组件库 VCL(Windows)+FMX(跨平台) LCL(原生跨平台组件库) LCL+预集成上千第三方组件 LCL(针对信创优化) 无原生Pascal组件库,需依托LCL
信创适配 原生支持国产Linux,但未专门针对国产CPU做优化 开源原生支持国产架构,但存在中文乱码/编译异常等bug 国内团队针对信创深度适配,支持全国产CPU+国产OS 专门针对信创开发,支持全国产CPU+国产OS,修复所有国产环境bug 全原生信创适配,支持所有国产架构与操作系统,自主可控
核心特点 成熟稳定,IDE功能强大,编译速度快,商业组件生态丰富 开源轻量,兼容Delphi语法,原生跨平台编译 开箱即用,预配置全平台编译环境与海量组件,无需额外配置 专门修复Lazarus在国产环境问题,支持中文标识符,优化国内下载源 全栈多语言IDE,内置代码迁移工具,支持AI插件扩展
编译性能 高度优化的原生编译器,编译速度极快,生成二进制文件效率高 Free Pascal编译器,优化能力略逊于Delphi,支持更多CPU架构 基于Free Pascal,和Lazarus编译性能一致 基于Free Pascal,针对国产架构做编译优化,性能略优于原生Lazarus 依赖外部Free Pascal编译器,编译性能和Lazarus一致
组件生态 丰富商业组件库(TMS、DevExpress等),生态成熟 依赖社区维护免费组件,资源丰富但商业支持弱 预打包海量社区组件,开箱即用,不用手动找组件 保留Lazarus全组件生态,额外增加国内常用组件一键安装 支持Lazarus生态组件,需手动配置
中文支持 官方英文,第三方中文汉化,不支持中文标识符 原生中文界面,但不支持中文标识符,存在部分乱码问题 原生中文界面,兼容中文标识符,部分优化 原生完美支持中文标识符、中文调试,解决所有中文乱码问题 原生完美中文支持,适配国内输入法
适用场景 商业企业级快速开发,Windows平台桌面应用,对开发效率要求高的项目 开源项目,预算有限的跨平台Pascal开发,个人开发者项目 需要快速搭建全平台开发环境,依赖大量第三方组件的项目 信创环境下Pascal项目开发、原有Delphi/Lazarus项目迁移 全场景多语言信创开发,需要混合多语言的项目
信创合规性 非国产自主可控,不符合核心领域信创合规要求 开源但非国内定制,部分场景可通过合规审核 开源国内适配,基本符合信创合规要求 完全开源国内维护,符合信创合规要求 完全自主国产可控,完全符合信创合规要求

补充说明

  1. QFLazarus‌本质是Lazarus针对国内信创环境的定制发行版,核心功能和Lazarus完全一致,只针对信创做了bug修复和体验优化。
  2. CodeTyphon‌是Lazarus的预打包增强发行版,核心基于Lazarus生态,主要优势是开箱即用,不用手动配置组件和编译环境。
  3. deepin-IDE‌本身不是专门的Pascal IDE,是通用全栈信创IDE,需要通过插件才能支持Pascal开发,适合需要同时开发多语言的信创项目^原规划内容^。
相关推荐
zh路西法1 小时前
【tmux入门】终端分屏、SSH远程守护与一键启动脚本
linux·运维·ssh·bash
qq_163135751 小时前
Linux 【03-pwd命令超详细教程】
linux
学途路漫漫1 小时前
Ubuntu 24.04 国内网络环境全面优化指南
linux·网络·ubuntu
c238561 小时前
GDB 进程概念详解(下篇)—— 多进程与进阶调试能力
linux·服务器·数据库
RisunJan1 小时前
Linux命令-php(PHP语言的命令行接口)
linux·php
A_humble_scholar1 小时前
Linux(八) 进程内存全景:环境变量、main 函数参数与虚拟地址空间全链路深度解析
linux·运维·服务器
遇见小修修1 小时前
如何找到专业的电脑上门维修供应商?
运维·电脑·负载均衡
longforus1 小时前
linux上播放音乐的终极解决方案
linux·音频·折腾
xcLeigh1 小时前
鸿蒙PC平台 Shotwell 照片管理器适配实战:从 Linux GNOME 到 鸿蒙PC 的 Electron 迁移
linux·electron·harmonyos·鸿蒙·shotwell·照片管理器