先水点题外话

正如 @Hualet 前辈所言,我接了一口又大又厚的锅:deepin桌面环境的所有“bug”。自然,系统发布之后写研发心得的优良传统也必须要传承下去!

万事开头难啊,第一次写研发心得,居然有些莫名的紧张,另外还掺杂着些小激动。虽然都是敲键盘,但是和写代码时相比,这感觉完全是从二次元到了三次元。不过,幸好年龄大了,脸皮也厚了,写起东西来没以前那么费劲了。别的废话不说,先鼓励一下自己来点自信?。跟 @Hualet 老哥相比,系统研发方面我还是个新手,虽不知能否像长江的“浪”一样把前浪“拍在沙滩上”,但至少比 @Hualet 长得帅些?。欢迎大家以后多找我报bug,多多益善,毕竟bug不挑食?。

谁说写研发心得就非要苦思一个漂亮的开头,我直接就进入主题?。

进入正题

大家也都知道,从15.8开始,我们把项目都迁移到了github,更加方便其他大牛们参与进来贡献代码,也能通过github的issue提交和管理bug。与此同时,为了更好的和用户互动,deepin系统的社区版对外发布也采用了一种新的方式:滚动更新。由之前每三个月一次的系统大版本更新,改成了每三周一次的小版本更新,例如 15.8.1、 15.8.2 ...15.8.4 等等。但是总体上来讲系统发布周期是没有变化的,最后一个小版本发布的同时也就是这个阶段大版本完成之时。这样做的好处呢,不用我多说,大家都有自己的感受,更新频率的增加,也就意味着能够更早的“吃到螃蟹”,想想就很开心?。不过,这样做自然也有坏处,别的先不说,就拿大版本更新的发布来讲,新功能早就在小阶段更新中体验过了,大版本更新中完全没有了之前那种强烈的期待感,系统发布文章中描述更新内容时,会给人一种“这不是上个版本就已经有了的功能吗”的错觉 ? 。也就间接导致在研发心得中又少了一个介绍新功能的理由,没错,被大家发现了,说了那么多,我就是想吐槽一下研发心得里不能再介绍新功能了?。咳咳,开个玩笑,其实这次也没准备过多的介绍新功能,另外有一些非功能上的改变需要说一下,关于功能上的更新内容,大家可以移步到 深度操作系统 V15.10,这里有详细的说明。

基于 Debian stable 仓库

15.10最大的变动要数仓库的切换了。从unstable切换到stable,系统组的同学哼哧哼哧地干了两个多月,已然发布了,赞许的声音自然是不少,但是不可否认的是社区中各种震惊的帖子也不罕见。我琢磨着,有时候他夜半惊醒,想到那些两三个月前满嘴“你们要是敢切到stable,我就全盘格了上deepin”的同学们,只能暗自神伤:“这么坑我,你们的良心真的不会痛么……”

玩笑归玩笑,经过这么一段时间的把玩和使用,我觉得这次仓库切换还是值得的。毕竟stable仓库可以说“人”如其名——行走江湖多年,就靠一个稳字。这也是我们切换到stable仓库的初衷了。除此之外,也很少出现以前那种装一个软件动不动就有可能出现依赖冲突等问题了。作为一个开发者,深感欣慰。

这时候有些“好事”的同学一定会问,商店里面的软件不够新怎么办?别着急,底层系统的稳定不代表上层应用不够新,我们已经为把商店应用更新准备了“激进”的方案,就差一个程(da)序(bao)员(zhe)了。

---------- 硬广分割线 -----------

为了满足deepin社区各位小伙伴对应用更新速度的极致需求,诚聘一名对开源和系统构建有足够兴趣的“准“大牛(到深度以后一定会成大牛的),有兴趣的请发简历到 hr@deepin.com 。

---------- 硬广交差线------------

DDE KWin 现在&将来

使用 dde-kwin 代替之前的 deepin-wm,这可能是这次系统发布后大家所争论的最多的点。这个锅我背了 ?。

如这个issue中所言,被吐槽最多的点就是 KWin 的界面。的确,我也觉得,它有些地方的确长的不够精致 ? ,像是一个?‍♂️ 。

DDE环境中窗口管理器的界面主要分为五个部分:

  • 窗口标题栏
  • 屏幕热区触发
  • Alt+Tab任务切换
  • Win+W窗口切换
  • Win+S工作区切换。

dde-kwin的开发分成了两个阶段:

