对Linux Deepin后续发展的一点小提议,欢迎大家讨论
Tofloor
poster avatar
xgsong
deepin
2013-06-23 17:50
Author
感觉12.12已经比较稳定了,虽然在功能性和易用性上面还有很多需要改进的地方。现在技术发展非常快,而且从Win8开始,已经感觉到微软有点走下坡路的趋势,并且Win8的UI其实不适合桌面PC用户,比较反人类、反用户,而且微软貌似也没有意愿为了用户的需求而大改Win8及以后的系统。所以估计这1-2年是深度快速发展的机遇,好好搞应该能快速抢占企业级用户的桌面市场,以及极客用户市场。

个人建议深度需要从以下几个方面进行发力:
1、快速完善Deepin UI系统,提供比较全面的API开发文档和实例,如果能绑定某一种开发语言更好,例如Vala,并能提供一个相对完善的IDE开发环境,可以基于Eclipse进行开发。开发者很重要阿,Google Android、苹果iOS这些都是在系统发展的1-2年内就快速完善了整个开发生态环境。

2、基于Wayland开发自己的图像服务器,做好和Wayland的二进制兼容,从根本上提升Deepin UI的运行效率和开发效率,毕竟大部分主流Linux OS都开始向wayland进化了,估计他们完善自己的图形服务器也就1-2年的事情,所以深度要抓紧(在这里不讨论资金和规模的问题,这个属于企业战略运营的范畴)。

3、如果人力资源充沛,建议在Linux内核及其他关键子系统上层提供统一的开发API,这样方便其他开发者或企业针对特定应用开发特定功能,例如:杀毒软件需要的文件过滤驱动等。

4、开发自己的软件包管理系统,类似Ubuntu正在进行的Bundle软件包系统,应用程序需要的.so、.a这些库在IDE里面编译的时候就打包在Bundle格式里面,应用程序配置文件专门存放在统一的用户目录里面,其实就是学习android、ios的包管理系统,事实证明对于用户来说,这种包管理系统是最易用的,而且能够适应企业级隔离网的需要。

以上4点是根据苹果、Google等企业发展自己的操作系统时所采用的步骤与策略总结出来的,其中1、4应该是需要优先进行的,毕竟2、3只有系统发展到一定规模用户后才有比较迫切的需求。其中第一点非常重要,几乎所有Linux系统在发展的过程中都有一定程度的忽略,这也导致了开发者无法跟进;第四点也比较重要,几乎所有Linux系统都忽略了,只有最近Ubuntu注意到了现有Linux系统包管理系统的缺陷,自己在开发新的类似android系统 apk格式的包管理系统。

欢迎各位网友都加入进来讨论,也需要深度开发团队来确定开发方向,以上4点貌似都可以采用社区项目开发的模式来进行,这也可以一定程度上解决深度开发人手不足的问题。。。
Reply Favorite View the author
All Replies
cxbii
deepin
2013-06-23 19:14
#1
1、快速完善Deepin UI系统,提供比较全面的API开发文档和实例,如果能绑定某一种开发语言更好,例如Vala,并能提供一个相对完善的IDE开发环境,可以基于Eclipse进行开发。开发者很重要阿,Google Android、苹果iOS这些都是在系统发展的1-2年内就快速完善了整个开发生态环境。
传说中的SDK对么?已经在做了哦~开发者说的!
2、基于Wayland开发自己的图像服务器,做好和Wayland的二进制兼容,从根本上提升Deepin UI的运行效率和开发效率,毕竟大部分主流Linux OS都开始向wayland进化了,估计他们完善自己的图形服务器也就1-2年的事情,所以深度要抓紧(在这里不讨论资金和规模的问题,这个属于企业战略运营的范畴)。
但是目前的闭源驱动不支持kms的话,wayland就没戏,虽然我也很看好它,但是它现在开发也太缓慢了,开源驱动系能又不是很好,特别是3D
3、如果人力资源充沛,建议在Linux内核及其他关键子系统上层提供统一的开发API,这样方便其他开发者或企业针对特定应用开发特定功能,例如:杀毒软件需要的文件过滤驱动等。
杀毒软件就不必了,内核的api在内核的头文件应该已经比较完善了,个人觉得这个不需要,正常的软件也不需要这些API
4、开发自己的软件包管理系统,类似Ubuntu正在进行的Bundle软件包系统,应用程序需要的.so、.a这些库在IDE里面编译的时候就打包在Bundle格式里面,应用程序配置文件专门存放在统一的用户目录里面,其实就是学习android、ios的包管理系统,事实证明对于用户来说,这种包管理系统是最易用的,而且能够适应企业级隔离网的需要。
觉得可以跟着ubuntu,不重复做工,但是我觉得用了类似Bundle这样的包管理,短期还要兼容dpkg!目前还是deb和rpm的天下,如果想知道不兼容的后果?已经有活生生的例子了.
Reply View the author
pdlenovo
deepin
2013-06-23 19:18
#2
我也严重支持deepin开发全新的包管理机制
Reply View the author
xliang9550
deepin
2013-06-23 19:31
#3
Windows 8.1 (Blue)恢复了开始菜单,算是重新迎合Windows 95时代开始的用户体验。
M$真正反人类的是UEFI安全启动。之所以M$宣称不把Linux作为主要竞争对手了,很大程度上是因为手握这个终极武器,只是M$目前还没把事情做得太绝。不过不排除今后某一天强制系统内核签名,又强制硬件驱动签名。

