1、麒 麟 软 件 有 限 公 司麒 麟 软 件 有 限 公 司KylinOS SDK和和IDE技术分享技术分享2023.3.22打打 造造 中中 国国 操操 作作 系系 统统 核核 心心 力力 量量麒麟软件 张超麒 麟 软 件 有 限 公 司麒 麟 软 件 有 限 公 司目录目录1.Linux桌面操作系统上的开发现状2.主流操作系统开发体系现状3.麒麟的解决方案和规划KylinOS 研发SDK和IDE 背景和目的1.KylinOS SDK的设计思路和架构2.KylinOS SDK的技术现状3.KylinOS SDK的下一步计划KylinOS SDK1.KylinOS IDE研发目标和规划2.Ky
2、linOS IDE的设计思路和架构3.KylinOS IDE的技术现状4.KylinOS IDE的下一步计划KylinOS IDE麒 麟 软 件 有 限 公 司麒 麟 软 件 有 限 公 司Linux桌面操作系统上的开发现状桌面操作系统上的开发现状ARM64、AMD64、龙芯、申威、RISC-V硬件平台五花八门各发行版的基础库/组件选型和配置有较大差别Linux发行版各不一样 Qt、GTK、Python、Java等都自成体系开发语言/框架众多 一个功能的底层、服务层和高级接口都可自由使用基础功能库/服务完全开放系统显示、窗口管理和网络等都有多种实现方案基础功能实现方案层出不求麒 麟 软 件 有
3、 限 公 司麒 麟 软 件 有 限 公 司Linux桌面操作系统上的开发现状桌面操作系统上的开发现状同一功能的底层、服务层和上层高级接口都在被应用自由调用系统功能接口使用混乱托盘协议,Xembed 与 SNI显示协议,Xorg 与Wayland加密协议,SSL v3.0 与 TLS v1.3多种协议共存Linux桌面系统适配在众多不同架构、基于不同开发语言/框架编写的应用问题架构与系统环境差异开发系统和开发应用没有区别,应用开发经常错用底层接口对系统造成问题开发门槛高麒 麟 软 件 有 限 公 司麒 麟 软 件 有 限 公 司主流操作系统开发体系现状主流操作系统开发体系现状开发文档开发文档ID
4、E语言语言框架框架AndroidAndroid APIAndroid StudioJava/KotlinSDKmacOSApple开发者XCodeSwiftSwiftUIWindows MSDNVisual StudioC#.NET Framework谷歌谷歌跨平台跨平台 Flutter APIAndroid StudioDartFlutterQt跨平台跨平台Qt开发文档QtCreatorC+Qt成熟操作系统的必经之路:吸引更多开发者,共同建设软件生态吸引软件厂商:提高开发效率、减低开发成本、方便适配吸引开发者:降低上手难度、封装不必要的细节、开发更方便麒 麟 软 件 有 限 公 司麒 麟 软
5、 件 有 限 公 司KylinOS的解决方案和规划的解决方案和规划在开源技术研究场景,各种技术“百花齐放”这不是问题,但在产品化落地和生态推广上就是严重问题:1、对大量迁移和开发造成困难和高昂成本,为Linux大规模产业化推广带来困难。2、没有明确区分系统和应用软件接口能力,也对桌面系统自身功能开发造成阻碍。KylinOS:1、封装清晰易用的系统、安全管控和应用SDK2、提供适配操作系统开发环境的IDE3、联合应用厂商针对性解决应用迁移和开发问题麒 麟 软 件 有 限 公 司麒 麟 软 件 有 限 公 司KylinOS SDK的设计思路和架构的设计思路和架构一个一个产品产品二二类类场景场景三种
6、三种能力能力KylinSDKC/S应用应用B/S应用应用跨版本跨版本跨架构跨架构跨系统跨系统100%自主研发自主研发操作系统官方维护操作系统官方维护API工具工具指南指南规范规范四种四种方式方式5种编程语言原生接入种编程语言原生接入覆盖主流开发场景覆盖主流开发场景一次适配一次适配,多平台兼容,多平台兼容接口、文档、工具接口、文档、工具适合所有类型开发者适合所有类型开发者可控可控广泛广泛兼容兼容好用好用基石基石开源开源以以OpenKylin开源社区开源社区为平台为平台建设建设KylinOS软硬件生态兼容标准软硬件生态兼容标准OpenKylin开源社区开源社区多种硬件平台多种硬件平台麒 麟 软 件