.NET Conf 2017后初尝Xamarin Forms 3.0@Linux
? ?對很多.NET粉,.NET Conf 2017的東西估計(jì)提前一個月都熟悉了,Xamarin粉估計(jì)最大驚喜不是Xamarin Live Player, 也不是Xamarin.Forms混合NativeControl ,而是Xamarin.Forms 3.0,因?yàn)樗谌氲?Linux平臺. Xamarin.Forms 跨平臺,一次編寫生成原生界面是在跨平臺移動開發(fā)中很大的優(yōu)勢。從1.0 誕生開始,用XAML構(gòu)建多平臺原生界面就成為了我項(xiàng)目中必不可少的,也是每次我演講必講的話題。
? ? ? ?
? ? ? ?如果說大家寄望Xamarin.Forms有更大的進(jìn)步空間或者會是能更高效的編寫界面,和融入更多的原生控件。在5月Build,Xamarin就滿足了大家。而這次給大家更多的驚喜莫過于Xamarin Forms可以進(jìn)入Linux Desktop,整合Gtk Sharp讓你更快速的完成跨Desktop的開發(fā)。更可喜的是它不再是PPT上的東西,而是可以把弄的好玩具。
? ? ? ?
? ? ? ?我趁著這個周末,親自玩了下Xamarin.Forms 3.0 ,把一些經(jīng)驗(yàn)分享給大家.
? ? ? ?1.學(xué)習(xí)資料:
? ? ? ?https://github.com/jsuarezruiz/forms-gtk-progress? 這里是最官方的,也是最方便了解Xamarin.Forms.gtk的地方。現(xiàn)階段Xamarin .Forms.gtk還在開發(fā)中,你通過這里可以關(guān)注更多咨詢,也可以貢獻(xiàn)一下代碼。話說我也準(zhǔn)備在這里做點(diǎn)貢獻(xiàn),將會在接下來的日子分享給大家了。
? ? ? ?https://github.com/jsuarezruiz/xamarin-forms-samples/tree/gtk? 官方示例,是現(xiàn)階段最好的教程。
? ? ? ?https://channel9.msdn.com/Events/dotnetConf/2017/T326? .NET Conf 2017介紹Xamarin.Forms 3.0 的視頻
? ? ? ?2.開發(fā)環(huán)境
? ? ? ?在Linux上裝好你的mono和MonoDevelopIDE(總有一天會叫Visual Studio for Linux), 如果你還不會,那就去http://www.mono-project.com/?上面有教程。
? ? ? ?Nuget配置,由于現(xiàn)在Xamarin.Forms在很早的階段,所以不存在在Nuget上,但你可以通過剛才提到的示例,做一個本地Nuget(Sample中Nuget 文件夾包含了Xamarin.Forms 3.0, Xamarin.Forms.GTK等新的包)。打開MonoDevelop通過Tools -> Add Custom Tool -> Nuget -> Source 引入。
? ? ? ?
? ? ? ?3. 開發(fā),現(xiàn)在Windows/MacOS上創(chuàng)建一個Xamarin.Forms的項(xiàng)目(現(xiàn)在還不能在Linux上創(chuàng)建Xamarin.Forms項(xiàng)目,現(xiàn)在Xamarin.Forms.GTK項(xiàng)目還沒有正式引入Xamarin.Forms的解決方案模版), 然后在Linux中打開,在創(chuàng)建好的項(xiàng)目中添加一個GTK#項(xiàng)目。
? ? ? ?
? ? ? ?并把Windows.cs和相關(guān)的User Interface文件夾對應(yīng)的界面刪除。
? ? ? ?接下來把解決方案內(nèi)的Xamarin.Forms替換成3.0版本(如果你剛才添加Nuget成功,你可以看到下圖的引用),并對創(chuàng)建的GTK#項(xiàng)目添加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();??
????????}??
????}??
}??
? ? ? ??
? ? ? ? 看了下結(jié)果,自我感覺良好。
? ? ? ? 回頭再看看項(xiàng)目還是熟悉的味道,C# , XAML , MonoDevelop . All it is cool?
? ? ? ??
相關(guān)文章:?
“.Net 社區(qū)大會”(dotnetConf) 2017 Day 1 Keynote: .NET Everywhere
.NET Standard@Xamarin.Forms
不可思議黑科技,Xamarin移動開發(fā)新時代
是時候開始用C#快速開發(fā)移動應(yīng)用了
原文地址:http://blog.csdn.net/kinfey/article/details/78078597
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的.NET Conf 2017后初尝Xamarin Forms 3.0@Linux的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker 实战笔记
- 下一篇: linux上还原自主nuget包需要注意