在Microsoft Build 2017中,我们分享了:在更多平台上使用Xamarin.Forms,并且比以往任何时候都更快。 今天,我想介绍一些令人兴奋的新功能,我们将添加到Xamarin.Forms,我们知道你会爱上!
Xamarin.Forms嵌入
您一直以来可以从Xamarin.Forms调用本机API,但现在我们允许您使用主要是本机应用程序的Xamarin.Forms。
无论您是在Xamarin.Forms上进行全面投入,还是只想在最受益的本地应用程序中使用它,我们将启用所有路径; 我们称之为Xamarin.Forms嵌入。 在XAML或C#中使用任何ContentPage,并将其直接嵌入到Xamarin.iOS,Xamarin.Android或UWP应用程序中。
所有现有的Xamarin.Forms UI现在已经在Xamarin.Forms应用程序之外扩展。
这是它的外观。 在您的非Xamarin.Forms应用程序中,只需使用该平台的预期参数初始化Forms,并使用方便的方法创建ContentPage的本机对象。 就这样,你可以手指掌握本地控件!
点击(此处)折叠或打开
-
// Android
-
Forms.Init(this, null);
-
var androidFragment = new MyFormsPage().CreateFragment(this);
-
-
// iOS
-
Forms.Init()
-
var iosViewController = new MyFormsPage().CreateViewController();
-
-
// UWP
-
Forms.Init(e);
- var uwpElement = new MyFormsPage().CreateFrameworkElement();
Xamarin.Forms的功能,如DependencyService,MessagingCenter和数据绑定系统,在这种情况下都可以使用。
达到更多的平台
Xamarin.Forms正在前往更多的平台! 准备在使用WPF的MacOS,Linux以及更多的Windows应用程序上运行。 今天我们已经,但是我们并没有停止,我们可以让您定位到每个桌面平台! 我们的团队正在为GTK#和WPF开发。
速度提升和增强
我们将Xamarin.Forms放在显微镜下,以确定关键目标,使您的应用加载速度更快,运行更快,特别是:
- 控制渲染器:我们继续关于我们适当称之为快速渲染器的工作。 这些重构的渲染器避免创建许多中间对象并实现更好的性能。
- 布局压缩:启用后,我们会在编译时优化布局,以提高渲染速度并最大限度地减少内存使用。
- 绑定系统:我们正在引入一次绑定模式。
- 灵活性:流行的Web布局系统来到Xamarin.Forms。 我们正在引入FlexLayout系统来构建自适应布局并实现Visual State Manager。
- 造型:我们正在抛光经常要求的CSS启发式样式实现。 您可以像今天一样继续为您的应用程式设计风格,如果您是CSS风格的粉丝,现在将成为您强大的选择。
引入XAML标准
正如Microsoft Build 2017所宣布的,我们正在与的Windows部门进行合作,这是XAML作为资产共享的一种方式。 Xamarin.Forms将完全支持XAML标准,并带您到您需要的每个平台。
支持XAML Standard的框架将能够共享基于通用XAML的UI定义。 我们的目标是第一个版本,XAML Standard 1.0,将在今年晚些时候推出。
今天尝试加入对话
今天可以在这里开始我们为Xamarin.Forms 3.0烹饪的所有好东西。
下载Xamarin.Forms 3.0预览
我们已经发布了Xamarin.Forms嵌入到一个新的feed并分享我们的演示代码的预览。 为拿到它,为实现它:
- 向NuGet Manager添加新的源码:https://www.myget.org/F/xamarinforms-dev/api/v3/index.json
- 选中预发行
- 选择并安装功能名称为“Embedding”的软件包. 3.0.0.100-embeddingpreview
- 在GitHub上下载Weather演示应用程序代码。
准备好后,请浏览完整的Xamarin.Forms路线图,并加入GitHub上的XAML Standard对话。
- 访问,并向我们提供有关这些公告的反馈意见。
-
加入XAML标准对话.
- 预览Xamarin.Forms for macOS at blog.xamarin.com/preview-bringing-macos-to-xamarin-forms/.
观看我们完整的Microsoft Build 2017 Xamarin.Forms会话.