Xamarin 免费且开源会对跨平台移动应用开发专业有什么影响

为什么Xamarin免费了,企业还选择React?
 作者: 田晓旭 编辑:
  【IT168&评论】对于程序员来说,“一次编写,到处运行”可谓是终极梦想。为了满足程序员这一梦想,很多工具或平台都有“跨平台”这一特性。今天我们就来聊一聊Xamarin和React Native。在开始正题之前,我们先为大家梳理一下Xamarin的最新动态。  日,微软发布公告称其收购了移动跨平台开发公司Xamarin,此次收购让微软一下子拥有了横跨Android、iOS、windowsphone三大平台的能力,也瞬间成为海内外开发者共同关注的话题。  微软负责业务的执行副总裁Scott Guthrie说:“我们与Xamarin有着长期的合作关系,我们将进一步推动这一工作,以便让我们世界级的开发者工具和服务更好地进行深度整合,从而为开发者带来无缝的移动应用开发体验。”  今年3月8日,Visual Studio 2017正式发布,微软也满足了广大开发者的心愿,在Visual Studio中整合了Xamarin,用户可以在Visual Studio中直接用C#语言为IOS、Android、Windows开发真正原生体验的应用。  Xamarin SDK作为.Net基金会的一部分将会逐步开源,在Evolve 2016大会上,微软宣布将Xamarin的运行时开源,的类和命令行工具也将在未来几个月陆续推出。  使用Xamarin直接用C#开发应用实现只用一种工具、一种主要编程语言即可完成跨平台应用的开发,对企业开发和程序员来说应该都是一件大好事,且C#从语言特性上来说也比Javascript(react native)和Swift(iOS)和Java(Android)好很多。那么为什么Xamarin已经开源免费了,企业在开发或者招聘时还会选择React Native?  笔者通过多方收集信息,总结出了以下原因:  1.资料较少,第三方库严重匮乏  笔者在查找资料时发现,大家几乎都会吐槽Xamarin的学习资源。的确,Xamarin除了官网之外几乎没有什么比较好的学习途径,中文资源更是少得可怜,相关书籍不仅数量少而且年份久远。  除了学习资源较少,第三方库也严重匮乏,知乎网友表示,“当你还在研究Xamarin的基础使用、类库绑定桥接、踩各种坑时,原生Android的插件化开发、热修复、各种丰富牛逼的类库框架已经很成熟了。”  资料和第三方库的匮乏导致了一系列的连锁反应,由于缺各种开源工具和库,导致程序员应用较少,缺乏经验,这样就导致了大公司不愿轻易尝试,没有更多的人才培养。  2.学习曲线陡峭,招聘难度大  继Visual Studio 2017发布之后,Visual Studio for Mac 也迎来了第四个预览版本,其中 Xamarin.Forms 预览器得到了增强增强,且新增和更新了开发模板。虽然,Xamarin在不断的发展,但想要只懂C#就写出还是有一定难度的,除此之外,Xamarin的生态圈离友好也还有一段距离。  对于Xamarin的招聘难度,笔者个人认为有一位网友的总结特别有趣到位,“会写JavaScript的人远比C#人多;会写JavaScript的人不仅可以会写前端,还会写Native R招一个会写JavaScript的人远比C#轻松。”  3.虽然有爹,但是这个爹有点不靠谱  万事万物都是一样,是否流行除了取决于自身实力,资金、渠道、宣传等等外部因素也是必不可少的。从历史来看,微软这个爹实在不能算是称职,从XNA、SliverLight、诺基亚等的命运来看,莫不是一看风头不对,掉头就跑。而相对来说,Facebook的大腿虽然没有微软粗,但至少还是比较靠谱的,知乎网友lucifron表示:虽然React现在还没有达到稳定,但是感觉微软的坑会更多,再加上React很早就已经是云养的孩子了。
