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

摘要:
Novell看到了Mono的潜力,现在成为Mono的最大支柱。如果.NET是您现在使用的技术,那么您永远不能忽略Mono。除了ECMA/ISO标准的CLIAPI之外,Mono还具有与Microsoft WindowsForms、ADO.NET、ASP.NET和Mono自己的GUI API兼容的API。Mono还计划集成许多API,称为TaoFramework。Mono特别支持C#、Java和Basic,其中通过IKVM支持Java。IKVM是一个基于Mono/的JVM。NET。Mono有很多相关的主题,而这本书只有不到300页,所以它并没有完全涵盖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。

免责声明:文章转载自《Mono 开发 (使用.NET技术的你,绝对不能忽略Mono)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#学习笔记(22)——C#创建文本文件txt并追加写入数据于win7使用虚拟磁盘隐藏文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 编译运行原理

  这里对C#程序的编译运行原理进行简单的总结,如有错误,欢迎指正。   通过VS编写的程序,F5就能执行,其中的过程又是怎样的呢,让我们先了解几个概念:   1 CSC.exe .Net Framework下的编译器   作用:将C#等源程序编译为程序集,程序集包括EXE文件或DLL文件   编译过程包括语法检查和源程序分析   2 MSIL CIL I...

JavaScript网页全屏API

在大多数的浏览器中都有实现网页全屏显示的功能,并且大部分浏览器实现全屏显示和退出全屏显示的快捷键通常是F11和Esc两个按键。如今,W3C已经制定了关于网页全屏显示的API,利用这个API 可以实现网页的全屏显示,并且还能将某个特定的元素设置为全屏显示,在各浏览器的兼容性:google chrome 15 +, safri5.1+,firfox10+,IE...

Android系统版本与API等级对应关系表

从Android官网拷过来的,方便查阅。。。 官网地址:https://developer.android.com/guide/topics/manifest/uses-sdk-element.html What is API Level? API Level is an integer value that uniquely identifies the...

基于laravel制作API接口

基于laravel制作API接口 关于APIAPI(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。需要注意的是:API有它的具体用途,我们应该清楚它是干啥的。访问API的时候应该输入什...

QQ一键登录功能的实现过程

QQ登录的思路: 当qq登陆成功后,QQ会给我们返回一个唯一的用户标识:openId,当用户授权QQ时,判断 if(已经有openId){ 跳转到登陆后的页面。 }else if(没有openId){ 跳转到注册页面->然后绑定->跳转到登陆后的页面...

利用Bing翻译API简单的实现一个翻译工具

常见的翻译服务提供商有Google和微软,它们的在线翻译地址如下: Bing翻译:   http://www.microsofttranslator.com/?FORM=R5FD Google翻译:  http://translate.google.cn/# Bing和Google除了提供在线翻译外,也提供了一系列API,方便开发者制作自己的翻译工...