国产系统软件开发,一个新方向

提到桌面操作系统,人们首先想到的就是 Windows。随着苹果手机风靡全球,苹果电脑也慢慢进入普通人的生活,对 MacOS 的接受度也越来越高。哪里有市场,哪里就是商机。所以现在越来越多的电脑软件开始做 Mac 版。

不知道大家有没有发现,近来提供 Linux 版本的软件越来越多。这其中有一个重要原因,就是为了国产系统。国产系统基本都是基于 Linux 内核,比如麒麟、UOS 等。当然,罗马不是一天建成的,目前提供 Linix 版本的软件还是很少。

当前国产系统为了解决软件不足的问题,采用 Wine 模拟器,让 Windows 软件跑起来。比如 UOS 应用商店,大部分软件其实是 Windows 软件。UOS 将 Wine 运行时和 Windows 版软件一起打包,做成 DEB 格式(Linux 软件安装包中的一种),就可以在国产系统上安装运行。

但这只是一种临时方案。首先 Wine 的兼容性有些问题,不是每个 Windows 应用程序都能在 Linux 上完好的运行。其次,将第三方软件重新包装发布,而且很多还是商业软件,这其中的法律风险不言而喻。现在只是市场规模比较小,没有人追究。最后,虚拟化运行,也许是一种方案,但再怎么说都没有原生的体验好。

现在越来越多的单位采购国产系统,但情况不容乐观,大部分的电脑买回来就堆在库房积灰。无它,软件太少,系统使用不习惯。

使用不习惯这个好解决,多使用就习惯了。现在的国产系统很多是模拟 Windows 用户的界面和习惯,图形化界面也做得很好,并不存在难用的问题。反倒是软件匮乏需要很长时间来解决。这就是我说的国产系统软件开发,是一个新机会。

我们目前主要做 Windows 下的软件,也开发 Mac 版,但用户不多。近期陆续有商家洽谈国产版的合作,以后也许会越来越多。

当然,这是一个机会,同时也意味着挑战。

中国桌面系统长期都是 Windows 占主导地位,绝大多数软件做的 Windows 版本。很多程序员,都没有做跨平台的意识,编写代码也没考虑跨平台。比如我们现在的 Windows 版和 Mac 版本就是分别独立开发。Windows 下使用 QT,Mac 下则使用 Xcode。这种开发模式,没有代码复用可言。

为什么这样做?主要是意识不到位。一方面是招跨平台程序员比较难,另一方面觉得编写代码麻烦,特别是需要前期规划。

这样开发,前期是爽了,后期维护就是噩梦了。

可能有人说,小公司,哪有人来规划,都是赶工赶出来的。其实人少并不是理由,很多开源软件,也是个人维护,别人不仅能提供多种平台的版本,甚至面向众多 Linux 发行版都推出安装包。

这其中关键一点就是自动化构建,自动化发布。编写自动化脚本,也是许多程序员欠缺的能力。我刚进这家公司时,就发现这里发布软件包居然是手工完成的,面对众多定制版本,也是哪个客户需要就手工编一个版本。什么每日构建,每次提交触发编译并跑自动测试用例,通通没有。

选择跨平台的开发框架也比较关键,现在很多框架,不仅支持三大桌面系统,还支持各移动端,只要有这种意识,多平台开发还是可行的。当然,各种平台的差异也很多,这就需要很强的设计能力,把共性的逻辑抽取出来,将不同的逻辑隔离开。

最后打个广告,本人承接:

1.  各平台的浏览器定制开发,包括 Windows、国产 Linux、Android。基于 Chromium,可做 UI 定制,也可以做内核定制,比如国密支持、播放功能增强等。

2. 国产操作系统下的软件开发。

3. Windows 软件在国产系统上的打包安装、上架(DEB包)。

欢迎指导与支持!

你可能感兴趣的:(国产系统软件开发,一个新方向)