当微软把.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。
分享到:
相关推荐
《iPhone高级编程:使用Mono Touch和.NET/C#》从基本的概念入手,全面地介绍了基于monotouch使用C#/.net进行iphone应用程序开发。从monotouch和.net开发环境到objective-c和c#开发语言,从基于monotouch进行iphone...
C#移动开发应用实战 使用Mono for Android和.NET C# 中文版
C#开发Android应用实战 使用Mono for Android和.NET C#(美)麦克卢尔 清华大学出版社出版
C# Android 《C#开发Android应用实战 使用Mono for Android和.NET C#》
iPhone高级编程 使用Mono Touch和.NET
mono2.4源码,不知道怎么看ms.net源码,但mono是个不错的选择
MONO实现.NET程序脱离框架运行
C#开发Android应用实战——使用Mono for Android和.NET/C#(移动与嵌入式开发技术)是一本很不错的书籍,但网上下载的多是不完整的。该版本是完整版。希望对大家有所帮助。
iPhone高级编程-使用Mono Touch和.NET C#(移动与嵌入式开发技术,PDF中文扫描版,吾乐吧软件站)
[分卷2]C#开发Android应用实战 使用Mono for Android和.NET C# 解压的时候,也要把第一卷给下载下来,在我的资源中就存在,而且都是免费的。希望大家多多支持!
《C#开发Android应用实战 使用Mono for Android和.NET C#》源码
这几天看了很多关于脱离框架运行C#程序的文章,千篇一律,都是讲飞信方案的,此方案涉及一些法律问题,只能自己研究...如果你机子上装有.net框架,你当然可以直接运行此程序,或者用bat来运行也可以,效果是不一样的。
CentOS 5.1下跑Mono和Asp.net的实现方法分享.docx
Mono.ASP.net.vNext Mono.ASP.net.vNext playgorund链接参考ASP.net vnext地点视窗 %USERPROFILE%\.kre%USERPROFILE%\.kpmKRE_HOME=C:\Program Files\KRE;%USERPROFILE%\.kreMac + Linux ~/.kre~/.kpm日志2014-...
一个用mono脱离.NET框架实例。。。。。。。。。
Professional Android™ Programming with Mono® for Android and .NET/C# John Wiley & Sons, Inc.
该图像包含在 Mono 上使用 ASP.NET vNext 项目所需的一切。 要求 码头工人: : 运行 Docker 镜像 要运行映像,请按照下列步骤操作: docker run -i -p 5000:5000 -t akoeplinger/mono-aspnetvnext /bin/bash 。 这...
基于Ubuntu下Mono+Nginx环境Asp.Net的部署一条龙方案,包含问题解决办法等。 一、所需材料 Windows 10电脑 SQL Server Management Studio VMware Workstation Ubuntu 16.04 Xshell 6 Xftp
这是第二部分,之前的是第一部分总共分为三部分!
Microsoft.Net和Mono.Net,并不是“同一个.Net”,它毕竟是“两套不同的.Net”。虽然这两套.Net之间绝大多数特性是可互相兼容、可互相移植的,但依然有一些特性,要么是Microsoft.Net具备而Mono.Net不具备,例如WPF...