首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【老孟Flutter】Flutter 2 新增的功能

今天,我们很高兴地宣布Flutter 2的发布。距离Flutter 1.0的发布已经两年多了,但是在很短的时间内,我们已经关闭了24,541期,并合并了765个贡献者的17,039个PR。自9月Flutter 1.22发布以来,我们已经关闭了5807期并合并了298位贡献者的4091个PR。特别感谢我们的志愿者捐助者,他们慷慨地抽出时间来改进Flutter项目。Flutter 2 release 版本前几名志愿者贡献者是xubaolin46个PR,a14n32个PR,专注于使Flutter达到零安全,hamdikahloun具有20个PR,改善了Flutter插件的数量。但是,不仅仅是编码员为Flutter项目做出了贡献。一大批志愿者PR评审人员还负责评审1525个PR,包括hamdikahloun(再次!),CareF和YazeedAlKhalaf(16个!)。Flutter确实是社区的一项工作,如果没有问题提出者,PR贡献者和代码审查者,我们就不可能进入第2版。此版本适用于所有人。

02

.NET 环境变量

在本文中,您将了解 .NET SDK、.NET CLI 和 .NET 运行时使用的环境变量。某些环境变量由 .NET 运行时使用,而其他环境变量仅由 .NET SDK 和 .NET CLI 使用。一些环境变量被所有人使用。 .NET 运行时环境变量 DOTNET_SYSTEM_NET_HTTP_* 有几个全局 HTTP 环境变量设置: DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 指示是否为全局 HTTP 设置启用诊断处理程序的活动传播。 DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 设置为falseor 时0,禁用 HTTP/2 支持,默认情况下启用。 DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT 设置为true或 时1,启用 HTTP/3 支持,默认情况下禁用。 DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING 当设置为falseor 时0,覆盖默认值并禁用 HTTP/2 动态窗口缩放算法。 DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE 默认为 16 MB。覆盖时,HTTP/2 流接收窗口的最大大小不能小于 65,535。 DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER 默认为 1.0。当被覆盖时,更高的值会导致更短的窗口但下载速度更慢。不能小于0。 DOTNET_SYSTEM_GLOBALIZATION_* DOTNET_SYSTEM_GLOBALIZATION_INVARIANT:请参阅设置不变模式。 DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: 指定是否只加载预定义的文化。 DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU:指示是否使用应用程序本地Unicode 国际组件(ICU)。有关更多信息,请参阅App-local ICU。 设置不变模式 应用程序可以通过以下任何一种方式启用不变模式: 在项目文件中: XML 复制 <PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup> 在runtimeconfig.json文件中: JSON 复制 { "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } } 通过将环境变量值设置DOTNET_SYSTEM_GLOBALIZATION_INVARIANT为true或1。 重要的 在项目文件或runtimeconfig.json 中设置的值比环境变量具有更高的优先级。 有关详细信息,请参阅.NET 全球化不变模式。 DOTNET_SYSTEM_GLOBALIZATION_USENLS 这仅适用于 Windows。要使全球化使用国家语言支持 (NLS),请将其设置DOTNET_SYSTEM_GLOBALIZATION_USENLS为true或1。DOTNET_SYSTEM_GLOBALIZATION_USENLS要不使用它,请设置为false或0。 DOTNET_SYSTEM_NET_SOCKETS_* 本节重点介绍两个System.Net.Sockets环境变量: DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT 套接字延续从事件线程分派到System.Threading.ThreadPool。这避免了阻塞事件处理的延续。要允许继续直接在事件线程上运行,请设置DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS为1. 默认情况下它是禁用的。 笔记 如果有昂贵的工作最终会占用 IO 线程的时间超过所需时间,则此设置会使性能变差。测试以确保此设置有助于提高性能。 使用 TechEmpower 基准测试,在非常高的负载下生成大量小型套接字读取和写入,单个套接字引擎能够

04

global.json 概述

该global.json文件允许您定义.NET SDK版本,当您运行.NET CLI命令时使用。选择 .NET SDK 与指定项目目标运行时无关。.NET SDK 版本指示使用的 .NET CLI 版本。 一般情况下,您希望使用最新版本的 SDK 工具,因此不需要global.json文件。在一些高级场景中,您可能希望控制 SDK 工具的版本,本文将解释如何做到这一点。 有关改为指定运行时的更多信息,请参阅目标框架。 .NET SDK在当前工作目录(不一定与项目目录相同)或其父目录之一中查找global.json文件。 global.json 模式 软件开发工具包 类型: object 指定有关要选择的 .NET SDK 的信息。 版本 类型: string 要使用的 .NET SDK 的版本。 这个领域: 不支持通配符;也就是说,您必须指定完整的版本号。 不支持版本范围。 允许预发行 类型: boolean 从以下版本可用:.NET Core 3.0 SDK。 指示 SDK 解析器在选择要使用的 SDK 版本时是否应考虑预发布版本。 如果未明确设置此值,则默认值取决于您是否从 Visual Studio 运行: 如果您不在Visual Studio 中,则默认值为true. 如果您在 Visual Studio 中,它会使用请求的预发布状态。也就是说,如果您使用的是 Visual Studio 的预览版,或者您设置了使用 .NET SDK 的预览选项(在工具>选项>环境>预览功能下),则默认值为true。否则,默认值为false。 前滚 类型: string 从以下版本可用:.NET Core 3.0 SDK。 选择 SDK 版本时使用的前滚策略,作为缺少特定 SDK 版本时的回退或作为使用更高版本的指令。一个版本必须与指定rollForward值,除非你将其设置为latestMajor。默认前滚行为由匹配规则决定。 要了解可用的策略及其行为,请考虑以下格式的 SDK 版本定义x.y.znn: x 是主要版本。 y 是次要版本。 z 是特征带。 nn 是补丁版本。 下表显示了rollForward键的可能值: 表格1 价值 行为 patch 使用指定的版本。 如果未找到,则前滚到最新的补丁级别。 如果找不到,则失败。 此值是早期版本的 SDK 的旧行为。 feature 对指定的主要、次要和功能带使用最新的补丁级别。 如果未找到,则前滚到同一大调/小调中的下一个更高的功能带,并使用该功能带的最新补丁级别。 如果找不到,则失败。 minor 对指定的主要、次要和功能带使用最新的补丁级别。 如果未找到,则前滚到同一主要/次要版本中的下一个更高的功能带,并使用该功能带的最新补丁级别。 如果未找到,则前滚到同一大调内的下一个更高的小调和功能带,并使用该功能带的最新补丁级别。 如果找不到,则失败。 major 对指定的主要、次要和功能带使用最新的补丁级别。 如果未找到,则前滚到同一主要/次要版本中的下一个更高的功能带,并使用该功能带的最新补丁级别。 如果未找到,则前滚到同一大调内的下一个更高的小调和功能带,并使用该功能带的最新补丁级别。 如果未找到,则前滚到下一个更高的主要、次要和功能带,并使用该功能带的最新补丁级别。 如果找不到,则失败。 latestPatch 使用最新安装的补丁级别,该补丁级别与请求的主要、次要和功能带与补丁级别相匹配,并且大于或等于指定的值。 如果找不到,则失败。 latestFeature 使用与请求的主要和次要功能区和补丁程序级别大于或等于指定值相匹配的最高已安装功能区和补丁程序级别。 如果找不到,则失败。 latestMinor 使用与请求的主版本相匹配的最高安装次版本、功能区域和补丁级别,并且次版本、功能区域和补丁级别大于或等于指定的值。 如果找不到,则失败。 latestMajor 使用版本高于或等于指定值的最高安装 .NET SDK。 如果找不到,则失败。 disable 不向前滚动。需要完全匹配。 msbuild-sdks 类型: object 让您可以在一个地方而不是在每个单独的项目中控制项目 SDK 版本。有关更多信息,请参阅如何解决项目 SDK。 例子 以下示例显示了如何不使用预发布版本: JSON 复制 { "sdk": { "allowPrerelease": false } } 以下示例显示如何使用安装的高于或等于指定版本的最高版本。显示的 JSON 不允许早于 2.2.200 的任何 SDK 版本,并允许 2.2.200 或任何更高版本,包括 3.0.xxx 和 3.1.xxx。 JSON 复制 { "sdk": { "version": "2.2.200", "rollForward": "lates

01

Android Studio 3.5: 稳步推进 Project Marble 计划

您是否曾希望 Android Studio 可以速度更快、性能更优、效率更高?如是的话,请立即下载最新的 Android Studio 3.5!您将会体验到前所未有的稳定版 Android Studio。在过去的 8 个月中,Android Studio 团队暂缓了新特性的开发工作,专心提升 Studio 的产品质量,只为让您享受到速度更快的日常开发体验!我们把这项工作命名为 Project Marble 计划。该计划围绕系统健康、特性优化和错误修复三大核心领域,力图在 Android Studio 与 Android 模拟器中构建功能强大且稳定的基础特性与流。我们会在 Project Marble 计划中直接整合收到的开发者反馈,欢迎大家继续向我们提交反馈,分享您的想法与感受。

03

.NET 简介

.NET 是一个免费的开源开发平台,用于构建多种应用,例如: Web 应用程序、Web API 和微服务 云中的无服务器功能 云原生应用 移动应用 桌面应用程序 视窗 WPF Windows 窗体 通用 Windows 平台 (UWP) 游戏 物联网 (IoT) 机器学习 控制台应用程序 视窗服务 使用类库在不同的应用程序和应用程序类型之间共享功能。 使用 .NET,无论您正在构建哪种类型的应用程序,您的代码和项目文件的外观和感觉都相同。您可以使用每个应用程序访问相同的运行时、API 和语言功能。 跨平台 您可以为许多操作系统创建 .NET 应用程序,包括: 视窗 苹果系统 Linux 安卓 IOS 操作系统 手表操作系统 支持的处理器架构包括: x64 x86 ARM32 ARM64 .NET 允许您使用特定于平台的功能,例如操作系统 API。示例是 Windows 上的 Windows 窗体和 WPF,以及从 Xamarin 到每个移动平台的本机绑定。 有关更多信息,请参阅支持的操作系统生命周期策略和.NET RID 目录。 开源 .NET 是开源的,使用MIT 和 Apache 2 许可证。.NET 是.NET 基金会的一个项目。 有关更多信息,请参阅GitHub.com 上的项目存储库列表。 支持 Microsoft 在 Windows、macOS 和 Linux 上支持 .NET。它会在每个月的第二个星期二定期更新以确保安全性和质量。 Microsoft 的 .NET 二进制发行版在 Azure 中由 Microsoft 维护的服务器上构建和测试,并遵循 Microsoft 工程和安全实践。 Red Hat在 Red Hat Enterprise Linux (RHEL) 上支持 .NET。Red Hat 和 Microsoft 合作确保 .NET Core 在 RHEL 上运行良好。 Tizen 支持Tizen 平台上的.NET。 有关详细信息,请参阅.NET Core 和 .NET 5 的版本和支持。 工具和生产力 .NET 为您提供了多种语言、集成开发环境 (IDE) 和其他工具的选择。 编程语言 .NET 支持三种编程语言: C# C#(发音为“See Sharp”)是一种现代的、面向对象的、类型安全的编程语言。C# 起源于 C 语言家族,C、C++、Java 和 JavaScript 程序员很快就会熟悉 C#。 F# F# 语言支持函数式、面向对象和命令式编程模型。 视觉基础 在 .NET 语言中,Visual Basic 的语法是最接近普通人类语言的,这使得它更容易学习。与微软正在积极开发新功能的 C# 和 F# 不同,Visual Basic 语言是稳定的。Web 应用不支持 Visual Basic,但 Web API 支持它。 以下是 .NET 语言支持的一些功能: 类型安全 类型推断 - C#、F#、Visual Basic 通用类型 代表 拉姆达 活动 例外 属性 异步代码 并行编程 代码分析器 集成开发环境 .NET 的集成开发环境包括: 视觉工作室 仅在 Windows 上运行。具有广泛的内置功能,旨在与 .NET 一起使用。社区版对学生、开源贡献者和个人免费。 视觉工作室代码 在 Windows、macOS 和 Linux 上运行。免费和开源。扩展可用于使用 .NET 语言。 适用于 Mac 的 Visual Studio 仅在 macOS 上运行。用于为 iOS、Android 和 Web 开发 .NET 应用程序和游戏。 GitHub 代码空间 在线 Visual Studio Code 环境,目前处于测试阶段。 SDK 和运行时 在.NET SDK是一套库和工具的开发和运行.NET应用程序的。 当你下载.NET,您可以选择SDK或运行时,如.NET运行时或ASP.NET核心运行时。在要准备运行 .NET 应用程序的计算机上安装运行时。在要用于开发的机器上安装 SDK。当您下载 SDK 时,您会自动获得运行时。 SDK 下载包括以下组件: 在.NET CLI。可用于本地开发和持续集成脚本的命令行工具。 该dotnet 驱动程序。运行依赖于框架的应用程序的 CLI 命令。 在罗斯林和F#编程语言编译器。 该MSBuild的生成引擎。 在.NET运行库。提供类型系统、程序集加载、垃圾收集器、本地互操作和其他基本服务。 运行时库。提供原始数据类型和基本实用程序。 ASP.NET Core 运行时。为连接互联网的应用程序提供基本服务,例如 Web 应用程序、IoT 应用程序和移动后端。 桌面运行时。为 Windows 桌面应用程序提供基本服务,包括 Windows 窗体和 WPF。 运行时下载包括以下组件: (可选)

02
领券