`
pcajax
  • 浏览: 2157256 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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。

分享到:
评论

相关推荐

    Json.net在后台对Json序列化和反序列化

    4. **LINQ to JSON**:Json.NET还引入了LINQ to JSON,它允许你使用LINQ查询JSON结构,提供了与操作XML类似的API。 5. **Json.NET性能**:与其他.NET内置的JSON序列化工具相比,Json.NET在速度和内存效率方面表现...

    visual c#.net网络核心编程

    错误处理和异常处理是任何编程领域都不能忽略的部分。在C#网络编程中,我们需要学会正确处理IOException、SocketException等网络相关的异常,确保程序的健壮性。 最后,网络编程往往涉及到跨平台的问题。C#的Mono...

    Newtonsoft.Json c# .net解析json利器

    支持多种.NET平台,包括.NET Framework、.NET Core、Mono和Unity,以及.NET Standard,这意味着无论你在哪个平台上开发,都可以享用到它的强大功能。 9. **版本兼容** 包含的`Newtonsoft.Json2.0.dll`和`...

    .net开发中几个重要的认识误区小结

    随着.NET的普及,越来越多的程序员开始接触并使用这一技术。但是,在.NET的开发中,存在着一些认识上的误区,以下将对这些误区进行详细的解释和分析。 首先,一个常见的误区是认为.NET程序在第二次运行时会比第一次...

    NewtonsoftJson

    2. **动态JSON操作**:Json.NET允许使用C#的动态类型来操作JSON,这意味着你可以在运行时解析JSON而无需预先定义数据模型,提高了开发的灵活性。 3. **LINQ to JSON**:Json.NET提供了LINQ to JSON API,使得开发者...

    PetaTest:PetaTest很小,但是功能强大,可嵌入,无依赖项,适用于.NET和Mono。

    使用属性,将任何测试标记为活动,其他所有测试都将被忽略-在开发和调试期间,当您只想运行一个测试时,效果很好断言-大多数通常的嫌疑人,易于扩展堆栈跟踪-如您所料源代码摘录-在报告中查看引发异常的确切代码行...

    Newtonsoft.Json

    Json.NET是由James Newton-King开发的一个开源项目,它提供了全面且高性能的JSON序列化和反序列化功能,支持.NET Framework、.NET Core、Mono以及Unity等多种.NET平台。这个库不仅包含了基本的JSON操作,还提供了...

    mono_test

    它支持C#、VB.NET等语言,但在这个上下文中,由于标签是"JavaScript",我们可以推断这里的"Mono"可能是指的其他含义,比如可能是项目名的一部分或者是某种特定的开发模式或技术。 JavaScript是一种广泛应用于Web...

    Newtonsoft.Json:Json.NET是用于.NET的流行的高性能JSON框架

    Json.NET不仅支持.NET Framework,还兼容.NET Core、Mono以及Unity等跨平台环境。 在C#编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web服务和客户端之间的数据传输。Json.NET...

    Newtonsoft.Json-10.0.3

    在软件开发中,序列化和反序列化是数据交换的关键环节,而Newtonsoft.Json则是.NET平台上广泛使用的JSON处理库,其10.0.3版本更是备受开发者青睐。本文将围绕这个版本的源代码,深入探讨其核心功能、设计理念以及...

    NewtonsoftJsonDll.rar

    总结来说,Newtonsoft.Json.dll是.NET开发中不可或缺的工具,无论是进行简单的JSON转换,还是处理复杂的JSON数据结构,都能提供强大的支持。在处理JSON数据时,掌握Json.NET的使用技巧,无疑会提高开发效率和代码...

    Newtonsoft.json组件

    这个组件不仅能够将.NET对象转换为JSON字符串,还能将JSON字符串解析成.NET对象,极大地简化了开发人员的工作。 **二、主要功能** 1. **序列化与反序列化:**Json.NET提供`JsonConvert`类,可以将.NET对象序列化为...

    ChabStandard:.net标准的Chab端口

    首先,.NET Standard是一个规范,定义了一套API集合,这些API可供所有.NET实现(如.NET Framework、.NET Core、Mono、Xamarin等)遵循。它的出现使得开发者能够在不同的.NET平台上使用相同的基础类库,极大地提高了...

    Newtonsoft.Json.dll 和ServiceStack.Text.dll

    3. **跨平台支持**:除了.NET Framework,还支持.NET Core和Mono。 4. **C#语言特性支持**:如枚举、日期时间、泛型等,能够很好地映射到JSON。 5. **简单API**:提供简单的`JsConfig<T>.ToJson()`和`.FromJson()`...

    CSMatIO.zip_C#读取mat文件_MLEmptyArray_mldoub_net文件mat_读取 .mat文件

    总的来说,通过使用适当的库和理解MATLAB数据类型在C#中的表示,你可以有效地在.NET环境中读取和操作.mat文件,包括处理空数组(MLEmptyArray)和双精度数组(MLDouble)。这极大地扩展了.NET应用程序的数据处理能力...

    newtonsoft.json.dll_downcc.zip

    Newtonsoft.Json 是由 James Newton-King 创建的一个非常流行和强大的库,它支持.NET Framework、.NET Core 及 Mono 平台。 关于 Newtonsoft.Json 库的知识点包括: 1. **序列化与反序列化**:该库的核心功能是将 ...

    Json Net9.0.1 And Demo

    在Unity中使用Json.NET时,需要注意的是,由于Unity的 Mono runtime环境,可能需要将Json.NET的版本与Unity兼容的版本匹配。在这个例子中,使用的是9.0.1版本,这是一个较旧但经过广泛测试的稳定版本。 在压缩包的...

    Xilium.CefGlue 示例整合最新的chromium

    - `build-mono.cmd`, `build.cmd`: 这些是构建脚本,用于编译和打包 Xilium.CefGlue 项目,其中 `build-mono.cmd` 适用于 Mono 平台,而 `build.cmd` 适用于常规的 .NET Framework 环境。 - `normalize-line-endings...

    csharp-dotnet2-client-generated_csharp_Cshar_

    2. compile-mono.sh:这是一个Shell脚本,很可能用于在Linux或Mac环境下编译使用Mono(一个跨平台的.NET实现)的C#项目。这表明项目可能不仅限于Windows平台。 3. .swagger-codegen-ignore:这是一个Swagger ...

    newtonsoft.json.dll(32位64位_1.0到4.5.1所有版本).zip

    同时,它也适用于.NET Core和 Mono 平台。对于32位(x86)和64位(x64)系统,提供了对应的dll文件,确保了跨平台的兼容性。 3. 序列化与反序列化 Newtonsoft.Json.dll的核心功能在于能够轻松地将.NET对象转换为...

Global site tag (gtag.js) - Google Analytics