2010-01-20 44 views
3

自从我为个人电脑进行任何开发(我通常使用嵌入式软件)已经有几年了。C++构建器如何与其他RAD IDE集成?

那时我非常精通(Borland,现在的CodeGear)C++ Builder。时间已经过去了,C++ Builder变得非常昂贵,并且还有其他选择(MSVC工作室,NetBeans,QtCreator,甚至包括带有正确插件的Eclipse)。其他?

三件事情关注我(没有特定的顺序),易用性,额外的GUI组件和跨平台性。

易用性 - 我想要一个IDE帮助,而不是阻碍我。调试好,重构,跳转到变量声明,使用,诸如此类的事情..

GUI组件 - 使用C++ Builder的时候我被它是多么容易开发更多的VCL组件,多少是可用的,往往是印象深刻自由。因此,如果我想要一个标准的字符串网格,其中的单元格也可以包含图片,复选框等,我可能会找到一个,或滚动我自己的。

我不确定目前的状态与附加组件有关。其他系统是否有类似http://www.tmssoftware.com/site/

跨平台 - 我个人使用Linux的一切,但实际上,我的大部分用户都有Windows安装。所以,跨平台是“很高兴有”,“所有其他事情都是平等的”。

现在我必须选择一个解决方案,并坚持下去的几年。哪一个,给我上面的观点(成本起作用,但不是成败)?

在此先感谢您的帮助。

回答

4

我从来没有使用过C++ Builder,但曾经是delphi的粉丝/用户。我通常在C++中使用一些java编写服务器应用程序。简单地说,我开始为自己编写一些小型生产力应用程序,最初我使用java,但后来转移到Qt。

现在我喜欢它。图书馆感觉很好,就像delphi中的vcl一样。信号/插槽机制非常好,我仍然很惊讶我不必编写代码来连接对话框。使用qt非常简单,您编写的代码非常易于阅读和创建。我还没有写自己的小部件,我认为qt的模型/视图架构非常好地分解了角色,使得股票部件非常强大。例如,当使用QTableView时,ItemModel可以提供大部分显示和编辑功能,ItemDelegate提供了更强大的控件。尽管从查看文档看起来很容易,但我发现这些方法比编写定制小部件更容易重用。

Qt的创造者是基本的,但是我所需要的东西的95%,集成项目,gui设计师,代码,调试和帮助。支持CMake以及qmake。它没有像重构这样的高级功能,但智能感觉比VS2005更好。然而,KDevelop的下一个版本看起来非常有前途,并将包括这些。如果你想要这些功能,你也可以使用eclipse,或者根据需要在eclipse和qt创建器之间移动。但我对qt创​​作者非常满意。

在跨平台问题上,我在家开发我的Linux应用程序,并倾向于在工作中使用它们。到目前为止,在Linux上工作的所有东西都可以工作,而且看起来也是为它编写的。

7

我已经使用了C++ Builder和Visual Studio。多年来我一直倾向于使用C++ Builder而不是V.S.生成器和VCL只比微软的产品设计得更好。 (即使Borland的图书馆源代码看起来比任何来自微软的 都要干净)。

Builder中的集成调试器是真正集成的,使用非常直观。

我觉得Builder编译速度比Visual Studio快得多。 Builder 5有一个不必要的慢的问题, ,但当时它比VC++ 还要快,而最新的Builder版本编译时间更快。诸如TwineCompile这样的参与者使Builder更快。

我从来没有尝试为Visual Studio创建自定义C++控件, 但在Builder中执行相当容易。

去年,CodeGear公司发布TurboExplorer 的免费版本(我没有用它自己),其中包括IDE 和RAD(虽然有限)http://www.turboexplorer.com/ TurboExplorer可用于商业应用。

我一直不满意基于Java的IDE,其中总是很慢。 也就是说SunStudio12很好(免费),但用户界面响应速度慢。 我使用代码:在Linux上有合理的可用性的块, ,但没有做任何RAD工作。

+0

谢谢,罗杰。这是有价值的反馈 – Mawg 2010-01-20 12:21:59

2

C++ Builder(以及Delphi)的优势在于VCL GUI框架,它很容易使用,并且提供真正的RAD开发。 VCL有许多替代品,都有其优点和缺点。 VCL的优势在于与C++ Builder/Delphi的紧密结合,使得它在这种组合下运行得非常好。缺点是它是一种知识软件,这意味着如果没有Codegear/Embarcadero的正式支持,您不可能将代码移植到其他IDE或平台上。

然而,有一些免费的替代品,其中一个更有趣的是Lazarus IDE。 Lazarus IDE是免费Pascal语言的IDE,这与Delphi非常相似,我必须承认我本人不是德尔福的人,所以我无法详细解释这一点。 Lazarus有一个很像VCL的GUI框架,称为LCL。从我看到的简短外表来看,它看起来非常相似。关于Lazarus/Freepascal软件包有几个好处,尤其适合您的情况。它是免费的,它可以编译和构建Windows,Linux和Mac,它有64位支持。此外,编译器似乎比Delphi更现代化。

Lazarus running on Windows 7

Lazarus running on Linux (GTK2)

Lazarus running on Mac OSX

更多屏幕可以在这里找到:http://wiki.lazarus.freepascal.org/Screenshots

用Delphi/C++ Builder中的问题是,VCL目前不跨平台能力。虽然这是为未来版本计划的(据我记得),但尚未实施。注意到,C++ Builder是否会继续维护还有一些注意事项,在这里有一些评论:here

Qt已被提及,它确实是一个非常强大的GUI框架,Qt创建者是一个很好的工具,尽管我喜欢在IDE和GUI框架之间有一个非常紧密的联系,就像它是VCL,但是这非常依赖开发人员。

编辑:只是一个想法,当将C++ Builder与其他RAD IDE进行比较时,很容易将.NET的语言和Java包含在IDE中。这些使用为此创建的语言。在C++ Builder中使用C++,虽然在Borland版本中稍有修改,但不是。这确实引发了一个有趣的问题,是使用C++进行RAD应用程序的必要和合理性?为什么不使用为此目的而编写的工具(语言)。我知道C++ Builder是为RAD开发而编写的,但它背后的语言并不是为此目的而设计的。如果您的需求是真正快速开发的应用程序,我会考虑寻找其他语言,但是如果您因为任何原因而依赖于C++,可能是第三方库等。然后C++ Builder在C++世界中是一个出色的RAD开发平台。

+0

Tahnks的全面和全面的答复。 只是为了记录C++ Builder实际上在Linux上有一个名为Kylix的prduct(对不起,Mac用户)实际上是跨平台的。这对于非商业用途是免费的,你可能会在某处找到一个副本。它使用了VCL组件。 – Mawg 2010-01-23 14:25:24

+1

Kylix的确是一个跨平台开发工具。但它没有使用VCL for Linux,而是使用了与VCL非常相似的CLX(我认为这是它的名字)。 – 2010-01-23 15:17:41

1

简短答案是NetBeans。它是跨平台的,它使用起来很简单,虽然它是用java制作的,但它仍然很快。 PS:如果你还在用java编程,或者想用java编程,那么使用/学习这两个IDE将会很方便。

+0

它看起来不错,但第三名或者自己的部分成员呢? – Mawg 2010-01-23 14:21:48

+0

OP似乎是要求一个C++ IDE,而不是Java--这个问题被标记为C++。 – drkvogel 2017-08-14 16:46:41

1

您还可以使用wxForms for C++ Builder并使用wxWidgets创建跨平台应用程序。它可以与现有的C++ Builder IDE协同工作并利用相同的表单设计器。