作者: Builder.com 2005-01-05 11:24:20 | ||
![]() 一位客户最近向我抱怨微软以及产品成本等一些问题。他们应该制定一个策略来向开源过渡以节省资金。 现在,我不是第一个开始争论消费者 vs. 开源的价值的人。而是,我趁这个机会指出开源路线也适用于 .NET 用户。 应用程序 出于篇幅的考虑,我将集中讨论客户机/服务器类型的应用程序。这些应用程序通常由以下几部分组成:
· 数据库服务器:对于基于 .NET 的应用程序来说,SQL Server 是一个非常受欢迎的选择,但是针对像 Oracle 和 DB/2 等其它系统的连接器也有。 · 应用服务器:所谓应用服务器是指由承载由客户使用的应用程序的服务器。IIS(Internet 信息服务)是 ASP.NET 应用程序的一般选择。此外,.NET Framework 也是必须的。 · 客户端:用来和应用服务器通信的接口。对于 ASP.NET 应用程序来说,客户端是一个浏览器。 大部分情况下,客户部分是不受开发人员控制的(intranet 应用程序是个例外)。另一方面,数据库以及带有后台数据库的应用服务器也是可以选择使用不同产品。 使用开源数据库 在 ASP.NET 应用程序中使用开源数据库后台是一个闪光点,有两个数据库引擎可供选择使用: · MySQL:MySQL 已经成为了业界最流行的、成长最快的开源数据库。它提供跨平台支持,并且简单易用。此外,那些担心支持问题的组织还有商业许可证可用。 · PostgreSQL:PostgreSQL 是 POSTGRES 数据库管理系统的一个增强版本(并且现在依然有时候被简单地称作“Postgres”),它是下一代 DBMS 研究原型。虽然 PostgreSQL 保留了 POSTGRES 的强大数据模型和丰富的数据类型,但是它使用 SQL 的一个扩展子集替换了 PostQuel 语言。PostgreSQL 是免费的,并且提供完全的源代码。 在 Linux 服务器上安装这些开源数据库系统可以大大节省开支,但是熟悉这些系统(以及 Linux)的人必须保证每件事情都能顺利进行。 将数据库连接到 .NET 选择了数据库平台之后,必须正确地与 .NET 应用程序连接。连接数据库可以使用通用的 ODBC 连接器,也可以使用为某个数据库平台专门设计的连接器。 PostgreSQL 系统不提供原生的连接器,所以你必须使用 vanilla ODBC 连接器。默认情况下,.NET Framework 中提供了这一连接器,所以这不会是一个问题。MySQL 数据库系统提供有自己的连接器。这样你就可以直接地连接到 mySQL。对这些连接进行编程需要 .NET Framework,或者是其开源替代版本,比如 Mono。 |
Mono
Mono Web 站点将 Mono 描述为“基于 .NET Framework 的一个全面的开源开发平台,能够让开发人员以空前的生产效率构建 Linux 和跨平台的应用程序”。具体其宣称的生产率是否属实你可以自己去考究,但是它能够将 .NET 开发引入到非 Windows 系统上去(当然也支持 Windows)。这个产品只支持 C#(ECMA 标准)以及公共语言基础结构(CLI)。
开发环境
安装了开发平台之后,你可以选择使用命令行和文本编辑器来开发应用程序。另外你还可以使用免费提供的开发工具,比如#develop。这个工具能够让你使用与 Visual Studio .NET 类似的图形化界面开发应用程序。
使用 #develop 的一个障碍是它需要Microsoft .NET SDK,所以如果你使用 Mono 的话就会遇到问题。
除了可视化开发外,还有如下一些其它免费提供的工具:
· NUnit:针对 .NET 的开源单元测试框架
· NAnt:用于创建构建流程的平台
· NDoc:用于构建 API 文档的开源工具
无数的选择
很多人在想到 .NET 开发时立即想到的是它的价格高昂,而且选择又少。微软将 C# 提供为标准,以及开源社区又接受这一标准,这两件事情导致产生了无数的非 Windows 选择。
Tony Patton 的职业生涯开始于应用程序开发员,并已经获得了 Java、VB、Lotus 和 XML 认证,以支持其知识。