感谢MS, 感谢老纳.终于把 Xamarin 这个磨人的小妖精给收了,在也不用向大神要破解补丁了, 终于可以光明正大的使用了!!

跟据实践, 如果你们想体验一下 .NET 开发 IOS /Android APP, 不需下那个 7G之巨的 VS2015 WITH UPDATE 2 的 ISO, 下了也白下, 里面好像就没有包括最新的 Xamarin.

具体宣布免费使用的版本:

VS 社区版也同样享受这个福利! 所以别 BB说买不起 VS , 我前天花了几个小时, 把破解版换成了社区版, 反正高级功能基本上咱也用不了几下.

另外, 因为 Xamarin for Visual Studio 是独立安装包, 所以不一定非得是 VS2015 的, VS2013 社区版同样支持(我VS2013卸载很久了)

由于 GFW 的威力, 这些东西通过那个 XamarinInstaller 可能无法下载, 这时,你需要打开以下两个XML:

https://static.xamarin.com/installer_assets/v3/Windows/Universal/InstallationManifest.xml

https://static.xamarin.com/installer_assets/v3/Mac/Universal/InstallationManifest.xml
 
一个 WINDOWS, 一个 MAC 的, 就不用解释了吧, 缺少哪个东西,在对应的XML中搜一下,就可以找到下载地址.
 

如果你想偿试 Android

1,下载 Android SDK 安装器:
http://dl.google.com/android/installer_r24.4.1-windows.exe
 
2, 如果更新过程中, 不能忍受龟速, 可以参考:
 
3, NDK 可选, 自行搜索下载地址.
4, 下载 Xamarin for Visual Studio 就成. Xamarin Studio 不推荐使用.
5, Android 模拟器推荐使用 MS 的 Android 模拟器, 不过需要 Hyper-v 支持, 也就是说,必须是 WIN 8 以上的系统.
6, 准备好 android_m2repository_rXX 文件, 编译时, 如果在指定的目录下不存在该文件, xamarin 会主动从网络上下载该文件, 但是在 GFW 下, 99%是不能下载的. 具体放哪个文件夹,  编译失败时, 会告诉你.
具体使用哪些个版本的 m2repository , 根据你的 Android 项目的编译版本而定.
这些文件,各镜像站点一般都能下载的到. 具体自行搜索.
 
 
 

如果你想偿试 IOS

当前你还是需要一台 MAC, 虚拟机也成, MS Build 2016 上所说的 WIN 下的 IOS 模拟器现在还没有现身,现在只能期待一下.
Mono Framework / Xamarin.iOS 是必须的!
那个 Build Host 不需要了, 直接集成在 Xamarin.iOS 中了, 如果需要连接到 MAC 进行编译,你需要:
1, 打开 MAC 的远程登陆:
 
2, 设定可以远程登陆的用户:
3, 在 VS 中连接:
 
4, 连接成功时, 结果是这样的, 
 
如果没有出现 可选模拟器列表, 请检查你是否安装了 XCode, 及 Mac Agent 中, MAC 的连接状态为 已连接:
 
 

Form 还是 Native

说到跨平台, 大家一定都想不就是用 .NET 开发 Android / IOS APP吗?
但是 Xamarin 提供两种开发方式: Native 和 Cross-Platform
 
Native 开发, 做的事情和开发 IOS / Android 做的事情一毛一样! 只不过语法换成了 .NET
也就是说, 用 Native 开发 Android / ios ,你还是要做两套.
 
 
这里的 Cross-Platform 说的是: 一次开发, 运行在多个平台上 (ios / android / wp / uwp), 这个东西就是
Xamarin Forms ,
它的本质就是一堆 Renderer , 即各个平台把 Xamarin Forms 控件翻译成自己平台上的控件.
 
 
Portable 即 Portable Class Labrary , 简称 PCL, PCL 项目会编译成一个独立的DLL,
而 Shared 项目只不过是一个共享文件夹, 编译器会把 Shared 项目的内容编译到引用它的项目中.
 
一般把业务逻辑都放到 PCL 或 Shared 项目中, 因为这一部分是平台无关的!
另外一部分需要个性化的, 或者是自定义控件的 renderer , 都需要放具体的平台项目中去.
 
 

入门

如果用 Native 开发, Android 的,你应该找 Google , IOS 的,你应该找 Apple, 如果你找 Xamarin ,基本你离门是越来越远了.
如果是用 Xamarin Forms 开发, 官方的开发文档是最好的入门指引:
 
https://developer.xamarin.com/guides/xamarin-forms/getting-started/
 
如果你对 WPF 比较熟悉(虽然和 WPF 没有一毛钱关系), 入门还是挺容易的!
 
 

