这一阵子在做一个项目, 客户要求使用ExtJs/ vs2008 sql server 2005, 也是好长时间没有去看新的技术和一些框架;
初步设计是准备使用 ExtJs + HTTPHandle方式提供json + google上的josnserialization + linq to sql, 基本能满足应用(开始也没有查太多资料,不知道linq to sql 微软后期不支持了);
但是客户是技术驱动性的技术员(喜欢新技术), 在设计上没有太多经验, 但是对新技术还是能知道干什么, 所以要求用 wcf service 和 Entity framework, 没有办法花了2天时间研究和测试了一下, 感觉很实用, 下面根据我的理解说说我的思路.
客户端(Client)js框架
ExtJs重量级的框架,很强大,扩展性强,集成了java swt的很多特性, 不要太多说了, 但是体积大, 不适合互联网网站开发, 但是做企业内部的管理系统是非常合适;
JQuery 轻量级的框架,扩展强,但是没有ExtJs那么现成的支持库, 适合做互联网开发;
前端(Font end)
集成了castle monorail的优点, 多了图形化设计支持, 同时和.net无缝集成, mr用了很长时间, 前段时间beta版出来的时候做了一下技术测试,感觉很好用,但是还是不太成熟, 相信release版本会比较成熟的模版语言和支持.
WCF Service
WCF相信大家很清楚了, 很多.net 3.5上技术的基础, 用Wcf service 的 Ajax-enabled WCF Service 提供json数据,根本不需要太多编码,太方便了;
在ORMapping上基本集成了NHibernate的特点, 但是在友好性和图形界面上远远优于NHibernate, 在CSDL上的定义更灵活直观;
能使用Entity Query语言(类t-sql), linq to entity(基于查询和基于函数的两种方式查询), 最大的好处我感觉在生成执行的sql语句,因为有了property change事件支持, 他的sql只是在选择时只查找指定的字段,使数据量小了, 在更新和插入时,只更新对象中修改属性对应的数据库字段;
以上技术,我都只是根据以前项目经验做了一下简单技术测试, 没有做性能测试等, 没有太大的深入; 也只是提供一个项目技术框架的思路而已;