我不是网页开发者,对于现有的Web应用程序框架并不了解。
然而,最近我开始接触Wt。这是一个用C++编写的Web框架(这也是我开始接触它的原因),但最让我印象深刻的是它所基于的思想。
与我听说过的任何Web框架(如CppCMS、Yii、Django、Pylons、Zope、Drupals、Java Servlets、Struts等)的API都不同:新的Application对象会为每个用户会话创建,并保持活动状态直到会话过期(只有在此时Application对象才会被销毁)。这个Application对象就像一个桌面窗口:您可以在其中放置Widget(例如表单、链接、标签等);当用户单击链接时(当HTTP服务器收到新的GET/POST请求时),将调用与用户会话紧密绑定的对象上的函数(以一种良好的Signal/Slot方式),该函数可以删除/添加/更改Widget,从而更改用户将看到的页面。
正如我所说,我对Web框架并不十分熟练,我几乎只开发桌面应用程序;也许出于这个原因,我认为Wt背后的这种“范式”很棒。
我想知道这个框架API相对于其他框架的优缺点,以及是否有其他基于相同概念的框架(也可以是其他语言)。