脚本驱动的应用软件开发方法与实践

关键字 JavaScript Active Scripting
原作者姓名 陆其明
文章原始出处 《脚本驱动的应用软件开发方法与实践》
书籍作者 陆其明
出版社 科海电子出版社

本文摘自《脚本驱动的应用软件开发方法与实践》,作者:陆其明

第6章 脚本驱动的看图软件


6.1 脚本驱动的意义


在软件的交互性不断提高的今天,仅仅提供菜单或工具条的界面已经不能满足用户的需要了;软件的可定制特性已经成为当今软件的一项基本特征,对于一些通用软件尤为如此。那么,本书引入的脚本驱动的软件开发方法又有什么意义呢?
使用脚本驱动的软件开发方法,程序员可以彻底摆脱UI艺术设计。大家知道,UI对于一款软件来说是非常重要的!要把UI做好也是很不容易的!软件的UI应该是帮助用户更好地使用该软件提供的功能或服务的,因此好的UI应该是漂亮的、整体风格一致的、符合用户的使用习惯的。很多程序员说,我的审美能力太差了,设计专业的UI恐怕已经超出了我的能力范围。现在不怕了!其实,UI完全可以交给艺术设计师来做(这也正是他们的特长)。程序员与UI设计师之间有着不同的分工,并且最终通过脚本来进行整合;大家各施其职,各尽其才,何乐而不为呢?
除了程序员与UI设计师之间的分工之外,程序员内部还可以这么分:专门开发商业逻辑的程序员和专门开发脚本程序的程序员。他们使用不同的程序设计语言,他们对各自使用的语言都非常精通,他们都在为同一款软件提供不同的支持——脚本程序可以用来定义UI元素、实现UI逻辑,可以很灵活地跟用户实现交互;这使得其他更多的程序员能够集中精力于商业逻辑的设计和开发。这样的分工是合理的,是富有生产力的。不同专长的程序员专注于他们各自擅长的领域,个人兴趣与公司业务有效地结合起来,更利于个人的成功。而这种个人成功,带来的同样是公司业务的成功。
脚本驱动的软件开发方法细化了软件开发过程中的分工,因此非常适合于基于团队的大型软件开发。让分工责权清晰,让合作的渠道畅通无阻,软件开发的整体效率就有了保障。面对不断变化的软件需求,我们可以做得更加从容。
脚本驱动的软件最大的特点还在于它在可定制性和交互性方面的出色表现。因为针对一个特定的商业领域,我们可能已经开发了非常多、非常细的功能(或组件)。然而,这么多功能并不是统统放在一个软件中、一股脑儿地推给所有用户的。这并不是一种成功的方式!因为用户有不同的分类,不同的用户往往有着不同的需求。我们必须根据不同的用户需求为软件组合不同的功能集,表现出一种专业的个性化服务,以获得较高的用户满意度反馈。通过特定的脚本规范,以及脚本程序的交互控制能力,这种软件的定制其实很容易就能做到。
脚本驱动的软件到底还有多少好处呢?还是请读者在本书提供的不同版本的看图软件之间进行细细的比较吧!认真体会从ImageViewer_Basic到ImageViewer_Skinned、ImageViewer_Customized乃至ImageViewer_ScriptDriven的演变过程,相信读者定会有所感悟。


6.2 脚本驱动的实现

脚本驱动的看图软件源代码 ImageViewer_ScriptDriven.rar

 

<<>>A1> ImageViewer_Basic一款基本的看图软件,能够查看JPEG、GIF、BMP等格式的图像文件,能够对图像进行反色、灰度化、叠加Logo、叠加系统时间等处理,能将处理过的图像内容另存为一个BMP文件。这个例子主要演示原始的个人软件开发过程。A2> ImageViewer_Skinned软件的功能与ImageViewer_Basic相同,并在ImageViewer_Basic的基础上修改而来,主要为软件的界面增加了漂亮的皮肤。A3> ImageViewer_Customized软件的功能与ImageViewer_Basic相同,并在ImageViewer_Skinned的基础上修改而来,展现了软件的可定制性。用户可以通过一个XML文件来定义一个软件特定的功能集。A4> ImageViewer_ScriptDriven软件的功能与ImageViewer_Basic相同,并在ImageViewer_Customized的基础上修改而来,进一步展现了软件的可定制性和交互性。由于有了脚本的支持,软件的灵活性和扩展性变得更强了!A5> CurveSee一个使用Active Scripting技术进行脚本解析应用的典型例子,能够针对用户输入的任意函数表达式,轻松地画出其函数曲线。学习Active Scripting技术不可不看的例子!A6> JSInterpreting这是一个演示程序,再现了使用Active Scripting技术进行JavaScript解析过程中可能会碰到的种种问题,并且给出了各自的解决方案。这个例子可谓是Active Scripting技术应用方面的一个实务指南!A7> Automation目录下的Tester演示了COM自动化技术,包括自动化对象的实现,自动化对象的创建和管理。A8> XML目录下的WebBased演示了在网页中应用的XML解析技术。A9> XML目录下的XMLParser演示了在C++程序中应用的XML解析技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值