玩玩Xamarin Evolve 2016带来的新特性(二)-Xamarin.Forms Previewer
2016-05-01 00:01
239 查看
编者语:五一假期的第一天上午很开心和.NET FM 做了一期Xamarin Evolve 2016的主题,录了大概2小时很开心,很久没有聊技术聊这么久了。估计在节后大家可以收听到。今天说说在Evolve 2016的另一个大招Xamarin.Forms Previewer.
Xamarin.Forms发布都有差不多两年的时间了,这个通过Microsoft的XAML去完成一次编写生成iOS/Android/Windows的界面解决方案让XAML有了更加广的使用领域。下面是一个最能代表Xamarin.Forms的图,对于架构Xamarin.Forms项目有很重要的参考意义。
![](https://img-blog.csdn.net/20160430220135080?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
移动设备三大平台虽然平台界面的呈现方式和使用方式都有不同,但是都有相同之处,Xamarin.Forms就是基于这个原则把界面的描述方式统一起来。
![](https://img-blog.csdn.net/20160430220809629?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Xamarin.Forms的编写方式有两种,你可以自己写XAML也可以直接写代码。但是在Evolve 2016之前写Xamarin.Forms由于没有预览功能,你需要看效果估计得去运行模拟器/真机。这大大影响了开发效率,这对于标榜跨平台开发效率的Xamarin有不少质疑的声音,当然在社区有不少人说希望有可视化编辑器。这就和大家希望有iOS emulator for Windows一样。
Xamarin.Forms Previewer在Evolve 2016上发布,在情理之中也在情理之外。微软收购Xamarin后,我就很期待Xamarin.Forms整合进Microsoft Blend,也预计到会有可视化编辑器。但这么快就出来,真的很棒啊!因为这对于Xamarin在和其他跨平台技术的竞争中处于更加有利的位置。
这次公布的Xamarin.Forms Previewer只有Mac的版本,但你有足够的理由去期待Windows的版本,因为Microsoft Blend在XAML上的造诣不是菜啊!!
补充一下你需要使用Xamarin.Forms Previewer需要在Alpha频道升级并在Xamarin.Forms 2.3 上进行。当创建Xamarin.Forms时项目带上的不是这个版本,由于Xamarin.Forms 2.3是一个预览的版本,你需要在Nuget下载(记得勾选show pre-releases package)
![](https://img-blog.csdn.net/20160430224228518?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意:我不知道为什么Xamarin Studio 6.1没有了Nuget的地址,所以你必须重新添加。打开Xamarin Studio 6.1 -> Perferences->Nuget->Sources 添加
![](https://img-blog.csdn.net/20160430223820110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
有个细节,当你引入XAML后需要对Android项目进行编译才会有预览界面。否则会出现下面提示:
![](https://img-blog.csdn.net/20160430225200929?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
编译后重新打开XAML就可以开始进行预览界面了,你可以看到iOS/Android的界面呈现方式,也可以调整是在手机上还是在平板上的呈现方式。对比起以往好多了,少少遗憾就是暂时不支持控件拖拽。也就是说你还是需要写XAML代码,呵呵!!一步步来吧!这让我更期待下一次更新了。
![](https://img-blog.csdn.net/20160430234909029?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
由于Previewer在一个初期预览的阶段,还有很多的不稳定性,我这里就先不作更具体的操作了。但是有一点可以肯定的是在并入微软后,Previewer会有更大的提升空间。
这里还是得谈谈在Xamarin中你是用原生界面构造方式还是用Xamarin.Forms的问题。如果你只是简单地做数据列表或者是做一些简单的操作那Xamarin.Forms还是很满足你的。但如果你的app有很多界面的交互时现阶段你还是老老实实用原生界面做更有效率。Xamarin.Forms更适合一些企业的解决方案,消费类的app不太合适。所以在技术选型上,建议多思考。我也乐意和大家交流!
好,说到这里明天见!
Xamarin.Forms发布都有差不多两年的时间了,这个通过Microsoft的XAML去完成一次编写生成iOS/Android/Windows的界面解决方案让XAML有了更加广的使用领域。下面是一个最能代表Xamarin.Forms的图,对于架构Xamarin.Forms项目有很重要的参考意义。
移动设备三大平台虽然平台界面的呈现方式和使用方式都有不同,但是都有相同之处,Xamarin.Forms就是基于这个原则把界面的描述方式统一起来。
Xamarin.Forms的编写方式有两种,你可以自己写XAML也可以直接写代码。但是在Evolve 2016之前写Xamarin.Forms由于没有预览功能,你需要看效果估计得去运行模拟器/真机。这大大影响了开发效率,这对于标榜跨平台开发效率的Xamarin有不少质疑的声音,当然在社区有不少人说希望有可视化编辑器。这就和大家希望有iOS emulator for Windows一样。
Xamarin.Forms Previewer在Evolve 2016上发布,在情理之中也在情理之外。微软收购Xamarin后,我就很期待Xamarin.Forms整合进Microsoft Blend,也预计到会有可视化编辑器。但这么快就出来,真的很棒啊!因为这对于Xamarin在和其他跨平台技术的竞争中处于更加有利的位置。
这次公布的Xamarin.Forms Previewer只有Mac的版本,但你有足够的理由去期待Windows的版本,因为Microsoft Blend在XAML上的造诣不是菜啊!!
补充一下你需要使用Xamarin.Forms Previewer需要在Alpha频道升级并在Xamarin.Forms 2.3 上进行。当创建Xamarin.Forms时项目带上的不是这个版本,由于Xamarin.Forms 2.3是一个预览的版本,你需要在Nuget下载(记得勾选show pre-releases package)
注意:我不知道为什么Xamarin Studio 6.1没有了Nuget的地址,所以你必须重新添加。打开Xamarin Studio 6.1 -> Perferences->Nuget->Sources 添加
有个细节,当你引入XAML后需要对Android项目进行编译才会有预览界面。否则会出现下面提示:
编译后重新打开XAML就可以开始进行预览界面了,你可以看到iOS/Android的界面呈现方式,也可以调整是在手机上还是在平板上的呈现方式。对比起以往好多了,少少遗憾就是暂时不支持控件拖拽。也就是说你还是需要写XAML代码,呵呵!!一步步来吧!这让我更期待下一次更新了。
由于Previewer在一个初期预览的阶段,还有很多的不稳定性,我这里就先不作更具体的操作了。但是有一点可以肯定的是在并入微软后,Previewer会有更大的提升空间。
这里还是得谈谈在Xamarin中你是用原生界面构造方式还是用Xamarin.Forms的问题。如果你只是简单地做数据列表或者是做一些简单的操作那Xamarin.Forms还是很满足你的。但如果你的app有很多界面的交互时现阶段你还是老老实实用原生界面做更有效率。Xamarin.Forms更适合一些企业的解决方案,消费类的app不太合适。所以在技术选型上,建议多思考。我也乐意和大家交流!
好,说到这里明天见!
相关文章推荐
- 监听应用的启动
- Ubuntu /home下中文目录如何修改成英文?
- 每日安全资讯:360 浏览器批准 Google 六项入根申请
- Shell脚本的条件控制和循环语句
- JavaScript中的继承之类继承
- JS实现左右无缝轮播图代码
- Bootstrap进度条组件知识详解
- Bootstrap媒体对象的实现
- 杜蕾斯3小时100人啪啪真人秀,给我们6个启示!
- 玩转市场心理学 | 如何做用户感兴趣的活动
- 三个非典型产品经理的职场故事
- 阿里文化体系是怎么一步步“长”出来的
- 透视GMIC 2016:移动互联网的三个重要转折点
- 这大概是最全的短视频网红行业研究了
- 薛蛮子:真正的风口,我知道也不告诉你,自己偷偷投!
- 总说“实话”的人,情商很低
- 学习Spring(九) -- Spring使用AOP
- 快递问题, 这个算不算盗窃
- 38- Majority Element
- 2016 UESTC Training for Data Structures C - 卿学姐与诡异村庄 并查集