.NET跨平台初体验

我的个人观点:

我觉得C#是最优美,最万能的编程开发语言,这种观点一抛出或者会引发不少程序员的口水战,当然这只是我个人的观点,没有必要去改变影响其他人的观点,其他人也没必要反驳我,我的这个个人观点只是代表了我对这种C#的喜爱,由始至终!

为什么说C#是最万能的语言,因为我觉得它是至今为止好多平台,好多方向都能用它开发,就拿我自己亲身接触过的来说,C#能XMargin Mono开发三大主流移动平台IOS、Android、WP就更不用说了,如果谈到Unity更是推动了C#的发展,如果不是Unity,估计市面上不是很多的C#岗位,Unity能开发多种平台的应用更不用多说了,除了这些客户端,C#还能借助Mono运行在Linux、OS X平台上,也就是说C#不仅仅能做PC客户端的开发,还能做嵌入式平台(.NET的STM32的移植)或者说服务器端开发,所以说Mono是将C#推向了极致,微软应该感谢Mono的作者Novell组织对C#所做的贡献。一直以来很多新手或者程序一直在比较Java、C#谁更好,我感觉这两个语言真的太相似太相似了,如果掌握了其中一者,切换到另外一种语言,可以说顶多只要一周时间,我翻看了一本Java语言的书籍,从头到尾我感觉把Java换成C#估计大多数也都能行得通,两者语言相互参考,比如java有什么框架,C#也会有对应的N开头的框架,为啥国内Java的岗位比C#多,不代表C#没java好,我认为两点导致的,第一是:Java发展的早,发展的成熟,一些企业早期都是用的Java开发的平台或者系统,第二是:Java的开源社区做的好,微软一向是“固步自封”,但这一点也一定程度上阻碍其发展,当前现在庆幸的是微软已经有了开源意识。我相信C#也会发展的越来越好,我也庆幸我选择的这一方向。


C#/.NET跨平台测试效果图

- **VS2015已经将XMargin加入了进去了,也就是能用VS开发Android、IOS应用

- **C#开发的应用程序直接能运行在Linux平台

基于C#PB协议的程序运行在Linux跟Winform通讯效果

C#控制台以及窗体应用程序在Linux上运行的效果

C#开发的两种主流的手机平台的应用


Linux配置C#/.NET运行环境

这一点,腾讯大牛,微软MVP,.NET中国先驱张善友大神早就对这方面有过很多共享,写了大量的文章关于这一方面的,可以参考他的文章,有非常多非常多值得学习的地方。

昨晚折腾到凌晨终于配置了外网环境,从购买云服务器到最终的配置调试完成,距离我个人想成为独立开发者的梦想跨越了一大步,不再是仅仅的本地虚拟机玩玩的态度。刚开始做这个工作的时候,一直受到同学朋友不支持的态度,可能也是因为我并没有做出什么事情出来,当然我有我的计划和梦想,只要是我想做的,我一定坚持的把他做好!最近报名了一个独立游戏开发者的大赛,等到最终做完我也将会开源我的客户端服务器端的项目代码,为所有有梦想的人更快的实现自己想要做的事情。


配置环境

Ubuntu10.04+libgdiplus-2.10+mono3.2.3

  1. 打开终端
  2. 更新一下系统
    1. sudo apt-get update
    2. sudo apt-get upgrade
  3. 构建编译环境
    1. sudo apt-get install build-essential
    2. sudo apt-get install automake autoconf
    3. sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev
  4. 安装libgdiplus 、mono以及编译环境所需要的其它库文件(这一步必须有,不然在后面的make时会报错误)
    1. sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg62-dev(或libjpeg-dev)
  5. 源文件下载与解压

    如果想安装最新版本的,请先查看最新版本号,分别替换版本号即可

    http://download.mono-project.com/sources/libgdiplus

    http://download.mono-project.com/sources/mono

  6. 安装
    1. cd libgdiplus-2.10
    2. ./configure –prefix=/usr
    3. sudo make
    4. sudo make install

      ./configure –prefix=/usr 检查系统是否缺少必要的lib,如果缺少,则 sudo make 时会报错,这时生成的Makefile是不能通过的

      使用第3步如果安装未成功,可以使用,后面添加所需的包名称

      sudo apt-get install build-essential libjpeg8-dev libpng-dev libtiff-dev

      安装成功后重新执行 ./configure –prefix=/usr

  7. 安装Mono
    1. cd mono-3.2.5
    2. ./configure –prefix=/usr
    3. sudo make
    4. sudo make install

      缺少lib文件时

      ./configure –prefix=/usr

  8. 通过以上步骤后可以通过 mono -V 查看mono版本的方式验证是否成功

    注:Linux DotNET中文社区网址: http://www.linuxdot.net



