********************************************************************
* 版权声明
*
* 本文以Creative Commons的发布,请严格遵循该授权协议。
* 本文首发于博客园, 此声明为本文章中不可或缺的一部分。
* 作者网名: 浪子
* 作者EMAIL:dayichen (at)163.com
* 作者BLOG: Http://Www.Cnblogs.Com/Walkingboy
*
********************************************************************
[开源第一波]SmartScript
-Written by 浪子@cnblogs.com (07-11-30)
摘要:
至从[SmartScript]js类库管理不再发愁 一文发布到现在快1年了,很多关于js在asp.net编程中的结合思路一直没有做,SmartScript也一直处于之前的状态,现在把它放到codeplex:SmartScript ,希望有时间和兴趣的朋友能对其思路进行扩展.
目前想扩展的列表:
1、扩展js的自动组件依赖
2、扩展成为WebForm的一个关联文件,需要修改VS的扩展,其后文件的展现形式
--WebSite:
- WebForm1.aspx
- WebForm1.aspx.cs
--WebApplication:
- WebForm1.aspx
- WebForm1.aspx.deginer
- WebForm1.aspx.cs
--SmartScriptWebForm
- WebForm1.aspx
- WebForm1.aspx.deginer
- WebForm1.aspx.cs
- WebForm1.aspx.js
aspx中的配置则类似
< %@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="KinnSoft.SRP.Portal.Views.WebForm1" JavaScript="WebForm1.aspx.js" %>
然后使用SmartScript的思路,对js进行输出,此时可以有比较多的控制权限,比如语法压缩,gzip压缩,设置缓存(判断文件修改时间,是否需要更新客户端缓存,即修改引用地址),js混淆加密等
3、整合ScriptSharp或者自写类似组件,实现利用c#写js
……
由于自己同时维护现有公司很多套框架,还有比较多的新框架研究任务,所以一些思路一直没有时间去实现,把这些思路和粗劣的原型代码现出来,希望能起到抛砖引玉的作用^_^,下一步可能会开源CallbackPlus:[CallbackPlus]远离UpdatePanel给我的噩梦的解决方案,看时间是否允许,因为我自己用的代码会比较丑陋,呵呵,怕丢出来被鄙视。
CallbackPlus的一些特性:
* 双向序列化
* 类似Asp.net Ajax 的UpdatePanel/CA 的Callback的容器更新机制(Ajax中动态执行返回到innerHTML中的js)
* 数据的双向绑定,有点类似以前园子里的某些UIMapping
此框架还包括自定义的一组WebControls,一套完善的客户端Script对应模型。
目前应用于某大型项目(并发100+),运行良好,速度也不错:)