Fork me on GitHub

Mono 开发 (使用.NET技术的你,绝对不能忽略Mono)

当微软把.NET提交到ECMA/ISO成为公开的标准时,就表示.NET已经走向开放,不再只是微软专属的技术。当Mono 1.0正式发布时,也就等于是宣布开放成真了,.NET程序不用被局限在Windows平台上,Mono可以让.NET程序在Windows、Linux、MacOS X、Solaris、BSD等操作系统上面运行,至于硬件平台,Mono也已经支持32-bit和64-bit的x86、PowerPC、SPARC。Novell看到Mono的潜力,现在成为Mono背后最大的支柱。如果.NET是你现在所使用的技术,那么你也绝对不能忽略Mono。

Mono的优点不仅仅是跨平台,它更具有丰富的API。除了ECMA/ISO标准的CLI(Common Language Infrastructure)API之外,Mono也具有兼容于微软Windows Forms、ADO.NET、ASP.NET的API,和Mono自己的GUI API(Gtk#)。许多人也纷纷加入Mono的阵营,以Mono为基础,将许多既有的动态链接库包装成.NET版,例如:GdaSharp(源自GNOME Data Access,作用类似ADO.NET)、Cocoa#(源自MacOS X Cocoa)、X Sharp(源自X Windows)、Qt#(源自Qt)、Sharp WT(源自Java SWT)、wx.NET(源自wxWidgets)、CsGL(源自Open GL)、C#-SDL(源自SDL)、GeckoSharp(源自Mozilla Gecko)。Mono还有一个整合许多API的计划,称为Tao Framework。Tao整合了Cg、DevIL、FreeGLUT、GLFW、GLU、OpenAL、OpenGL、SDL、WGL。

Mono也有许多工具。MonoDevelop是一个类似Visual Studio的开发工具。Stetic是Gtk#的GUI设计工具。除此之外,还有Debugger工具、测试工具。

有许多语言已经有提供兼容于Mono的编译器,这些语言包括了:C#、Java、Boo、Nemerle、Visual Basic.NET、Python、Java Script、Oberon、Object Pascal、C、A#(ADA)、PHP、Kylix.NET、MonoLogo、Tachy(Scheme)。

Mono特别支持C#、Java、以及Basic,其中对Java的支持是通过IKVM。IKVM是一个在架构在Mono/.NET上的JVM。有了IKVM,许多Java程序就可以和Mono程序同时运行,甚至相互沟通。

看了上述的介绍,你应该能够体会到Mono现在的确是发展得相当不错。这几年我观察Mono的进展,我感觉到Mono进步的速度,其实是很快的,新版本源源不断地推出,目前最新版是1.1.13。我建议你现在就去下载Mono回来使用。如果想要很快地上手Mono,你可以阅读Edd Dumbill与Niel M. Bornstein所写的这本《Mono: A Developer’s Notebook》,薄薄的一本书,很快就可以读完。

《Mono: A Developer’s Notebook》共有八章。涵盖的内容包括:MonoDevelop、C#、Gtk#、ASP.NET、ADO.NET、Web Services。Mono的相关主题相当多,本书只有不到三百页,所以并未很完整地涵盖Mono的一切。

第一章说明如何在各个操作系统上安装Mono,并介绍许多Mono网站资源。第一章也介绍Mono的各种工具(mcs编译器、mono解译器、mint JIT编译器、monodoc文件、monop组件内视器、gacutil GAC处理程序)以及其它的相关工具(MonoDevelop IDE、NAnt、NUnit…等)。

第二章和第三章很简单地介绍C#的语法和Mono的基础API。如果你已经会C#和微软的.NET Framework,那么这两章其实价值不高。

第四章和第五章说明Gtk#,这是Mono特有的API,也是本书比较值得阅读的地方。第四章介绍GUI Layout的方式、对话盒、绘图、TreeView、数据拖放。  
    第五章是进阶的Gtk#内容,包括设定文件的读写、显示HTML内容、Help档案、I18N…等。

第六章和第七章介绍XML、网络、Remoting、ASP.NET、ADO.NET以及Web Services。第七章的重点在于:利用Mono来让Apache取代IIS以运行ASP.NET程序,由于ASP.NET一直是.NET诸多技术中最广为使用的技术,所以这章特别重要。

第八章介绍一些琐碎的主题,包括如何利用自动化的工具、如何写出跨平台的程序、如何使用IKVM、如何使用Basic。

这本书问世已经一年多了,由于Mono进步得很快,所以本书有一小部分的信息已经过时。但是整体来说,如果你想认识Mono,这很书依然可以帮助你很快地了解Mono。

 

posted @ 2006-03-10 22:05  张善友  阅读(17847)  评论(8编辑  收藏  举报