欢迎关注我的围脖

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243

Unity QQ群:375151422 cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-07 15:31:02

.NET跨平台初体验的相关文章

"xaml+cs"桌面客户端跨平台初体验

"Xaml+C#"桌面客户端跨平台初体验 前言 ??随着 .Net 5的到来,微软在 .Net 跨平台路上又开始了一个更高的起点.回顾.Net Core近几年的成果,可谓是让.Net重生了一次. ??Asp .Net Core跨平台解决了Windows服务器昂贵的费用和不能长时间待机的问题,让Asp程序能够跑在Linux甚至Mac上.从博客园里.Net分类可以看到,每天都可以涌现大批Asp .Net Core的技术文章,越来越多的开发者或者公司开始尝试这个船新的跨平台框架. ??然鹅,

asp net core 跨平台初体验

标: 在 ubuntu 16.04 上部署一个 asp.net core 站点,打开网站后显示一段文字. 安装 net core 运行环境:ubuntu 16.04 LTS 1.添加 apt 源 依次执行三条命令 sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotne

【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验

----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafka初体验 2.1 环境准备 2.2 Kafka小试牛刀 2.2.1单个broker初体验 2.2.2 多个broker初体验 2.3 Kafka分布式集群构建 2.3.1 Kafka分布式集群构建 2.3.2 Kafka主题创建 2.3.3 生产者生产数据 2.3.4消费者消费数据 2.3.5消息的

Xamarin.iOS开发初体验

Xamarin是一个跨平台开发框架,这一框架的特点是支持用C#开发IOS.Android.Windows Phone和Mac应用,这套框架底层是用Mono实现的. Mono是一款基于.NET框架的开源工程,包含C#语言编译器.CLR运行时和一组类库,能运行于Windows.Linux.Unix.Mac OS和Solaris.对于.NET程序员来说,Xamarin是走向安卓.iOS.Mac跨平台开发的神器,不仅能用熟悉的C#来开发,还能使用Visual Studio作为IDE.本文内容是Xamar

SmartFoxServer初体验

SmartFoxServer 是专门为Adobe Flash设计的跨平台socket服务器,让开发者高效地开发多人应用及游戏. 该服务器主要用来创建多玩家游戏.并提供强大的制作工具,各种回合制游戏和实时游戏都可以胜任. SmartFoxServer 支持的播放器从Flash player6版到最新的Flash Player 9,并提供丰富的Actionscript 1.0, 2.0 and 3.0 APIs,同时也支持 Flex Builder 2 and 3. 该产品带有详细的帮助文档, 大约

Mac OS 下 Visual studio code初体验

Mac OS 下 Visual studio code初体验 随着微软开源策略的一步步推进,终于等到了跨平台的Visual Studio Code.作为一名使用MacBook 的.NET程序猿,不得不说是一种福音.(尝试过使用Xamarin/Eclipse/IDEA在Mac下编辑.net源代码,用起来都不是特别的爽.) 一下就在mac系统上搭建开发环境的过程简单的整理一下. 依赖的环境 mono 4.0.1 dnvm/dnx https://github.com/aspnet/home nodj

Docker深入浅出系列 | 容器初体验

Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方文档,本章目标如下: 了解什么是Docker 了解Docker解决了什么 了解什么是镜像和容器 了解容器与虚拟机的区别 了解Vagrant与Docker的区别 了解Docker引擎和架构 了解Docker的镜像分层 了解VirturalBox和Do

erlang 初体验

最近测试了一下 erlang的坑... 如不出意外.... 大家第一眼看到这语法... 心里第一句一定是"我擦.这TM都是啥!!!!!" 没有变量!!! 没有结构体!!! 没有循环!!! 好吧,至少我是这样想的. 找了半天..连个if也不知道怎么写.. 这记录一些基本常识.. -module(module_name)  %%定义模块 括号内的要和文件名相同. -export([fun1/1 fun2/2]) %%这里是导出2个函数对外使用  函数名/参数名. 一个简单的函数定义如下 f

linux初体验

第一次听到linux这个'词语'是在一次偶然的朋友聊天中朋友提到的,之前压根没听到过'这个东西',所以我可以说是个linux的新新手,菜鸟都不算. 截至到目前,我已经开始linux系统运维学习有差不多10天时间了.在没接触linux之前,我对它的认识仅仅是:它是个计算机系统.决定学习linux系统运维之前,自我以为运维应该是对系统的一些日常维护之类的,不会很难的东西,我更希望运维是个不难的东西,我个人很笨,对难的东西可能接受的很慢,所以我愿意认为运维是很简单的,这样我就可以轻轻松松的掌握运维相关