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;
}
【题目解析】
这段程序的输出结果应 ......
C++语言的创建初衷是“a better
C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程
式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的 ......
2009-11-01 17:31:00
1、Standard C,包括基本的语法定义,库函数参考
http://www-ccs.ucsd.edu/c/
或者
The C Library Reference Guide
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
2、The UNIX Programming Environment
http://www.iu.hio.no/~mark/unix/unix_toc.html
或
The Art of ......
用一句话概括extern “C”这个声明的真实目的就是实现C++与C及其它语言的混合编程。
extern "C"的惯用法
(1)在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:
extern "C"
{
#i nclude "cExample.h"
}
而在C语言的头文件中,对其外部函数只能指定为extern类 ......