background image

MONO 的相关介绍

Mono 2.0 是一个里程碑版本,为 Linux 下.Net 程序开发创造了基本框架。不考虑稳定性

和 可 靠 性 , 从 功 能 上 考 虑 ,

Mono  2.0 的 Microsoft  兼 容 的 API 有 了 大 幅 的 改 进 ,

ADO.NET、ASP.NET 和 Windows.Forms 三大应用 API,使得为 Linux 平台迁移大量的网站、
客户端程序和数据库应用程序成为可能。
     作为开发平台,Mono 平台的两大致命缺点是,缺乏有效数据库方案集成和开发工具集
成。
缺乏集成数据库支持,是一个致命弱点。虽然灵活的中立

API 可以使得开发人员灵活的选择

数据库,但是,作为平台提供商,要铭记一点,那就是,数据是软件的命脉,程序只是表
达工具,一个开发平台所展示给开发者的蓝图是处处离不开数据库的。
一个平台应该考虑提供两种数据库解决方案,一个是基于文件的无服务器的方案,另一个
是基于服务器

/客户端的方案。Microsft.Net 平台推广的就是 Access 和 SQL Server,Access 

作为桌面数据库,是非常成功的产品。借助

VBA 可以将 Access 数据库的能力发挥到极限。

是否记得,在

ASP/ADO 时代,当 ASP 还很流行的时候,那时我们用的是托管主机,我们

经常费尽心思保护我们的数据库;

Sql Server 扮演了另一个角色,Sql Server 一直是微软数

据中心战略的核心,虽然微软的平台以优秀的可扩展性著称,但是谁愿意为其他数据库花
时间手动开发数目巨大的代码呢。因为客户需要,微软提供了

SSCE,使得 Sql Server 也可

以胜任桌面数据库便利性和部署的要求。移动版本的数据库就得依靠

Sql 减缩版了,这不是

SSCE 所指的那个版本。不要忘记了微软已经不再开发新版的 Visual Foxpro 了,我个人非常
喜欢

Visual Foxpro,作为数据库,它提供的程序设计功能要比 VBA 更合适,并且数据库系

统的性能和功能也比

Access 好的多;作为编程平台,它和数据库的结合比任何其他方案都

更紧密,更易于操作。微软之所以放弃了

Visual Foxpro,是因为微软不想让自己数据库方案

混乱的状况继续下去,一个桌面数据

Access 和一个服务器数据库 Sql Server 完全满足自己

的平台和市场战略。

.Net 方案从一开始就准备放弃 Visual Foxpro 在.Net 数据库战略一等公民

的权利,看看

.Net 对 Visual Foxpro 的支持就知道了,Access 完全是一等公民,应对中低端

的数据方案需求,至少从开发环境的支持上看是这样的。
      看看 Mono 平台,Mono 现在数据库平台的方案部署跟 Sun 公司当年的差不多,广泛使
用开源的数据库和驱动提供者,我觉的

Mono 平台对自己数据库方案的定位也是很明显的。

在低端使用

SQLite 数据库,这是一个性能优秀、定位明确,并且广泛使用的数据库,在高

端使用

Postgresql 数据库。.Net 平台的战略规划是微软做的,因此 Novell 必须找到一款能够

替代

Sql Server 的数据库,否则 Novell 必须依赖 Sql Server,那么 Mono 开源的招牌就说不

过去。
  在这里插上一段,首先,

Mono 是 Novell 公司的一个项目,旨在提供 Linux 开发.Net 程

序的框架,降低

Linux 应用程序的开发成本,由于 CLI(通用语言基础设施)、C#和其他.Net

的核心和基础部分都是符合

ECMA 规范的,因此,在版权上应该是不会出什么问题,但是,

关键的生产用

API,比如 ADO.NET、ASP.NET、Windows.Forms 都是微软私有的,因此微软

公司实际上卡住了一个核心部分,为了平息社团的争议,微软和

Novell 有一份和解协议,