第一个阶段主要是在做一些看不到的工作,增加对DDE环境的兼容性,例如支持窗管相关的所有快捷键设置、热区设置、窗口主题设置、窗口缩放跟随系统、窗管特效开关、工作区切换等功能,另外还包含了两个deepin风格的窗口标题栏主题插件。在deepin系统上,为了让KWin更好的“入乡随俗”,我们从kwin fork出了deepin-kwin项目,用于实现一些只能通过修改代码才能支持的功能,比如 “_GTK_FRAME_EXTENTS” 窗口属性的支持。另外,因为其它发行版中没有deepin-kwin,所以在修改kwin代码的同时,我们也会在dde-kwin中通过其它方式实现一个尽可能类似的效果,以保证DDE在其它系统上的兼容性。

第二个阶段则是着重处理UI方面的问题,KWin和deepin-wm这两个项目有着本质上的差别,deepin-wm中已完成的窗管界面无法直接在KWin中复用,一切工作都需要从头开始。不过,我们不会因此而妥协,为了带给大家一个?的KWin,这一步无论多么艰难都要迈出去??‍♂️。?一下子没把持住,是不是有点太煽情了(:手动斜眼:)?。

额......刚刚才发现,说了那么多废话,居然没有介绍为什么要那么青睐KWin?,下面就要真的进入到正题了?,这不是在为KDE背书,这不是在为KDE背书,这不是在为KDE背书---重要的事情先说三遍? 。

从产品发展的角度

在众多X11的窗口管理器项目中,毫无争议,KWin绝对是最强大的存在,先丢一个官方的介绍。KWin提供了“自定义窗口规则”、“窗口特效插件”等一系列扩展支持,以及强大的可配置性等等...但这一切还不是最重要的!接触过Linux的人都知道,生态环境是多么的重要(说多了都是泪?),KWin在窗口管理器的生态环境中有着绝对的优势,从KDE商店中可以看到

光KWin本身的插件就有将近80个,窗口标题栏主题 Aurora Themes 更是有几百个之多,各式各样的插件,能满足酸甜苦辣各种口味需求?。另外,KWin原生支持2D/3D模式切换,一个人能代替 deepin-wm 和 deepin-metacity 两大兄弟,也就意味着,使用DDE时,窗管再也不用装一送一了。

既然都已经把KWin表扬到这般地步了,那自然也得再捅deepin-wm几刀(@sonald 不要打我?)。从上游fork出deepin-wm之后,改了包名,而且所有的功能实现都是直接在原代码基础上进行的修改,导致现在的代码拉出来做DNA鉴定,都看不出和mutter有半毛钱关系? 。时隔几年,deepin-wm已经无法再跟随上游的脚步,同步不了最新代码,也就是说它现在已经变成了一潭死水,遇到新的产品需求时,在上面耗费了大量的时间也无法达到人民对它的期望。但也不可否认,deepin-wm服役这些年获得了无数的好评,也得到了大家的认可。不过, “设想英雄垂暮日,温柔不住住何乡”,现在的确是到了它该“解甲归田”的时候了,江山代有才人出,接下来应该给dde-kwin一个证明自己的机会,我相信它一定能领风骚数百年!

deepin-wm的UI已经定型,无论如何,它就只能是目前这个样子了。但KWin它还可以是这样的:

甚至是这样的(千万不要被设计师看到,会被打死的?):

从开发者角度

DDE全家桶中,除了“深度终端”,其它所有的产品都是基于Qt开发,选择KWin自然也有这方面的理由。未来,我们希望窗管这个项目是deepin所有开发人员都能参与进去的,人多力量大,让这个项目一直都能有新鲜血液的注入,永远保持着年轻的活力。因此只有和DDE项目有着同样的技术基础,才能更好的帮助我们实现这个目标。

写到这个点眼睛都有点累了,稍微休息了一下,把前面写的捋了一遍。看完了关于KWin这部分后,我感觉说了那么多其实就概括为一句话:“俱往矣,数风流窗管,还看KWin”。正如标题所言,这是一个新的旅程,deepin-wm已经定格在了这里,但是,dde-kwin的未来还有着无限的可能。

后记

书到用时方恨少啊,偷偷瞄了几眼前辈们写的“研发心得”,文体幽默而又不失风趣,心得感悟深而不腻,正好印证了一句话:姜还是老的辣啊?。思来想去,也不知道怎样才能写个漂亮的结尾,所以就到这里吧,省下点时间多修几个bug绝对没有错?。

虽然15.10没有做到最好,但是我还是希望大家能够尝试一下,提出更多的问题。宝剑锋从磨砺出,新的选择也将会打造出新的deepin。

转载于:https://my.oschina.net/u/4110591/blog/3055625

