Wednesday, January 09, 2008

今天用了一下 NVelocity, 感觉还不错, 虽然最后的release 版 是2003年的, 但和vs 2008 以及范型等兼容性没有问题。
Write a Simple sample:

Template:

Cool, this is a Velocity Template
let's get start:
## this is comments
#set($user="jimmy")
hello $user!!!!!
$fruits
the gameName is: $game1.GameName
#foreach ($fruit in $fruits)
!!! I Like $fruit
#end
.NET Code:
        public class Game
        {
            public string GameName{get;set;}
            public string GameType{get;set;}
            public int Year{get;set;}
        }
        private void btnRender_Click(object sender, EventArgs e)
        {
            //tbTemplate.Text;
            Velocity.Init("nvelocity.properties");
           
            VelocityContext context = new VelocityContext();
            Game game1 = new Game { GameName = "DOOM", GameType = "FST", Year = 1990 };
            context.Put("name", "Velocity");
            context.Put("project", "Jakarta");
            context.Put("game1", game1);
            List<String> strList = new List<String>();
            strList.Add("Apple");
            strList.Add("Orange");
            strList.Add("Banana");
            context.Put("fruits", strList);
            //Template template = new Template();
            StringWriter writer = new StringWriter();
            Velocity.Evaluate(context, writer, "string1", tbTemplate.Text);
            tbResult.Text = writer.ToString();
        }