关于LD的发展道路,我只想说把目前的每件事做好,比如最近发现的正式版安装程序的问题,为什么Ubuntu、Mint、Snow在GPT磁盘上安装都正常……
Reply View the author
4***8@qq.com
deepin
2013-06-23 19:42
#4
我也严重支持deepin开发全新的包管理机制
开发新的包管理机制不就是解决目前的包依赖问题吗?linux的生态确实乱啊,没有统一的api编程环境框架啊什么的,win有完善的win32api啊,苹果也有cocoa和强大的xcode开发套件以及 Objective-c语言啊,深度努力啊,安卓的apk包管理器值得参考!
Reply View the author
pdlenovo
deepin
2013-06-23 19:59
#5
[quote]我也严重支持deepin开发全新的包管理机制
开发新的包管理机制不就是解决目前的包依赖问题吗?linux的生态确实乱啊,没有统一的api编程环境框架啊什么的,win有完善的win32api啊,苹果也有cocoa和强大的xcode开发套件以及 Objective-c语言啊,深度努力啊,安卓的apk包管理器值得参考![/quote]
是的,你说的对,linux开源的精神,使它变得很乱,先不说内核,上层各种库,各种API一大堆。没有统一的标准。开发个简单的图形应用,还要仔细考虑是用QT,还是用gtk,软件不提供二进制包,你说自己编译吧,不是环境有问题,就是缺少这的,缺少那的。普通用户只能望而止步。这也是我暂时不将我的LMOS开源的原因。
Reply View the author
4***8@qq.com
deepin
2013-06-23 21:16
#6
[quote][quote]我也严重支持deepin开发全新的包管理机制
开发新的包管理机制不就是解决目前的包依赖问题吗?linux的生态确实乱啊,没有统一的api编程环境框架啊什么的,win有完善的win32api啊,苹果也有cocoa和强大的xcode开发套件以及 Objective-c语言啊,深度努力啊,安卓的apk包管理器值得参考![/quote]
  是的,你说的对,linux开源的精神,使它变得很乱,先不说内核,上层各种库,各种API一大堆。没有统一的标准。开发个简单的图形应用,还要仔细考虑是用QT,还是用gtk,软件不提供二进制包,你说自己编译吧,不是环境有问题,就是缺少这的,缺少那的。普通用户只能望而止步。这也是我暂时不将我的LMOS开源的原因。[/quote]
大家都想着自由了,自由是有前提的啊,我的想法是深度除了做好目前的dde环境,对下层的api框架啊做扩展补充形成标准,再在此标准上开发sdk,再配合选择一个强大的语言,那。。。这以后就是包管理器的开发了,就像微软的Installshield安装打包,多省事。苹果的东西虽然很多不开源,但他的理念是:我也经做的是很好的了,没什么可让你们用户定制的了,你们安心舒服的享用就行了!他苹果跟unix有渊源,我linux跟unix也近亲啊,凭什么说他就像高贵的教堂,而说我linux就像逛大集市一样乱呢。
  希望能有人改变统一这一切,你们就是希望了,不过这个任务真的是艰巨啊。。啊啊。。。不过懒猫好像说他们准备费十年功夫来打磨这把“linux之剑”的,希望这把剑在用户手里越来越锋利,越来越好使!
Reply View the author
xgsong
deepin
2013-06-23 22:47
#7
Windows 8.1 (Blue)恢复了开始菜单,算是重新迎合Windows 95时代开始的用户体验。
M$真正反人类的是UEFI安全启动。之所以M$宣称不把Linux作为主要竞争对手了,很大程度上是因为手握这个终极武器,只是M$目前还没把事情做得太绝。不过不排除今后某一天强制系统内核签名,又强制硬件驱动签名。

