.NET Conf 2017后初尝Xamarin Forms 3.0@Linux
来源:互联网 发布:ubuntu u盘 编辑:程序博客网 时间:2024/05/17 22:27
编者语:身体很重要,像我这样腰酸背痛的就是IT老毛病了,痛得辛苦,但有些事情是必须做的(身体会好起来,有些东西错过了就是错过了)。
对很多.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
using System;using Xamarin.Forms;using Xamarin.Forms.Platform.GTK;using XFGtk;namespace XFGtk.Linux{ class MainClass { public static void Main(string[] args){Gtk.Application.Init();Forms.Init(); var app = new App();var window = new FormsWindow();window.LoadApplication(app);window.SetApplicationTitle("Hello GTK");window.Show();Gtk.Application.Run(); } }}
看了下结果,自我感觉良好。
回头再看看项目还是熟悉的味道,C# , XAML , MonoDevelop . All it is cool
- .NET Conf 2017后初尝Xamarin Forms 3.0@Linux
- .NET Conf 2017后初尝Xamarin Forms 3.0@Linux
- .NET Standard@Xamarin.Forms
- .NET Standard@Xamarin.Forms
- Xamarin.Forms 初探
- 一点一点学xamarin.forms
- xamarin.forms学习资料。
- xamarin.forms 自定义手势
- xamarin.forms 相对布局
- xamarin.forms GridSplitter control
- xamarin.forms 蓝牙
- xamarin.forms 后台
- LINKs: Xamarin.Forms + Prism
- Xamarin Forms 进度条控件
- Xamarin.Forms相关文章
- Xamarin.Forms 数据绑定
- Xamarin.Forms入门
- Xamarin.Forms 要求
- [设计模式]职责链模式
- Redis系列-7.有序集合(zset)结构
- X86 指令速查
- android自定义ViewGroup卫星导航菜单
- dp
- .NET Conf 2017后初尝Xamarin Forms 3.0@Linux
- 列表组件的运用
- 9-24NOIP模拟赛总结
- RMI不支持远程注册(绑定)
- 如何屏蔽RecyclerView单边滑动到头阴影(fadingEdge)
- 反向传播手记
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 M. Frequent Subsets Problem
- listview的混乱处理---设置moudle属性
- 进程-线程