deepin15.10研发心得——新的旅程、新的开始相关推荐

  1. 创业之路 - 魏杰:下一个 10 年,将造就一批新富翁

    口 述:魏杰 清华大学教授 来 源:正和岛(ID:zhenghedao) 编 辑:允允 最近,国家统计局公布了第三季度GDP数据--同比增长6.0%. 很多人对此感觉压力很大,但清华大学魏杰认为,这是 ...

  2. 挥一挥衣袖,开始一段新的旅程

    文章目录 前言 缘由 懵懵懂懂的6年前 走出校门 走进社会 开始工作 勤勤恳恳的6年 初入职场 渐入佳境 再入蛮荒 并入源头 信心满满的6年后 外出求索 T公司 D公司 Y公司 W公司 Z公司 H公司 ...

  3. Hust oj 1673 2013新的旅程(水题)

    2013新的旅程 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 225(127 users) Total Accepted: 135( ...

  4. 返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API

    返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 Web API 原文:返璞归真 asp.net mvc (10) - asp.net mvc 4.0 新特性之 ...

  5. 如约而至,Java 10 正式发布:包含 109 项新特性

    如约而至,Java 10 正式发布:包含 109 项新特性 期待已久,没有跳票的 Java 10 已正式发布!你可以通过这里下载 Java 10 正式版. 此前我们曾报道过,为了更快地迭代,以及跟进社 ...

  6. 小米音频测试软件,小米10 Pro成DXOMARK手机音频新榜首 雷军略显骄傲

    原标题:小米10 Pro成DXOMARK手机音频新榜首 雷军略显骄傲 [手机中国新闻]日前,DXOMARK正式公布了小米10 Pro的音频测试得分:76分,以一分之差夺得了华为Mate20 X多媒体手 ...

  7. 9位院士!10所一流大学,迎“新帅”

    来源:软科 世界一流大学建设高校作为我国高等教育的顶尖力量,被寄予厚望.一流大学不仅在学术水平上代表着中国高校的实力,同时也是我国高校的管理智慧和治理能力的集大成体现.如何带领一所大学跻身世界一流之林 ...

  8. 神马笔记 版本2.0.0——新的旅程

    神马笔记 版本2.0.0--新的旅程 一.目标 二.体验地址 三.优化代码 四.功能规划 五.下一版本预告 六.历史版本回顾 七.问题及意见反馈 八.Finally 一.目标 优化代码结构,为新版本功 ...

  9. 新学期,新气象,新旅程

    大家好我是来自财管2201的李爱玲,很高兴能加入app创业俱乐部这个社团. ''过去并未消失,而未来已经存在",过去的的时光只能存在心间,然而未来之路就在脚下.时移世变,我们应该立足当下,展 ...

最新文章

  1. OpenCV中的特征匹配(Feature Matching)
  2. 在.net3.5中使用ListView控件和DataPager控件笔记
  3. PHP 基础篇 - PHP 中 DES 加解密详解
  4. 依赖配置中心实现注有@ConfigurationProperties的bean相关属性刷新
  5. maven 插件深入了解
  6. 5G完整标准出台,产业应用爆发在即,抢先规划势在必行
  7. mysql数据库怎么读文件_mysql数据库读写文件
  8. rgmanager 介绍
  9. 【2012百度之星/初赛上】小小度刷礼品
  10. klwp主题大全_klwp主题包百度网盘版下载-klwp主题包百度云版 _5577安卓网
  11. 如何购买阿里云服务器呢?
  12. 川大的计算机科学分数线,四川大学2020年招生录取分数线
  13. 离散数学西电版复习笔记——第一章:命题逻辑
  14. 数据质量监控Griffin——使用
  15. 2022年二级建造师报名需要准备什么
  16. 信用评分与数据挖掘(一~七)
  17. 如何在在网站上下载视频
  18. Java读取txt格式文件打印到控制台
  19. SEM自动化管理工具的罩门
  20. 如何在Mac OS X下制作dmg格式的镜像

热门文章

  1. idea导入别人的springboot项目
  2. python爬取淘宝商品沙发_python实现人人自动回复、抢沙发功能
  3. python find的使用方法_Python中的rfind()方法使用详解
  4. BigNumber 的静态属性含义-(ROUND_DOWN,ROUND_UP,ROUND_CEIL,ROUND_FLOOR,ROUND_HALF_UP,ROUND_HALF_CEIL)
  5. 最简单的canal 1.1.6服务搭建方法
  6. 基于VINS与FastPlanner的无人机自主飞行Gazebo仿真
  7. java环境配置(win10)
  8. Cisco思科路由器HSRP配置和排障那些事儿~~
  9. 一文搞懂redis的存储机制AOF与RDB
  10. 如何使用Divi建立会员网站 - 第2部分