经过几年的技术沉淀,越发理解“工欲善其事必先利其器”的重要性,基础设施的完备加上逻辑的缜密,常常能带来水到渠成的享受。
作为一个软件开发者,最大的荣耀莫过于自己的成果被分享。我以为分享有2种:1是与最终用户的分享;2是与软件开发者的分享。前者的分享取决于产品的运营(个人或企业),后者取决于技术的先进性,由于前者取决于个体的因素有限,故我偏向于第二种分享机制,所以立志于成为一个库的开发者,望能在某个领域提供一套优秀的sdk。假如将自己的代码定义为库行为,所写的每一行代码都需要斟酌,都可能存在地雷,在没有成熟产品验证前都是垃圾。
我们活在一个神奇的国度:希望他人分享却不肯奉献自己的成果;不舍得基础研究投入对拿来主义趋之若鹜;崇洋媚外的思想渗透,对所有国人的东西抱着挑刺的态度;为肚皮工作甚至可以改变自己的兴趣爱好。
以上谈到的东西在我的职业生涯都经历过,很多东西事后发现都不是那么重要,唯有技术钻研的快感占据着主要位置。
在界面开发领域做了5来年的工作,没有太敢深入涉猎其他领域使得自己专注,积累彼多,想慢慢写一些东西,不求为人所用,只求为人解惑。
界面开发领域也有区别,比如互联网客户端就有自己的特点,追求绚丽的效果使得directui技术一度狂热,然而写到最后发现win不win都不是那么重要,界面数据模型与交互模型才是关键,这些做好了只要有一个交互驱动就能使一切很好的运转,这就是我关注的东西。
当然,界面技术的证明还是要靠模仿,思来想去打算以chrome和qq的界面为主要模拟对象,在不影响自己开发思路的基础上打造一套纯win32最小依赖的界面sdk,并模拟出两者的所有特性,牵扯win源码的研究、sikn、directui技术的构架。
chrome的资源在dll中,qq最新版本资源是以复合文档形式存在,于是基于windows API写了一套存储、流工具将所有资源导出,算是第一步。这个过程中的API不仅为自己提供了界面素材,更是后面开发工事中的一砖一瓦。
chrome资源导出:
qq资源导出: