`
kongshanxuelin
  • 浏览: 926827 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

基于C++的通用桌面应用程序框架(附SVN地址)

阅读更多

在ItEye沉寂了好一阵,最近在开发一套通用的基于C++的桌面App框架,请各位多提提意见,该项目是否可为。

 

 A C++ GUI Framework Written by Like "Java"(Easily),Run as "C++" (High-Performance),And Show Perfect!(暂时想的宣传词尴尬

 

开源项目地址:

访问淘宝代码托管地址:http://code.taobao.org/

项目svn地址:http://code.taobao.org/p/gqt/src/

QQ讨论群:101189702 (请注明GQT或Qt,C++等)

设计文档:https://docs.google.com/document/d/1uAEaG832EZ56zQRbMWMjRudJWxRkPEiR08ZtA_dNosU/pub

PPT介绍:https://docs.google.com/presentation/d/1iZxWC1Ki_Ruj6vRxw2Afpp-m_w13OVizwebB47Fxejo/pub?start=false&loop=false&delayms=3000

 

需注册账号并申请成为项目成员才能访问,因为目前框架还在不断完善中,等全部完善好再全部开放。

 

附件中“GQT设计文档.rar”是目前完成的功能模块的设计文档,Release.rar是目前的demo版本,目前该项目被托管在taobao svn,由于还未完全开发完成,先抛砖引玉,首先谈谈我开发这套框架的初衷:

 

 

1)基于各种理由(如考虑招标要求,底层交互便捷,软件门槛,资源占用少等),我们需要一套基于C++的桌面应用程序,但我们不想招聘那么多C++的程序员,因为这个成本太昂贵了,但有很多Java程序员,怎么办?

2)基于C++的桌面应用程序可以更好更通用的与后台应用程序交互,完成request/response以及publish/subscribe模式(需配套的服务端)?

3)我们需要一些C++组件,对于一般的业务界面,我们只需要配置一下组件属性和少量脚本,就能和后台完成交互,完成业务场景(需配套的服务端)

4)不要让我做整个界面和窗口,为什么我不能只做我业务关心的那部分界面?

5)为什么我总在重复造着轮子:难写繁杂的无边界窗口的边线处理,圆角处理,透明处理,日志记录,内存处理,换肤处理,换语言处理等?

6)为什么基于C++的桌面框架程序都这么昂贵,如powerUI等;

7)为什么编写的应用程序随着项目的逐步增加会有崩溃的危险,而且这些crash的问题是那么的不容易被发现?

8)让会写Java的人也能写出优秀的好看的桌面程序吧!

 

本框架优势:

1.使用本框架开发桌面应用,不会因为项目的逐步庞大而增加程序的不稳定性,所有的模块都是插拔式的(app.xml配置);

2.无需再去处理桌面App繁杂的边框,圆角,透明,容器,进程间通信,日志记录,内存检测等;

3.无需编写C++代码即可生成基于C++的桌面应用程序,这得益于Qt的强大;

4.应用程序前后台可以单独承担编写,避免桌面C++程序往往不熟悉服务端的软肋,将大大提高项目开发速度;

5.框架核心代码量极少,你可以很快的熟悉它并让它保持足够的稳定;

 

设计原则:

1)桌面框架基于VC(GDI),使得整个框架更加灵活和高效,与第三方整合更加方便;

2)业务dll与框架完全分离:业务工程与GQT框架工程完全独立,使得业务与框架的耦合度很低;

3)业务dll支持Qt编写和XML+Script两种模式,以便根据业务需要进行快速开发;

4)     XML驱动;

5)脚本支持:框架提供了丰富的脚本库,以便让XML+Script的开发模式更灵活更高校;

6)换肤支持:样式与XML配合,样式有继承关系(类似CSS);

7)多语言支持:基于XML;

8)控件库:为了更好的实现敏捷开发,开发了特有GQT控件库,以便实现更炫更酷更好的界面效果;

 

实现思路:



 实现的QQ登录界面:



 

PS:对本项目有兴趣或提供宝贵意见的人,可以优先开放taobao svn地址,供下载所有相关目前已完成的源代码:)

 

 

 

 

  • 大小: 62.2 KB
  • 大小: 24.7 KB
2
0
分享到:
评论
6 楼 kongshanxuelin 2014-02-24  
5 楼 tczengjin 2014-02-22  
楼主,对您的gqt项目很感兴趣,设计文档下载后word2007无法打开,不知道其他同学有这个问题没?我在http://code.taobao.org/搜索gqt,qt等关键字无法查找到楼主的项目地址,请问如何申请成为项目会员?我在code.taobao注册的用户名同iteye tczengjin
4 楼 wenjinjin 2014-02-21  
svn地址無法訪問!
3 楼 kongshanxuelin 2014-02-21  
wenjinjin 写道
有兴趣!s想看看设计架构。能否提供svn地址?

请看文章最后说明
2 楼 wenjinjin 2014-02-21  
有兴趣!s想看看设计架构。能否提供svn地址?
1 楼 kongshanxuelin 2014-02-21  
说一下开发环境:
框架开发环境:VS2008
业务UI(dll或XML+Script)开发环境:QtCreater(Java程序员极容易上手)

相关推荐

    Microsoft Visual C++ 14.0

    IDE支持多种编程语言,包括C++、C#、VB.NET等,且支持跨平台开发,可以创建Windows桌面应用、Web应用、移动应用以及云服务。 **二、编译器与运行时库** 1. **编译器**:VC++ 14.0的编译器支持C++11和C++14标准,...

    Borland c++ 宝典

    该IDE以其高效、便捷的编译器和调试器而闻名,特别适合快速开发桌面应用程序。 在《Borland C++ 宝典》中,你可以学习到以下关键知识点: 1. **C++基础**:首先,书本会介绍C++语言的基础语法,包括变量、数据类型...

    Eclipse平台技术综述

    Eclipse平台是一个开源的、基于Java的开发环境,主要用于创建、调试和部署各种软件应用程序。它不仅限于Java开发,还支持多种编程语言和开发工具,包括C/C++、Python、JavaScript等。Eclipse的核心是插件体系结构,...

    IBM_Demo_Eclipse-Oct03英文介绍

    8. **RCP(Rich Client Platform)**:Eclipse的RCP允许开发者构建基于Eclipse框架的桌面应用程序,利用其强大的组件和插件机制。 在"IBM_Demo_Eclipse-Oct03.exe"这个文件中,很可能是IBM提供的一次性安装包,包含...

    eclipse-helios-win32

    11. **RCP(Rich Client Platform)**:Eclipse的另一个核心特性,允许开发者构建基于Eclipse框架的自定义桌面应用程序。 12. **多语言支持**:Eclipse支持多种编程语言,除了Java,还可以通过插件支持Python、Ruby...

    QT creater linux 4.8.6版本

    QT Creator是Qt开发框架的一部分,它是一个集成开发环境(IDE),专为使用Qt库进行跨平台应用程序开发设计。Linux版的QT Creator 4.8.6是一个针对Linux操作系统的特定版本,提供了强大的编辑器、调试工具、项目管理...

    eclipse-inst-win64.exe

    "eclipse-inst-win64.exe" 是Eclipse为Windows 64位操作系统的安装程序,允许用户在他们的64位Windows系统上轻松安装和配置Eclipse IDE。 1. **Eclipse 平台**: Eclipse 平台是一个可扩展的基础框架,由核心组件...

    Linux 开发环境工具 指导

    - **简介**: Kscope是基于KDE桌面环境的Cscope前端,提供图形界面操作方式。 3. **GLOBA** - **官网**: http://www.gnu.org/software/global/ - **简介**: GLOBA是一个通用的文本标记工具,适用于各种编程语言。 ...

Global site tag (gtag.js) - Google Analytics