IT168企业级260被浏览9652分享邀请回答3添加评论分享收藏感谢收起帮助企业打造成功软件!
热门搜索:
Xamarin——用C#轻松实现跨平台原生移动应用开发
Xamarin——用C#轻松实现跨平台原生移动应用开发
| 作者: |
10:23:21| 阅读 0次
概述:Xamarin Platform是Xamarin的旗舰级产品,Mono项目的一个分支,是全球知名的跨平台移动开发工具。开发人员可以用C#开发iOS、Android和Windows Phone原生应用程序,一次开发,多平台交付。
是Xamarin的旗舰级产品,Mono项目的一个分支,是全球知名的跨平台移动开发工具。开发人员可以用C#开发iOS、Android和Windows Phone原生应用程序,一次开发,多平台交付。由于Xamarin可直接开发出原生App,所以与其他跨平台方案相比,Xamarin更能发挥出各平台的功能与特性,且具有最佳的执行效能。
Xamarin 提供了Visual Studio
的插件,让原本就熟悉 Visual Studio 的开发者不用再熟悉其他的开发工具。在建立项目时,可直接建立 iOS 及 Android 的项目模板。&&
1、开发程序语言:Xamarin 以C# 作为开发程序语言,开发人员直接撰写C# 即可进行开发。
2、整合开发工具:Xamarin 提供整合开发工具 (IDE) Xamarin Studio,开发人员可直接于此工具上进行开发、除错、测试与仿真 等作业。Xamarin也针对Microsoft Visual Studio提供附挂套件 (Plug-In)。
3、跨平台开发框架: (Mono .Net Framework)Xamarin 提供开发框架,支持跨平台的功能实作 (cross-platform implementation)。
4、编译程序: Xamarin 具有各平台的编译程序,可直接编译为 iOS 与 Android 平台的机器码。
1、快速建立原生(Native)的行动装置应用程序:
透过 C#亲和且功能齐全的语言特性,搭配.NET Framework 的 Base Class Library(BCL)的便利性,让开发人员能以最高的生产力开发行动装置应用程序。目前 Mono 支持 C# 5.0 的语言规范,开发人员可以用Lambda Expression、LINQ 甚至是 Async/Await 的异步处理。
2、程序代码共享:
现行由 Objective-C 所开发的 iOS 应用程序以及由 Java 所开发的 Android 应用程序,无法达到程序代码共享。Xamarin 则是采用C#撰写,因此透过良好的设计,可以在不同平台间共享商业逻辑以及数据存取等程序,毋需重新撰写。除了省下重新撰写的时间成本外,对于版本维护及 一致性也有相当大的帮助。
3、与 Visual Studio 整合:
Xamarin 提供了 Visual Studio
的 插件,让原本就熟悉 Visual Studio 的开发者不用再熟悉其他的开发工具。在建立项目时,可以直接建立 iOS 及 Android 的项目模板。开发团队也可以将 iOS 及Android 的程序代码纳入到 ALM,使用 Team Foundation Server 进行版本及建置的管理。
4、确保第一时间更新:
Xamarin 对于 iOS 及 Android 的版本更新不遗余力,在 iOS SDK 5.0, 6.0 以 6.1, 都与 Apple 在同一天发表对应的 Framework 版本。7.0 也承诺会在同一天发表。而 Android 方面, Xamarin 甚至将 Android 的原始码, 从原本的 Java 改由 C#重新撰写,而且效能也得到大幅的提升。
5、原生的应用程序效能:
Xamarin 针对iOS及Android平台开发编译程序。将C#程序代码直接编译成ARM CPU的机器码。因此效能将与原生模式开发的应用程序相比,没有不同。而在Android 系统上,由于Xamarin 不使用Android的Dalvik 虚拟机,改为采用CLR,经测试其效能更甚于原生的应用程序。
1、全平台开发- Xamarin可以使用熟悉的C#来撰写iOS, Android, Mac及Windows 应用程序。
2、程序代码重用(Reuse) - 使用您最爱的C#及.NET函式库, 轻松使用第三方的Native Library及Framework。
3、智能输入- 开发应用程序时, 开发工具会侦测您输入的部份字母, 寻找对应的API并自动完成您的输入。
4、与Visual Studio 整合 在Visual Studio中建立, 建置, 除错以及部署。 还可以使用您喜爱的plug-in, 例如ReSharper. 以及与TFS整合。
5、原生的用户接口及效能 Xamarin 带给您高效能的体验并完整对应各个平台的Native API。因此透过Xamarin, 您所建立的应用程序可以完全发挥装置特有的性能。
6、UI设计 目前在Visual Studio 中已整合Android的UI设计功能, iOS的UI编辑目前仍需仰赖Xcode。但开发团队已经着手进行开发. 一起期待吧 !
下面这些企业也在用 Xamarin :
本文根据慧都控件网和Xamarin中文站整理
慧都控件|提供软件技术整体解决方案
云集全球三千余款优秀控件、软件产品,提供行业领先的咨询、培训与开发服务
企业QQ:|电话:023-
服务与支持
重庆 / 023-
北京 / 010-
400-700-1020
慧都旗下网站
慧都科技有限公司 版权所有 Copyright
100%正版软件
400-700-1020
<input type="hidden" id="url" value=""/>用VS2015中Xamarin开发跨平台APP的感受 - CSDN博客
用VS2015中Xamarin开发跨平台APP的感受
& & & &由于新项目需要开发APP,团队内部都是C#开发工程师,还需要考虑安卓和iOS两个版本,被安排学习VS2015里面的Xamarin.Froms开发。想起微软刚收购Xamarin后,大肆宣传Xamarin跨平台开发的牛&#36924;,自己本行又是C#,也就一头扎进去了。毕竟,去年刚发布时,Xamarin还要收费,价&#26684;对于个人开发者来说还不便宜。挺坑的,想来没几个人用过,或者会用收费的IDE吧,当时还因此自学原生安卓去了,好在时至今日免费了。学习一两个月Xamarin时间后,谈谈对微软这个跨平台开发一点个人看法吧。
& & & &Xamarin被微软收购后,集成到了VS2015中,不过也不够彻底,不会像WCF、 Silverlight一样直接安装完VS后就存在于VS当中。Xamarin需要另外安装,当然,微软的VS里面会有相应提示,以便引导你安装完毕。但你会遇到一些问题,比如谷歌服务器无法访问导致下载不了SDK,这个可以通过国内镜像地址来解决,我记得第一次安装时,还是花了15元翻出去下载后安装的,后面提示30天到期要收费,爷表示不能忍,果断卸了!另外,如果你不懂安卓,会很纳闷,毕竟VS一贯高度集成的安装体验,只需要你点击下一步就一切OK,等待完成安装了,这种体验在这里荡然无存,你得配置java环境变量,sdk,ndk路径等等,初次使用很是纠结。VS尽力了,毕竟不是自己的玩意儿,不配置这些,它怎么间接调用安卓需要的java环境来间接编译代码呢。所以初次配置安装环境确实没VS来的那么好用了。
安装占用情况:
& & & &安装完之后,有些刚开始接触的人把sdk全部下下来,加上VS2015自身占用的空间,C盘压力山大。而且,你会发现打开VS2015也比以前慢了不少,不及VS2012的急速体验。
说说开发中的一些情况吧:
& & & (1)xamarin断点调试有时进不去不好调:非常神奇,虽然概率也不高,不过非常影响你的开发心态,后面也就淡定了。
& & & (2)xaml界面代码看不到界面:这里是指Xamarin.Froms,用Xamarin单独开发安卓或者iOS,即Xamarin.Android和Xamarin.iOS是可以看到设计界面的,不过加载速度跟视图美观度比AS和Xcode是要差一些。单独的开发大致相当于换了个语法,其它跟原生差不多(先保留,iOS还未试过)。因为考虑到跨平台原因,Xamarin.Froms是用的xaml代替安卓xml绘制界面,有点像手机版的wpf。没有视图引擎,所见即所得的开发就不行了,你得运行起来才看得到效果,当然,熟练之后,直接写界面代码即可知道实现效果,跟你用熟了html不需要看视图一样。对于初学者,这点很是蛋疼。(更新,最新版的Xamarin.Froms可以看到界面了,所见即所得)
& & & (3)有些控件得自己重写:对,常规的如label、editbox都有,但checkbox这种比较常用的还需要重写。当然输入框控件为了在iOS和安卓保持统一样式,虽用不着重写实现逻辑,但需要重写下样式,毕竟两个系统对输入框的默认样式不同。
& & & (4)写页面跳转麻烦:Xamarin.Froms的页面跳转是指定当前显示页为哪个页面,这种方式没有页面堆栈,所以你按返回键就直接退出程序了。要实现像安卓原生那样,需要你自己写代码实现页面栈。当然,基于其衍生的框架或许有此功能。目前涉及未深,有知情者烦请告知一二。
& & & (5)压缩包无形中变大了:会的,他需要多安装两个东西,mono这些以便底层环境的转换,压缩包会大几M。
& & & (6)执行效率慢:很正常,毕竟要多个转换步骤,编译器编译会慢一点,因为在安装app之前还需要安装mono。实测我AS编译只有十几秒,xamarin.from开发的话一般需要1分钟左右,汗。。。 真机执行情况的话,安卓比原生慢一点点,iOS据微软说跟原生速度是一样的,这个涉及到底层代码执行机制问题。
& & & (7)支持库:无论是基于其的mvvmlight还是mvvmcross开发,跟原生差别比较大,最主要的是支持库少,你不可能全部自己写吧。当然,对牛&#36924;的人来说这是乐趣。
& & & (8)错误提示:有事会出现编译失败,但控制台输出却显示错误0,然后过一会儿编译又成功了的情况发生,或者重启电脑,又可以编译通过了。还出现这种情况,代码编辑区中部分代码下面显示红线报错,编译还是能通过的,希望你对自己代码自信点。自己也遇到过奇怪的报错,提示你修改什么配置,但这个配置只有在AS里面才能修改,VS根本这个选项都没有。
& & & (9)新特性难以及时支持:当安卓或者ios得到新的大更新时,Xamarin不一定得到及时更新,官方说的会自动同步更新,但实际。。。更新了不敢用啊,亲测更新了最新版,编译老是出问题,最后卸了装回了之前版本,原因可能还是在于各个IDE之间的不协调。
& & & (10)资料:Xamarin的支持库,资料都不较少,百度查找的解决办法少之又少,有些还是国外开发者的英文论坛,解决问题的难度比原生大了不少,有可能你是国内第一个遇到此问题的人。书籍?没几本,基本都是英文的,国内还没翻译版本出现。
& & & &当然,Xamarin也有优势的,比如跨平台,能够做到业务逻辑编写一次,各个平台都能调用。另外就是对于长期进行C#开发的人来说,语言上比较习惯。但对于直接调用服务端接口返回json结果的方式,实际没什么用,这部分逻辑都交给服务端了,还需要你将这部分逻辑代码,包含进各个不同系统的手机内部使用干啥。
& & & &总结:C#开发人员想靠Xamarin切入到移动APP开发有点尴尬,我这么说主要是基于初学者来说的,熟手无所谓了。有些高级特性难以实现,即使你实现的话,还是要学习原生安卓或者iOS开发,了解里面的机制。简单的APP可以用Xamarin,跨平台嘛,原先的C#人员也便于维护,不用再招人。初学者不考虑团队上的因素,建议学新的语言,你学安卓的话,开始上手花的时间多点,而用Xamarin是开始花的时间少,后面你花的时间可就多了去了。
& & & &上手不久,欢迎留言提供你的看法!后续博文,我也将继续更新Xmarin学习中的一点个人体会。
本文已收录于以下专栏:
相关文章推荐
上篇文章主要讲了用VS2015中Xamarin开发跨平台APP上手体验,时至今日,用Xamarin进行跨平台开发又有一段时间了,今天就具体开发过程中要面对的东西,说说开发感受。Xamarin.from...
前面总结了Xamarin.Forms开发跨平台APP的感受,今天说说几个关于Xamarin.Forms框架的bug吧。
(1)下拉刷新崩溃:目前Xamarin.Forms中的listview快速的下拉...
当听到微软开源了.net而且.net能支持安卓和IOS开发后,很是兴奋,不过今天安装测试了一下后,有点失落。基本上没什么创新,搞了一个嘘头而已。VS 2015支持C#开发IOS和安卓有两种方式:使用c...
Cordova是跨平台开发框架,提供了一组设备相关的API,移动应用能够以JavaScript访问原生的设备功能。
VS2015+Cordova+Ionic
1.安装ionic模版信息 【工具】-...
VS2015跨平台移动开发环境配置问题记录1.配置环境检查
1.1 VS2015-【工具】-【选项】-【用于Apache Cordova的工具】-【运行依赖关系检查器】
1.2 正确环境配置提示...
1. 聊聊移动端跨平台开发的各种技术
2. android中正确保存view的状态
3. iOS动画
4. Android基于Google Maps Lite的快速地图
5. OS X平台WWDC神器
最近更新了VS2015,发现以前一直使用的Publish Android APP菜单居然没有了,百度也没有结果,安装VS2017发现也是没有这个菜单的,后来去Xamarin官网看了一下,才发现打包发布...
上一個範例我們在Android 上用MVVMCross 與 PCL的架構來實作了一個範例,接下來,就準備把這個架構延伸移轉到Windows Phone 8
與Windows Store App上...
他的最新文章
讲师:王禹华
讲师:宋宝华
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案 txt免费下载_读后感_在线阅读_读书人图书资料库
微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案
&来源:读书人网&
本书系统介绍了微软新一代高效、跨平台的应用平台.NET Core 1.0。借助.NET Core,原本只能运行在Windows 上的.
微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案
微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案
本书系统介绍了微软新一代高效、跨平台的应用平台.NET Core 1.0。借助.NET Core,原本只能运行在Windows 上的.NET 应用可以运行在Linux、OS X甚至是UNIX上。结合微软的Apache Cordova 和Xamarin 等工具,可以构建从服务端到客户端的完整开源、跨平台的解决方案。本书主要内容包括微软“云+端”战略,革命性的ASP.NET Core,开源跨平台的设备端开发,项目介绍和需求分析,构建开发环境,构建实体模型,创建Web 网站,创建Web API,在Azure 上部署服务,AngularJS和Ionic Framework,使用Cordova开发跨平台移动应用,使用Xamarin开发跨平台移动应用等内容。本书详细论述了利用微软技术快速构建开源、跨平台的移动应用解决方案。本书并不限于仅仅介绍.NET Core 技术,而是向读者介绍如何将微软提供的一系列平台和技术串联起来,形成确切方案进而为用户解决实际问题。
网友对微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案的评论
喜欢微软开源跨平台移动开发实践:利用ASP.NET Core 1.0、Apache Cordova、Xamarin和Azure快速构建移动应用解决方案请与您的朋友分享,由于版权原因,不提供下载服务
(作者:李争 编辑:rapoo)
本文网址:
读书人精选

我要回帖

更多关于 移动应用开发框架 的文章

 

随机推荐