博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual Studio 2015 移动跨平台开发初体验
阅读量:5334 次
发布时间:2019-06-15

本文共 1688 字,大约阅读时间需要 5 分钟。

原文:

微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发。

还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息。显然,Xamarin 得到了来自微软的大力支持,而微软则直接将 Xamain 融合进 Visual Studio 2015,以扭转它在移动领域的颓势。

也许你还担心这里面是否有大坑,是否还不够成熟,我现在还无法回答你,不过我相信微软和 Xamarin 会很快解决这些问题,尤其是微软,它有足够的动机去让 Visual Studio 2015 跨平台开发火起来。

所以,这只是时间的问题。

Visual Studio 跨平台开发,我认为非常的值得尝试,毕竟对于我们这个 .NET 起家的团队来说,去新组建 Android 和 iOS 开发团队的成本绝不少,而且团队这方面的技术积累也很薄弱。

如果你做过 .NET 和 Android 开发,那么看一下这个视频 https://xamarin.com/visual-studio,Wow,像不像 Windows Form 开发?终于可以解放生产力了!

Visual Studio 2015 支持几种方式开发跨平台移动应用:

使用 C# / F# 开发跨平台的 Android IOS WP 原生应用。 使用 Apache Cordova 框架开发基于 HTML 技术的跨平台应用。 使用 C++ 开发原生 Android 应用。 C# 开发跨平台

可以使用 C# 的几乎所有特性。 可以使用第三方 .NET 类库。 既可以分别为不同平台使用 Xamarin 提供的设计器设计原生 UI (所谓原生,就是使用的技术都是原汁原味的,只不过集成进了 Visual Studio 内)。 也可以使用 Xamarin 系统的方案,只需一份代码,就可构建跨平台的界面。 其它你想到的,现在几乎都可以做到,详见 Faq 。

实际体验了一下,因为 C# 更紧凑的语法加上 VS 的高度智能,比用 eclipse 开发效率高不少(eclipse 有些地方实在是太不智能了),项目的结构基本上和 Android Java 开发一致,从 Java 开发转过来会很顺利。

举个例子,我使用了 .NET 里的任务库开启一个异步线程,然后使用了第三方 JSON 库生成一段 JSON 后更新到界面上:

感受到了纯粹的 C# 开发体验,没做过 Java 开发的人可知道上面的 C# 代码要是用等同的 Java 写得有多啰嗦。

iOS 方面,和 Android 的体验差不多,不过部署和调试,需要通过网络远程连接到 Mac 电脑上。

目前 Visual Studio 2015 的跨平台应用开发,是基于 Xamarin,因此你需要安装 Xamarin 套件(安装过程需要下载很多包,需FQ,网络不太好的朋友,可以下载我已经传到网盘上的离线包,自己一个一个安装  )。

此外,Xamarin 也可以集成在 VS 2012 / 2013 中。

不过 Xamarin 是要收费的,虽然有免费版,但是有些限制,。

 

不过,BUSINESS 那个算下来每个月 514 元 RMB,注册一个账户后可以免费试用 30 天,而且一个账户可以用在两台电脑上(514 元买两份 License ?待确认)。

如果这个真的够成熟的话,比起招 Android 和 iOS 两组开发人员,还是划算不少的,并且我们团队中随便一个会 .NET 的人学习几天就能上手了。

 

Apache Cordova 跨平台

目前还没有试过,既然是 Apache 的顶级项目,应该还是靠谱的,后续如果有研究,我会更新的。

 

以上,我觉得不错,打算后续做一些跨平台的复杂点的例子,到时候给个反馈。

Xamarin Faq:

posted on
2015-05-11 17:21 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/4495085.html

你可能感兴趣的文章
core--线程池
查看>>
redux-effect
查看>>
Swift和OC混编
查看>>
Android轻量级的开源缓存框架ASimpleCache
查看>>
他山之石:加载图片的一个小问题
查看>>
shell - 常识
查看>>
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
查看>>
分层图最短路【bzoj2763】: [JLOI2011]飞行路线
查看>>
linux下编译复数类型引发的错误:expected unqualified-id before '(' token
查看>>
codeforces 1041A Heist
查看>>
字典常用方法
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
python的猴子补丁monkey patch
查看>>
架构模式: API网关
查看>>
正则验证积累
查看>>
Linux学习-汇总
查看>>
83. 删除排序链表中的重复元素
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
python中的__init__ 、__new__、__call__等内置函数的剖析
查看>>
Java中的编码
查看>>