3

对于一个C ++ 程序员来说,从头开始编写一个 GUI 框架需要多长时间?

粗略规格:

  1. 您可以访问 boost、图像加载函数、字体渲染例程、信号槽、unicode 字符串类、varint 类。(基本上是 Qt 4 减去实际的 gui(一切都源自 QWidget))。
  2. 您必须实现标准控件,如树视图、表格视图、文本编辑器、列表框、组合框、按钮、单选按钮、面板等。
  3. 该框架与操作系统分离,不使用任何操作系统对象(窗口句柄)。即,您在光栅图像或 OpenGL 窗口上操作并从操作系统接收鼠标/键盘事件,您必须调度/解释。
  4. 有多个窗口可以移动/最小化/最大化,放在前面。
  5. 应该可以使用该库重新实现使用该库的任何矩形窗口(想想禁用动画效果的 Win98 gui)。
  6. 您不需要显示 html 页面。
  7. 你不能偷工减料,在 ms paint 中制作位图,将其粘贴到屏幕上并说“它是一个窗口”。组件具有几何形状、可配置颜色、可以调整大小、“锚定”到窗口的不同侧面、相互链接并影响彼此的大小和几何形状(想想 Qt 4 布局系统)。
  8. 程序员的技能 - 平均到高于平均水平,至少 3 年 C++ 经验。

基本上,“Windows 桌面”不使用 windows gdi。

我之所以问,是因为我正在为那些从头开始开发类似东西的人工作(他们的需求非常不寻常,而且我知道没有现有的 gui 框架与他们匹配),我怀疑我可能工作得太慢了,这负面影响我的“士气”。

以前的人在这个项目上浪费了 3 年时间(他们用 Delphi 编写)并且未能完成它,所以负责人决定放弃它并从头开始。Project 与传统的 gui 非常不同,但应该具有相同的复杂性。

所以我需要另一个程序员的粗略估计(有论据或基于工作经验)进行比较。
我的估计是大约需要 1 年或更长时间,但我想知道这是否太长了。

4

2 回答 2

3

根据维基百科,Qt 的开发始于 1991 年,当时有两名开发人员。他们在 1994 年创立了奇趣科技。最初的 Qt 版本是在 1995 年之后的一年,因此至少需要 2 个全职工作年(1994-1995)加上他们在 1994 年之前花费的任何时间。

问题是,当他们创立奇趣科技时,他们可能已经有了足够好的产品来承担公司的财务风险,所以这两个额外的工作年只是冰山一角。并且根据他们能够利用的投资,他们可能还聘请了其他人来帮助他们。

即使您考虑到所有与 GUI 无关的核心功能(最容易编写的部分,IMO)并使用非常乐观的估计,对于 Qt 的初始 GUI 部分来说,这仍然是几年的时间。与你的老板对你期望的 3 个月相差甚远……

于 2013-06-15T16:34:59.760 回答
0

我想说的是,如果您花费一周的时间来规划库的结构并收集您想要包含在其中的所有功能,您可能会在 6 个月内完成它。这一切都取决于您想要的可扩展性,但我认为一年太长了。

当然,这一切都是基于几年的 C++ 经验和一些 GUI 设计经验的假设。如果您或您的同事有使用 Photoshop 之类的图形设计经验来创建各种 UI 皮肤,这也将有益于最终的外观。

我希望这有帮助。

于 2013-06-15T16:37:56.267 回答