关于.net的企业应用开发
第一,什么是企业应用?
按照自己的理解,企业应用就是企业运作的一些软件系统。在这里,企业应该是一个泛称,可以包括政府、机构、学校等等之类。而软件系统,最终的目的是为企业带来效益,自动化一些工作,因此,企业应用不一定一定要是分布式、多层之类,一个电子表格、一个很小的桌面软件,都可以称为企业应用。而目前需要分布式、多层系统的原因在于企业应用的层次,在于一个企业信息化的程度,程度越高,对于先进技术的要求就越高。
第二,.net提供了什么?
个人理解,.net提供了一个很好的平台。这个一致的平台非常有用,如果你曾经接合VB和ASP开发,或者VB+VC或者CB开发,你会明白一致的平台对于开发,可以减少多少工作量,如果你使用过第三方的不太负责的VB开发的COM控件,那么,你会明白在COM时代,由于平台问题,由于语言本身的一些局限,会造成多少麻烦。因此,.net这个平台对于企业应用,对于信息系统开发,确实是非常有用的。
第三,.net的成功之处和失败之处?
对于.net或Windows平台,缺乏应用服务器之类,我想应该是时间问题。我个人认为,.net最成功的地方是ASP.net,最失败的是WinForm。WinForm是优秀的技术,问题是生不逢时,桌面应用已经不是主流,自家的后来者,已有的技术都是其的竞争对象。Windows桌面应用的UI技术,从原生的Win32 API到MFC,从VB的Form到VBA中不同的Form技术(Office中Excel的Form和Access的Form),微软不知出于何种考虑,从来没有统一的考虑。接着推出.net下的WinForm技术,也许大家以为要统一了,Avalon又要推出了,从概念上讲,进步是一定的,但从实际程序员的角度,好处可能不多,只是需要不停的学习一些新东西。.net从2000年到现在,真正基于WinForm的桌面应用并不多,也许有象“#Develop”,“Paint.net”这样比较优秀的应用,但对于WinForm,实际上的接受程度并不高,也没有多少程序使用WinForm,大多程序还是在使用传统的技术,如MFC、WTL或者VB。
在当前阶段,应用ASP.net构建应用UI,基于.net构建企业应用,个人认为没有什么问题,丰富的类库,优秀的ASP.net,很好用的ADO.net,对于构建一个系统,确实会事半功倍,而关于大型系统合适不合适的问题,个人没有参与过大系统的开发,无法说明,但至少,很多大的系统在运行,例如微软的系统,例如Dell的系统等等。
因此,我想,.net的成功之处是在服务器端,失败是在微软擅长的客户端,对于服务器端,先进的体系结构、类库,稳定性是最重要的;但客户端,最重要的应该是兼容性,我写一个程序,我希望客户不管是什么操作系统版本,不管他安装的是.net 1.1还是2.0都可以很好的运行,对于用户,这些差别都是不可见的。就像在XP下,我们很多DOS的命令行程序和16位程序还在使用。以前看到一篇文章,讲的就是这个问题,我深为同意。
第四,一些题外话。
在这2-3年接触和深入过的技术中,自己最喜欢的是Python,用Eric的话说,Python有C的简练的特点,丰富但不失简练的类库和特性,如果需要找一个词形容,应该是“优雅”。在开源技术中,Python有很多优秀的应用。服务器端有Zope,有Plone,界面技术可以使用简单的Tcl(Python核心内置)或者wxPython,有诸如SciPy这样的科学计算类库,而且可以将Python很容易的与已有系统集成,一切都使Python成为一个非常优秀的解决方案,可以胜任前端或者后端。
对于Smart Client有关的问题,个人的观点是基于WinForm或者其他程序,实际上没有什么意义,而此类程序,应该是基于Office这样的平台,如此才可以解决很多的问题。原来的VBA很好,但不适合大的系统的开发,VSTO就比较好,只是1.0很不好用,看了基于VS 2005的VSTO 2.0的介绍,感觉就很不错。至于PPC,手机端的程序,Smart Client应该是必要的,不过是另一个问题了。
浙公网安备 33010602011771号