.NET Conf 2017后初尝Xamarin Forms 3.0@Linux
? ?對很多.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 社區大會”(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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 实战笔记
- 下一篇: linux上还原自主nuget包需要注意