.NET Conf 2017后初尝Xamarin Forms 3.0@Linux

来源:互联网 发布:关键词优化记录 编辑:程序博客网 时间:2024/06/07 11:32

   对很多.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.   

  6.   

  7. namespace XFGtk.Linux  

  8. {  

  9.     class MainClass  

  10.     {  

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

  12.         {  

  13.             Gtk.Application.Init();  

  14.             Forms.Init();  

  15.   

  16.             var app = new App();  

  17.             var window = new FormsWindow();  

  18.             window.LoadApplication(app);  

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

  20.             window.Show();  

  21.             Gtk.Application.Run();  

  22.         }  

  23.     }  

  24. }  

        
        看了下结果,自我感觉良好。
        回头再看看项目还是熟悉的味道,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跨平台或扫描二维码关注

原创粉丝点击