smartgwt (C)
SmartGWT是一个利用GWT封装SmartClient的开源项目。类似于GWT-Ext。SmartClient是一个企业级的ajax框架,包括非常出色的UI库、工具库和客户端服务端数据绑定等功能。(引用)
UI库:很多框架的UI库很出色,考虑的很完善,浏览器兼容性也很好,但往往只是前台的,当你想深入做点应用时,就会发现和后台的结合性不佳,数据类型很单一,无法大规模的开发。然而smartgwt不同,不仅提供了整套UI(Tree、Grid、Window...)及皮肤系统,数据绑定更是强大。
客户端服务端数据绑定:smartgwt数据感知特性,提供了完整的端到端用户交互,它们都可以自动产生适当的服务器请求以使用易于定制的简单协议来更新数据。
smartgwt优缺点和涉及到的问题(个人见解)
优点:
界面结构和表现形式统一,所以感觉专业。
界面验证简单灵活,一个属性就搞定,复杂的验证可以结合正则控件。
兼容6种主流浏览器,无需为js、css烦恼。
更容易模仿应用程序的操作界面和习惯,用户容易操作。
拥有java的很多特点,继承、面向对象...写通用界面和操作时,更容易抽取和重用。
客户端服务端间传输的数据有数据源的概念。
能结合多种框架技术(spring、hibernate)。
自带调试工具。
缺点:
浏览器的缓存机制不同,(IE)可能会保存到临时文件中(图片、js等),以便下次快速访问,所以会出现未更新的假象。
对电脑配置有一定的要求,不能太古老了,否则界面全js操作就会不流畅,调试也会很卡。
国际化不够简洁。
编写布局代码比较麻烦,尤其嵌套。
编译比较费时。
没有类似datetime控件。
经历的问题:
获取IP(已解决:通过jsp)。
多表数据合成一个Tree(已解决:传统思路,点击节点,再加载下一节点数据)。
海量数据45GB表的查询分页(已解决:索引很关键)。
客户端有些功能不正常(已解决:加载js属性的顺序)。
大整数BigInteger(已解决:gwt-math.jar,gwt-math-server.jar)。
上传文件作为查询条件(已解决:servlet服务端先处理数据,客户端延迟获取,限低并发环境)。
拖动Tree更新服务端数据(未解决)。
下拉框2级联动,第二个下拉框不稳定(未解决)。
smartgwt自带下拉框分页功能无法实现(未解决)。
相关文档:
先用贝尔的一道笔试题简要的说明一下吧:
【题】说明以下程序。
#include
int main(void)
{
unsigned int a[3] = {0x01020304, 0x05060708, 0x090a0b0c};
unsigned int *p = (unsigned int *)((int)a +1);①
printf("%x\n", *p);
return 0;
}
【题目解析】
这段程序的输出结果应 ......
---- 在数据库的应用开发中,常常会遇到性能和代价的之间矛盾。以作者在开发股市行
情查询和交易系统中遇到的问题为例,要在实时记录1000多只股票每分钟更新一次的行
情数据的同时,响应大量并发用户的数据查询请求。考虑到性价比和易维护性,系统又
要求在基于PC服务器,Windows NT平台的软硬件环境下实现。开 ......
像PHP和perl一样,MySQL也提供的C语言使用的API. C代码的API是随MySQL一起发布的。 它包含在mysqlclient库中, 可以使C程序来访问数据库。
MySQL源码包中的许多客户端都是用C写的。 如果你正在找使用这些C API的例子, 可以看看客户端的写法。你可以在MySQL源码包的clients目录找到这些例子。
& ......
前一篇讲了简单的C/C++调用Python脚本模块(.py)。既然是用于诸多游戏程序的脚本语言,那肯定是缺不了互调(礼尚往来)。因此,本篇讲一个简单的python调用C/C++写的DLL模块,对Python进行功能扩展。这里写一个简单的例子,主要就为了了解下这么用Python来调用C/C++写的DLL库。好了,切入正题:
首先,我是用VS2003 ......
C++语言的创建初衷是“a better
C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程
式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的 ......