对很多.NET粉,.NET Conf 2017的东西估计提前一个月都熟悉了,Xamarin粉估计最大惊喜不是Xamarin Live Player, 也不是Xamarin.Forms混合NativeControl ,而是Xamarin.Forms 3.0,因为它融入到 Linux平台. Xamarin.Forms 跨平台,一次编写生成原生界面是在跨平台移动开发中很大的优势。从1.0 诞生开始,用XAML构建多平台原生界面就成为了我项目中必不可少的,也是每次我演讲必讲的话题。
       
       如果说大家寄望Xamarin.Forms有更大的进步空间或者会是能更高效的编写界面,和融入更多的原生控件。在5月Build,Xamarin就满足了大家。而这次给大家更多的惊喜莫过于Xamarin Forms可以进入Linux Desktop,整合Gtk Sharp让你更快速的完成跨Desktop的开发。更可喜的是它不再是PPT上的东西,而是可以把弄的好玩具。
       
       我趁着这个周末,亲自玩了下Xamarin.Forms 3.0 ,把一些经验分享给大家.
       1.学习资料:

https://github.com/jsuarezruiz/forms-gtk-progress  这里是最官方的,也是最方便了解Xamarin.Forms.gtk的地方。现阶段Xamarin .Forms.gtk还在开发中,你通过这里可以关注更多咨询,也可以贡献一下代码。话说我也准备在这里做点贡献,将会在接下来的日子分享给大家了。
       https://github.com/jsuarezruiz/xamarin-forms-samples/tree/gtk  官方示例,是现阶段最好的教程。
       https://channel9.msdn.com/Events/dotnetConf/2017/T326  .NET Conf 2017介绍Xamarin.Forms 3.0 的视频
       2.开发环境
       在Linux上装好你的mono和MonoDevelopIDE(总有一天会叫Visual Studio for Linux), 如果你还不会,那就去http://www.mono-project.com/ 上面有教程。
       Nuget配置,由于现在Xamarin.Forms在很早的阶段,所以不存在在Nuget上,但你可以通过刚才提到的示例,做一个本地Nuget(Sample中Nuget 文件夹包含了Xamarin.Forms 3.0, Xamarin.Forms.GTK等新的包)。打开MonoDevelop通过Tools -> Add Custom Tool -> Nuget -> Source 引入。
       
       3. 开发,现在Windows/MacOS上创建一个Xamarin.Forms的项目(现在还不能在Linux上创建Xamarin.Forms项目,现在Xamarin.Forms.GTK项目还没有正式引入Xamarin.Forms的解决方案模版), 然后在Linux中打开,在创建好的项目中添加一个GTK#项目。
       
       并把Windows.cs和相关的User Interface文件夹对应的界面删除。

接下来把解决方案内的Xamarin.Forms替换成3.0版本(如果你刚才添加Nuget成功,你可以看到下图的引用),并对创建的GTK#项目添加Xamarin.Forms引用

最后要做的事是修改Program.cs

  1. using System;

  2. using Xamarin.Forms;

  3. using Xamarin.Forms.Platform.GTK;

  4. using XFGtk;

  5. namespace XFGtk.Linux

  6. {

  7. class MainClass

  8. {

  9. public static void Main(string[] args)

  10. {

  11. Gtk.Application.Init();

  12. Forms.Init();

  13. var app = new App();

  14. var window = new FormsWindow();

  15. window.LoadApplication(app);

  16. window.SetApplicationTitle("Hello GTK");

  17. window.Show();

  18. Gtk.Application.Run();

  19. }

  20. }

  21. }


        看了下结果,自我感觉良好。
        回头再看看项目还是熟悉的味道,C# , XAML , MonoDevelop . All it is cool 
        

相关文章:

  • “.Net 社区大会”(dotnetConf) 2017 Day 1 Keynote: .NET Everywhere

  • .NET Standard@Xamarin.Forms

  • 不可思议黑科技,Xamarin移动开发新时代

  • 是时候开始用C#快速开发移动应用了

原文地址:http://blog.csdn.net/kinfey/article/details/78078597


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