效率

1, 执行效率, 肯定比 H5 的流畅, 当然如果你菜的不行, 这条就当我没说.
2, 开发效率, 如果你是天才, 精通 IOS / Android 开发, 这条当我没说. 如果你只是个苦逼的 .NET 开发人员, 你 TMD 还等什么? 提升的机会来了!
 
 

正式版/免费版 Xamarin 体验与拥抱的更多相关文章

  1. Cocos2d-x v3.0正式版尝鲜体验【1】 环境搭建和新建项目

    Cocos2d-x v3.0在前天最终公布正式版了,等了大半年最终出来了.一直没去碰之前的3.0各种beta,rc版本号,就想等正式版出来再尝试. 昨天也參加了触控科技在成都举办的沙龙活动.看到作者王 ...

  2. Cocos2d-x v3.0正式版尝鲜体验【2】 Android平台移植

    今天没事又尝试了下3.0正式版关于Android平台的移植,把新建的项目移植了下.过程仅用了十分钟左右,什么概念?! 好吧,事实上我想说,这个版本号真的移植非常轻松啊,只是还没加上其它东西,只是就眼下 ...

  3. Cocos2d-x v3.0正式版尝鲜体验【3】 Label文本标签

    Cocos2d-x在新版本号中增加了新的Label API.和以往不同的是,2.x的版本号是通过三个不同的类来创建不同的文本标签,而如今是模仿着精灵的创建方式.一个类创建不同形式的文本,只是核心内容还 ...

  4. .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验

    .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验 .NET Standard 2.0 is final Broad platform support. .NET Standa ...

  5. 初次体验VS2015正式版,安装详细过程。

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...

  6. DEEPIN 2014 正式版 试用体验

    7月6日深度正式发布 Deepin 2014 操作系统,该系统是基于 Ubuntu 14.04 LTS 的 Linux 发行版,并搭载了多款深度开发的软件,更符合国人使用习惯.由于Deepin 201 ...

  7. 体验VS2015正式版

    初次体验VS2015正式版,安装详细过程.   阅读目录 介绍 安装 介绍    纽约时间7月20日,微软发布了vs 2015 正式版,换算到我们的北京时间就是晚上了,今天回到家里,就下下来了,装上去 ...

  8. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  9. Python 3.8.0 正式版发布,新特性初体验

    北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PEP 572: Assignment Expressi ...

随机推荐

  1. CSS之旅——第一站 为什么要用CSS

    不知道有多少码农和我一样,css一直是一个软肋,软到全身酥麻...既然软肋来了,只能是要想办法解决,所以就找本CSS权威指南看一看,都说 CSS权威指南这本书比较过时,但是内容还是比较充实的,而且内容 ...

  2. Druid 介绍及配置

    1. Druid是什么? Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. 2. 在哪里下载druid 正式版本下载:maven中央仓库: http://cent ...

  3. 0020 Java学习笔记-面向对象-变量

    变量分为哪些 成员变量:类里面,方法外面定义的变量 实例变量:没有用static修饰的变量,属于对象:存在期:创建实例-销毁实例:作用域:与该实例的生存范围相同 类变量:用static修饰的变量,属于 ...

  4. mysql学习笔记(一)

    my建表操作 创建表 create Table <表名> ( 字段名1,数据类型 [列级约束] [默认值], 字段名2,数据类型 [列级约束] [默认值], ... [表级约束], [co ...

  5. 优化SQL查询:如何写出高性能SQL语句

    1. 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条 ...

  6. [转]C#网络编程(基本概念和操作) - Part.1

    本文转自:http://www.tracefact.net/CSharp-Programming/Network-Programming-Part1.aspx 引言 C#网络编程系列文章计划简单地讲述 ...

  7. Semiautomated IMINT Processing Baseline System——翻译

    题目 半自动的IMINT(图像情报)处理基准系统 摘要 SAIP ACTD(半自动图像情报处理高级概念技术展示项目)的目的是,通过战略上的传感器采集,使图像成为指挥官掌控整个战场的主要源头.该采集系统 ...

  8. Java方法区和运行时常量池溢出问题分析

    运行时常量池是方法区的一部分,方法区用于存放Class的相关信息,如类名.访问修饰符.常量池.字段描述.方法描述等. String.intern()是一个native方法,它的作用是:如果字符串常量池 ...

  9. Java Web之Filter

    Filter被称为过滤器或者拦截器,基本功能就是对调用servler过程的拦截,在servlet进行响应和处理前后实现一些特殊功能.其实,Filter过滤器就是一个实现了javax.servlet.F ...

  10. POJ3463Sightseeing[次短路计数]

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8707   Accepted: 3056 Descr ...