GUI库:从头开始编写一个GUI库需要多长时间?
GUI Library: How long should it take to write one from scratch?
对于一个单个 c++程序员来说,从头开始编写一个GUI框架需要多长时间?
粗规格:
- 您可以访问boost,图像加载函数,字体渲染例程,信号槽,unicode字符串类,变体类。(基本上是Qt 4减去实际的gui(源自QWidget的一切))。
- 你必须实现标准的控件,如树视图,表格视图,文本编辑器,列表框,组合框,按钮,单选按钮,面板等。
- 框架与操作系统分离,不使用任何操作系统对象(窗口句柄)。例如,你在栅格图像或OpenGL窗口上操作,并从操作系统接收鼠标/键盘事件,你必须调度/解释。
- 有多个窗口可以移动/最小化/最大化,带到前面。
- 应该可以使用这个库来重新实现任何矩形窗口(想想禁用动画效果的Win98 gui)。
- 不需要显示html页面。
- 你不能偷工减料,在ms paint中制作位图,将其blit到屏幕上并说"这是一个窗口"。组件具有几何形状,可配置的颜色,可以调整大小,"锚定"到窗口的不同侧面,相互链接并影响彼此的大小和几何形状(想想Qt 4布局系统)。
- 程序员技能-平均以上,至少3年c++经验。
基本上,"Windows桌面"不使用Windows gdi。
我问这个问题是因为我正在为那些从头开始开发类似的东西的人工作(他们的需求非常不寻常,而且我知道没有现有的gui框架符合他们),我怀疑我可能工作得太慢了,这对我的"士气"产生了负面影响。
以前的人在这个项目上浪费了3年的时间(他们用Delphi写的),没有完成它,所以负责人决定放弃它,从头开始。项目与传统的gui非常不同,但应该具有相同的复杂性。
所以我需要另一个程序员的粗略估计(带参数或基于工作经验)来比较。
我的估计需要大约1年或更长时间,但我想知道这是否太长了。
根据维基百科,Qt的开发始于1991年的两个开发人员。他们于1994年创立了Trolltech。最初的Qt发布是在一年后的1995年,所以至少有两年的全职时间(1994-1995)加上他们在1994年之前花在它上面的时间。
问题是,当他们创立Trolltech时,他们可能已经有了足够好的产品来承担公司的财务风险,所以这额外的2年只是冰山一角。根据他们能够利用的投资,他们可能也雇佣了其他人来帮助他们。
即使你考虑到所有与gui无关的核心功能(在我看来,这是最容易编写的部分),并使用一个非常乐观的估计,Qt的初始gui部分仍然需要几年的时间,与你老板期望的3个月相去甚远……
我想说,如果你花一周的时间来规划库的结构,并收集你想要包含在其中的所有特性,你可能会在6个月内完成它。这完全取决于您想要的可扩展性,但我认为一年太长了。
当然,这一切都是基于几年的c++经验和一些GUI设计经验的假设。如果你或你的同事有使用Photoshop等图形设计工具创建各种UI皮肤的经验,这对最终的外观和感觉也会有好处。
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 调试控制台 ChessEngine.exe "used"在另一个应用程序(国际象棋 GUI)中
- 试图打开并读取一个.txt文件,但它从原始文件中删除了实际文本(Qt GUI C++
- 有没有办法拿一个opencv显示窗口并将其保存到GUI窗口?
- Qt 如何将数据从一个 GUI 传递到另一个线程
- QT Windows GUI-无需qtSingLeaplication即可如何打开一个实例
- QNetworkAccessManager即使在另一个线程中也能冻结GUI
- 在QT GUI中创建一个全局对象
- 为Python逻辑创建一个C++Qt Gui
- 我是一个菜鸟,但是我可以编写一个带有gui的c ++程序,并让它在Visual Studio 2010 express和ubuntu中的终端上运行吗?
- 如何通过在另一个线程中提出的升压信号更新QT GUI
- 如何创建一个可以在GUI对话模式下或通过命令行启动的C MFC程序
- 一个 c++ 中的 gui 库作为 Web 客户端
- 什么是一个为osx制作C++GUI的好程序
- 在Qt Gui中,如何使每次点击都随机出现一个按钮
- 可以推荐哪一个免费的IDE for C++,带有简单的GUI开发环境(Windows)
- wxWidgets:如何在不将控制权传递给它的情况下制作一个 GUI
- 我的线程工作不好,它给出了所有结果,最后没有一个接一个,GUI 在线程运行期间挂起?
- Qt GUI 如何从另一个类获得进度
- 用户界面-如何去gui一个复杂的纠缠c++ /Qt4应用程序