.NET Conf 2017后初尝Xamarin Forms 3.0@Linux相关推荐

  1. Xamarin.Forms 5.0 来了

    Xamarin.Forms 5.0 已经正式发布,并带来其新功能,具体看官方博客https://devblogs.microsoft.com/xamarin/xamarin-forms-5-0-is- ...

  2. Xamarin.Forms 5.0 项目实战发布!

    活动介绍 本次活动主要是 .NET Xamarin.Forms 移动端项目开发实战教程, 与以往相同, 本次的收入(其它部分会另行说明) 将用于社区公益活动, 不限于: 公益性质的个人/组织机构捐赠 ...

  3. 张高兴的 Xamarin.Forms 开发笔记:为 Android 与 iOS 引入 UWP 风格的汉堡菜单 ( MasterDetailPage )...

    所谓 UWP 样式的汉堡菜单,我曾在"张高兴的 UWP 开发笔记:汉堡菜单进阶"里说过,也就是使用 Segoe MDL2 Assets 字体作为左侧 Icon,并且左侧使用填充颜色 ...

  4. Xamarin.Forms XAML的辅助功能Code Snippet

    Xamarin.Forms XAML的辅助功能Code Snippet 在Visual Studio中,使用Code Snippet(代码片段)功能可以减少基础代码的编写量,如常见的标签.循环语句等. ...

  5. Xamarin XAML语言教程Xamarin.Forms中程序状态与进度(一)

    Xamarin XAML语言教程Xamarin.Forms中程序状态与进度(一) 在Xamarin.Forms中,提供了两个控件用来指示程序的状态和进度.他们分别为活动指示器和进度条.其中,活动指示器 ...

  6. Xamarin Forms启动自带模拟器缓慢

    Xamarin Forms启动自带模拟器缓慢 Xamarin Forms启动自带模拟器缓慢,在Windows 10中,Visual Studio可以使用系统自带的Hyper模拟器.但是使用时候,会长时 ...

  7. Xamarin.Forms教程下载安装Windows版的Xamarin开发工具

    Xamarin.Forms教程下载安装Windows版的Xamarin开发工具 下载安装Windows版的Xamarin开发工具 本节将讲解如何下载并安装Windows版的Xamarin开发工具. 下 ...

  8. Xamarin.Forms教程下载安装JDK配置环境变量

    Xamarin.Forms教程下载安装JDK配置环境变量 Xamarin.Form环境配置下载安装JDK JDK是编程Java程序必须的软件.也许有人会问我们用的C#为什么还有Java呢?这是因为我们 ...

  9. Xamarin.Forms教程下载安装Visual Studio 2015

    Xamarin.Forms教程下载安装Visual Studio 2015 下载安装Visual Studio 2015 Visual Studio 2015是微软提供的IDE,其中集成了Window ...

最新文章

  1. bitcoin转账api,python3.7
  2. 利用深度学习的点云语义分割(一)
  3. mysql主从复制缺陷_mysql主从复制及遇到的坑
  4. Nginx的应用之动静分离
  5. android任务 进程 线程详解,Android任务、进程、线程详解
  6. 压测|关于PHP7和5.6的压测对比
  7. php的联查,PHP的多表联查
  8. QQ 二十年沉浮起落,黑产从未缺席
  9. Mac环境下安装、配置liteide
  10. 购买namesilo域名可以用微信支付了
  11. 手把手指导制作一个 WebAR 与小程序 AR
  12. 随机迷宫生成算法整理分析
  13. 【题解】P3387 【模板】缩点
  14. 潇洒郎:VMware固定虚拟机IP地址
  15. 现货黄金每天的开盘和收盘时间是几点
  16. vue v-if : TypeError: Cannot read property 'length' of undefined
  17. Linux小实验11|添加组group,添加用户aa、bb并加入group组 (2)新建文件/abc.txt (3)设置用户aa对文件拥有读、写和执行权限
  18. 把一个用阿拉伯数字表示的正整数转换成汉字大写表示
  19. qcc514x-qcc304x调试笔记-QCC514x系列介绍
  20. 快速幂取模——Pupu(HDU 3003)

热门文章

  1. 美国银行将AI应用于企业应收账款处理
  2. [译]9条关于高性能ElasticSearch的配置建议
  3. 稍微成型点的用WEBSOCKET实现的实时日志LOG输出
  4. RPC调用框架比较分析
  5. UVA 11090 Going in Cycle!! 二分答案 + bellman-ford
  6. C语言解释器的实现--语法解析(五)
  7. WPF 实现火炬效果
  8. 在ASP.NET Core微服务架构下使用数据库切分和扩展
  9. IComparer实现文件名排序
  10. 牛X,.NET6又双叒叕新版本,这是要起飞吗?