关于LD的发展道路,我只想说把目前的每件事做好,比如最近发现的正式版安装程序的问题,为什么Ubuntu、Mint、Snow在GPT磁盘上安装都正常……

Win8.1的开始菜单其实是假的,只是进入Metro界面的跳转器而已。。。和Win8的模式没什么变化,加了个徽标的图标就把大部分人给骗了
Reply View the author
xgsong
deepin
2013-06-23 22:57
#8
[quote]1、快速完善Deepin UI系统,提供比较全面的API开发文档和实例,如果能绑定某一种开发语言更好,例如Vala,并能提供一个相对完善的IDE开发环境,可以基于Eclipse进行开发。开发者很重要阿,Google Android、苹果iOS这些都是在系统发展的1-2年内就快速完善了整个开发生态环境。
传说中的SDK对么?已经在做了哦~开发者说的!
2、基于Wayland开发自己的图像服务器,做好和Wayland的二进制兼容,从根本上提升Deepin UI的运行效率和开发效率,毕竟大部分主流Linux OS都开始向wayland进化了,估计他们完善自己的图形服务器也就1-2年的事情,所以深度要抓紧(在这里不讨论资金和规模的问题,这个属于企业战略运营的范畴)。
但是目前的闭源驱动不支持kms的话,wayland就没戏,虽然我也很看好它,但是它现在开发也太缓慢了,开源驱动系能又不是很好,特别是3D
3、如果人力资源充沛,建议在Linux内核及其他关键子系统上层提供统一的开发API,这样方便其他开发者或企业针对特定应用开发特定功能,例如:杀毒软件需要的文件过滤驱动等。
杀毒软件就不必了,内核的api在内核的头文件应该已经比较完善了,个人觉得这个不需要,正常的软件也不需要这些API
4、开发自己的软件包管理系统,类似Ubuntu正在进行的Bundle软件包系统,应用程序需要的.so、.a这些库在IDE里面编译的时候就打包在Bundle格式里面,应用程序配置文件专门存放在统一的用户目录里面,其实就是学习android、ios的包管理系统,事实证明对于用户来说,这种包管理系统是最易用的,而且能够适应企业级隔离网的需要。
觉得可以跟着ubuntu,不重复做工,但是我觉得用了类似Bundle这样的包管理,短期还要兼容dpkg!目前还是deb和rpm的天下,如果想知道不兼容的后果?已经有活生生的例子了.[/quote]

看来这位兄弟在用开发者的思维来看待Linux系统,Linux之所以在桌面平台沦落到今天的程度,和这类的思维有很大关系,极客开发出来的东西,反正自己玩得转就行了,管他什么用户需求和用户体验。。。

提供统一API系统的目的在于标准化整个系统的软件开发模式,只有标准的东西才能大范围推广,对于第三方开发者来说,在标准化的系统上开发各种应用软件的成本才最低,Android是这种模式、iOS、Mac都是这种模式,从Win8开始,微软也开始采用标准化的Metro开发模式了,所以大家都采用的东西自然有其存在的道理。。。

之所以需要在Linux内核及其他子系统上包装一层API,目的在于形成深度独有的开发优势,这位兄弟可能不知道很多企业级应用是需要做大量驱动层开发的,例如杀毒软件、透明加解密、系统备份还原等,Windows虽然不开源,但微软提供一套标准化的WDF驱动开发模式,第三方企业只需要了解这些内核层的API就能很容易开发出各种驱动系统。所以Linux败就败在不标准,不统一,过于极客的思维。
Reply View the author
186******98
deepin
2013-06-24 02:54
#9
sdk已经在做了
Reply View the author
xgsong
deepin
2013-06-24 03:24
#10
sdk已经在做了

好事情阿,不知道SDK所使用的IDE是自己开发的,还是基于什么平台开发的?
Reply View the author
139******99
deepin
2013-06-24 17:43
#11
不建议现在做自己的包管理
可以尝试简化现有编译流程,现在编译一个软件实在是让人头疼
但有的软件还不提供二进制包,只能编译
Reply View the author
xgsong
deepin
2013-06-30 21:01
#12
不建议现在做自己的包管理
可以尝试简化现有编译流程,现在编译一个软件实在是让人头疼
但有的软件还不提供二进制包,只能编译

个人觉得深度可以跟着Ubuntu的包管理搞,估计在Ubuntu 14.04应该就能看到类似OS X Bundle模式的软件包系统了。其实X Server也可以跟着Ubuntu用Mir,省了自己开发的很多事情
Reply View the author