Output:
Cool, this is a Velocity Template
let's get start:
hello jimmy!!!!!
System.Collections.Generic.List`1[System.String]
the gameName is: DOOM
!!! I Like Apple
!!! I Like Orange
!!! I Like Banana
若从源码编译: 几点需要注意

1) 它所用的log4net 版本比较老, 可能有兼容性问题

2) directive.properties 和 nvelocity.properties 两个文件需要设成 Embedded Resource

Links:
http://nvelocity.sourceforge.net/
http://velocity.apache.org

Wednesday, January 09, 2008 1:27:21 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, January 06, 2008

RIA技术的现状和展望 2) - by 纵坐标的幻

今天继续:

目前RIA技术局限和瓶颈 (主要针对主流的 flash silverlight)

1)      检索问题

作为一种互联网的应用, 检索是重要的推广手段, 但是flash由于使用的二进制文件而非纯文本, 导致了google 等检索引擎无法抓取其内容.  显然silverlight 使用XAML (xml 格式) 很好的避免了这一点, silverlight目前尚不成熟, 将来如何拭目以待.

 

2)      应用的安全性

Silverlight flash 通常需要下载到客户端允许, 势必存在安全隐患, 安全隐患是两方面的

A)     浏览者的安全性: 浏览这访问RIA应用时, RIA是否会执行一些威胁用户安全的操作. 通常IE 和相关应用的插件会对操作进行限制, 但难免存在漏洞.

B)     开发者的安全性: RIA被下载到用户本机, 就存在这代码被破解, 通讯协议被破解的问题. Flash 8 swf已经能被轻而易举的破解, 好在flash9 目前破解还比较困难, 然而silverlight (目前1.0) 所用的技术是xml + javascript, 代码完全暴露,毫无安全性可言. 据说 siliverlight 1.1 会有改善.

 

3)      浏览器插件的普及率

Flash 的插件目前有很高的占有率, 可以说是一大优势.  然而 微软的silverlight 凭着操作系统的优势, 相信会迎头赶上.

 

4) 3D 技术

3D 的展示一直是RIA 的一个技术缺口. 目前flash 已经有不少第三方的库, 可以支持3D, 比较流行的有: PaperVision3D , away3D FlashSandy. 但是都不支持硬件加速. 据说flash 10 会直接支持3d技术, 并且有硬件加速

Silverlight 目前还没有3D的支持.

papervision3d 首页的海底demo:

 

 

4)      开发便利性

一直以来RIA的开发有个较大问题, 没法将程序和效果的业务逻辑开发完全剥离,

这也是为什么flash action script 开发人员比较难找的原因 (需要全才才行啊). 随着 Action Script 3 的越来越普及, flash 开发模式也日趋成熟.

Microsoft silverlight, 开发方式更具创意:  效果设计师用Expression Blend Silverlight  xaml进行效果制作. 而程序员用visual studio 对其添加业务逻辑, 两者完全分开. 效果如何? 目前我还没试过,试过后一定告诉大家.

Sunday, January 06, 2008 11:33:02 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, January 01, 2008

今天继续看Away3D, 原来away3d 直接支持 MD2 格式. 从最底层抽屉把 quake2 的游戏盘找了出来. 安装上, 然后用pakscope, 解开quake2 pak 的资源文件 (quake3 就不用这么麻烦了, zip就能解) , 提取md2 和贴图. 贴图是pcx的, 需要转成jpg, 否则flash不支持

然后用以下语句:(贴图先导入库)

var loader:Object3DLoader = 
Md2.load("model/tris.md2",
{material:"SCOUT", name:"quake", scaling:0.1,
y:0, x:0, z:0, rotationX:0, loadersize:300}); view.scene.addChild(loader);

嘿嘿, 能显示了, 贴图位置也正确.

Sample 点这里

动画和骨骼还没研究, 等有空再看:)

Tuesday, January 01, 2008 3:32:41 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 

Away3D (www.away3d.com) 相对 FlashSandy 和 PaperVision3D, 可算是后起之秀了, 虽然现在教程不多, 但是还是很容易上手. 也可以到Goolgle group 提问 http://groups.google.com/group/away3d-dev/ 

做了一个简单的sample.

代码下载

Tuesday, January 01, 2008 12:26:28 AM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, December 27, 2007

Adobe 出了Action Script 3 后,  更清晰的层次结构, 和显著提升的性能.  由于变化太大, flasher 从AS2 转变到AS3 也是一件痛苦的事情.以前的代码并非完全兼容.

最近小试牛刀, 用AS3 写了个动态界面. 图片能够自动的切换.动态显示. 内容由xml来配置. 

demo 看这里 

用这个代码帮儿子做的相册 嘻嘻

打包下载 包含图片demo下载

Thursday, December 27, 2007 3:11:08 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, December 23, 2007

软件开发项目管理十一问 - by 纵坐标的幻

 

若您正在管理一个中小型软件开发项目, 以下11个问题可以帮助您检查您的项目管理和流程是否健全:

1)      是否有项目管理计划? (一个涵盖各方面的总体规划以及项目生命周期定义等)

 

2)      对于工作任务, 是否有时间和资源估算?

 

3)      是否有进度计划? (比较简单的项目可以用Roadmap 方式, 比较详细的,需要分配资源和跟踪进度的可用甘特图)

 

4)      是否有团队人员计划? (包括但不限于: 组织结构, 责任分配-RACI RAM)

 

5)      是否有沟通模型/计划? (包括: 沟通对象: 客户/上层领导/Team以及其它stakeholder , 沟通频度, 沟通方式: 邮件/会议, 沟通触发条件  )

 

6)      文档是否健全? 对于需求的修改, 是否有完整的跟踪和同步相应文档. (文档通常包括设计文档, 需求文档, 开发规范, 用户手册等)

 

7)      是否有配置管理和变更控制计划? (变更的记录和审批)

 

8)      是否有Design review, Code review.

 

9)      是否有单元测试, 整合测试和用户测试? (是否有Test case? )

 

10)   所有的Bug / Issue / CR / Action 是否有记录和跟踪机制? (目前也不少完善的tracking 系统)

 

11)   是否有风险管理机制? (风险鉴定, 风险防范措施, 风险监控等)

Sunday, December 23, 2007 1:54:01 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, December 20, 2007
研究PMP, 顺便整理了一下PMBOK中得过程组, 还是有些乱, 各位将就着看看吧。
Thursday, December 20, 2007 10:50:14 AM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Monday, December 17, 2007

RIA技术的现状和展望 1)by 纵坐标的幻

RIA 简单介绍:

RIA Rich Internet Application (富因特网应用) ,这个概念最早由Macromedia 2002年提出,RIA技术使系统的界面更接近传统应用程序: web有更丰富展现性, 更好的操作性等。同时, RIA 还具有web的优点。

 

特性比较

 

传统WEB

传统应用程序

RIA应用

界面表现

相对较差

界面操作性

相对较差

系统性能

负载主要在服务端

负载主要在客户端

服务端和客户端

网络性能

每次点击要刷新页面,导致速度较慢

视情况而定

可仅对需要数据进行网络通讯,但RIA应用本身需要下载, 会占用较多带宽

部署

不需部署

需要安装

无需部署, 或一次性部署

兼容性

和操作系统无关, 有浏览器即可

对操作系统有较高要求, 兼容性差

兼容性较好, 依赖于浏览器和所需插件

开发难度

相对较低

相对较低

目前开发技术仍然不成熟,需要改进

其它

 

 

部分RIA技术有较好的视频流和音频流等支持 Flash/Silverlight

 

目前比较流行的RIA技术:

Flash/Flex

Macromedia 开发, 目前较流行的RIA技术,特别是 flash插件的市场占有率很高。Action Script3 的出现使程序员原来越接受了FLASH的开发

Silverlight/WPF

RIA的新秀, Microsoft 开发, 就目前而言, 还不成熟, 但是很有赶超flash的趋势。

AJAX

javascript dhtml + 后台post组件实现,介于纯粹和RIA 应用和和传统web之间。 对展现能力还是有较大局限。

ActiveX

较早技术, 依赖于windows 开发较麻烦

Java (Java Applets JavaFX Java Web Start )

开发部署相对麻烦, 特别java的浏览器插件普及度低

 

OpenLaszlo

一个开源RIA框架。基于javascript XML flash 见:http://www.openlaszlo.org/

 

RIA 的应用:

传统应用程序希望应用于web的, 比如CRM OA ERP 等。

希望能够更好展现界面和提高用户体验的web网站。

互动广告行业, 互动广告需要很好的用户交互技术和用户体验。 Flash silverlight 很好的满足了这一点.

目前具有较好RIA互动广告开发能力的制作公司有:安瑞索思,佐歌信息 , 网帆,网迈等

 

 

 下一次我会重点说一下目前RIA的局限和瓶颈, 以及各种技术的详细对比

Monday, December 17, 2007 6:34:00 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Saturday, December 15, 2007
由于DV拍摄光线太暗, 产生噪点往往是件让人头痛的事情. 用Ulead video studio 能一定程度去除噪点.
Saturday, December 15, 2007 11:41:43 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, December 11, 2007

随着VS 2008 发布 和 ASP.net Extension 3.5 的即将发布。

ASP.NET 也有了自己的MVC 框架 见scottgu的blog: http://weblogs.asp.net/scottgu/archive/tags/MVC/default.aspx

总结一下MVC的优缺点:

优点:

1)视图控制模型分离, 提高代码重用性。

2)提高开发效率。

3)便于后期维护, 降低维护成本。

4)方便多开发人员间的分工。

缺点:

1)清晰的构架以代码的复杂性为代价, 对小项目优可能反而降低开发效率。

2)运行效率相对较低

3)目前没有比较好的rich 客户端的解决方案

4) 控制层和表现层有时会过于紧密,导致没有真正分离和重用

Tuesday, December 11, 2007 4:58:21 PM (China Standard Time, UTC+08:00)  #    Disclaimer  |   |