我一直在环顾四周,遇到了WT工具包,它是否稳定? 有什么好处? 由于缺乏关于networking开发的图书馆和资源,我很难在C ++中如何去做这件事情。 (CGI /阿帕奇)
我的应用程序的目的是从运行GNU / Linux和Apache的Sybase ASE15数据库填充一些数据。因此允许一些用户交互。
我将使用Sybase开放客户端库(libct)从服务器中检索列,将这些数据返回到wt model / view。
我的要求:
有没有更实际的解决scheme,而不是使用其他脚本语言? 我的意思是实际上,与ODBC检索和MVC机制的接口?
如果在C ++中不可用,Java中的任何替代方法?
给这个看一看。 我从来不喜欢Wt的设计。 但是,我是一个反框架的人。
对于Web应用程序来说,C ++并不是一个非常流行的选择 – 可能是因为它太容易留下安全漏洞,开发时间往往比脚本语言慢得多。
动态类型的脚本语言将编译时错误转换为运行时错误。 检测这些可能不像读取编译器输出那样简单。 脚本语言可能适用于快速简单的项目。 除了一定程度的复杂性之外,还需要强类型,结构良好的语言。 如C ++或Java。
大部分的脚本语言都鼓励拙劣的编程。
至于“安全漏洞”:如果引用缓冲区溢出,分配/释放错误,答案是“STL”。 当然,适当的培训:-)
对于初学者。 我肯定还有更多 – 一个健康的谷歌搜索可能不会伤害。 另外,你可以试试freenode的#C ++频道 – 他们有一个offtopic频道,你可以问一下,如果你想谈论非STL C ++,那里的人会很乐意回答你的问题。 祝你好运。
tntnet(http://www.tntnet.org)非常适合使用C ++创建Web应用程序。
CGI程序在C和C ++中都很容易编写 – 你不需要任何特殊的库,尽管有一个显然会使开发速度更快。 你真的了解CGI是如何工作的吗? 基本上,你的程序用getenv()读取环境变量,做一些处理,然后把一些HTML写到程序的标准输出中。
最好的C / C ++网络工具包是Apache httpd。 只要写一个模块,你就可以使用libct来访问你的数据库。
有类似mod_spin的 MVC模块,但我没有任何经验。
对于Web应用程序来说,C ++并不是一个非常流行的选择 – 可能是因为它太容易留下安全漏洞,开发时间往往比脚本语言慢得多。 我认为99%的Web应用程序不需要C ++带来的速度。
所以这导致缺乏良好的框架。
从我相当清楚的地方看,我认为Wt可能是你最好的选择,尽管它比框架更像是一个有用的东西(比如页面模板)。
我认真考虑不要在C ++中这样做。 即使Java(我更喜欢C ++)对Web开发有更强大的支持。
另一个替代方案可能是“FastCGI / CGI C ++库”,目的是在某一天促进集成: http : //cgi.sourceforge.net/
Qt将会日益增长。 而Wt就是试图代表基于Qt的网络工具包。 C ++强大的语言,在我看来是最好的。 如果你喜欢牛羚项目和独立技术。 我真的建议使用它们。 我使用PHP,Phyton,C#,VisualBasic,Fortran等,但我不喜欢其中的C ++。
我试了一下,真的很喜欢它。 我不会给你任何缺点或利弊从头开始使用它,但是当你用C / C ++编写后端数百万个API条目时,Wt是一个明显的选择。 有一些非常强大的功能比较容易使用,例如动态加载的表格。 服务器上的信号处理等
有一件事我真的不喜欢Wt,因为在写这篇文章的时候它与Windows上的Apache不兼容。 您必须使用Unix或Windows上的IIS。 Wt还提供了自己的http服务器,这对开发应用程序非常方便,但我不相信它在生产服务器的角色,因为我不确定它的安全性。
我个人对Web开发的选择是Ruby on Rails,但是如果您必须在C,C ++或Java之间进行Web开发,我的建议是将Java与Javaserver Faces
Apache Celix看起来像一个有希望的活跃项目,可以满足这个(虽然是旧的)问题的要求。 请参阅: http : //celix.apache.org/
从Apache项目描述页面:
Celix是适用于C的OSGi规范的实现。它将尽可能地遵循API,但是由于OSGi规范主要是为Java编写的,所以会有区别(Java是OO,C是程序性的)。 实现的一个重要方面是Java和C之间的互操作性。这种互操作性是通过在Celix中移植和实现远程服务规范来实现的。