首页 文章 精选 留言 我的

精选列表

搜索[官方镜像],共10000篇文章
优秀的个人博客,低调大师

引领云原生 | Karmada 多云容器编排平台正式成为 CNCF 官方项目

北京时间 9 月 15 日,CNCF(云原生计算基金会)正式接纳由华为云贡献的多云容器编排项目 Karmada(https://github.com/karmada-io/karmada), 迎来 CNCF 首个多云容器编排项目。 Karmada 项目的加入,将 CNCF 的云原生版图进一步扩展至分布式云领域。 华为云在技术上一直积极回馈社区,已开源了以智能边缘项目 KubeEdge 和批量计算项目 Volcano 为代表的一系列云原生项目。 Karmada 项目由华为云、工商银行、小红书、中国一汽等 8 家企业联合发起,沉淀了各企业在多云管理领域的丰富积累,为开发者提供详实有效的实践指导与帮助,使用 Karmada,可以构建无极可扩展的容器资源池,让开发者像使用单个 Kubernetes 集群一样使用多云集群。 Karmada 介绍 随着企业业务的快速发展,多云也逐步成为数据中心建设的基础架构,多区域容灾与多活、大规模多集群管理、跨云弹性与迁移等场景推动云原生多云相关技术的快速发展。然而,在实际的生产落地过程中,云原生的多云仍面临如下挑战: 集群繁多的重复劳动:缺少标准化的集群管理接口,运维工程师不得不在集群的生命周期管理上维护繁琐重复的配置,以及碎片化的 API 访问入口。 业务过度分散的维护难题:应用在各集群的差异化配置繁琐;业务跨云访问以及集群间的应用同步难以管理。 集群的边界限制:应用的可用性受限于集群;资源调度、弹性伸缩受限于集群。 厂商绑定:业务部署的黏性问题,缺少自动化故障迁移;缺少中立的开源多云容器编排项目。 Karmada 结合了华为云容器平台 MCP 以及 Kubernetes Federation 核心实践,并融入了众多新技术:包括 Kubernetes 原生 API 支持、多层级高可用部署、多集群自动故障迁移、多集群应用自动伸缩、多集群服务发现等,并且提供原生 Kubernetes平滑演进路径,让基于 Karmada 的多云方案无缝融入云原生技术生态,为企业提供从单集群到多云架构的平滑演进方案。 Karmada 项目全景图 生态合作 Karmada 项目由华为、工商银行、浦发银行、小红书、VIPKID、趣头条、中国一汽和 T3 出行联合发起,于 2021 年 4 月 25 日在华为开发者大会 2021(HDC.Cloud)上正式宣布开源,Karmada 自开源以来受到了广泛的关注和支持,目前已有 30 + 大型企业 / 机构 / 高校参与社区开发及贡献。 Karmada 项目源自华为云多云容器平台 MCP,同时融入了工商银行、小红书、中国一汽等不同行业客户在多云管理方面的经验,可以为企业提供详实有效的落地指导与帮助,企业通过 Karmada 构建跨云、跨数据中心的无极可扩展的应用资源池,可以像管理单个 Kubernetes 集群一样简单、便捷的管理不同云、不同数据中心里的集群与应用。 — 华为云 CTO 张宇昕 在社区贡献方面,工商银行作为 Karmada 项目的头部参与单位,结合工行多年来多容器集群管理的经验,已在集群生命周期管理、核心调度控制器等核心模块进行深度定制化的开发。后续,工行将持续参与 Karmada 社区的开发和管理工作,计划在多集群自动调度、多集群自动伸缩等模块继续深入研究及贡献,反哺开源社区,持续扩大业界影响力。 — 工商银行软件开发中心专家 鲁金彪 集团型企业同时存在多个混合容器的复杂场景,跨多云技术架构的运维难题日益突出。 华为 Karmada 作为多集群、多云及混合云的集中化、兼云原生 Kubernetes API 接口的管理框架,有效解决目前容器编排多集群、多环境无法集中式管理、安全隔离机制不健全等痛点。 希望 Karmada 在加入 CNCF 后,通过社区的共同维护与贡献,不断壮大其功能。期待 Karmada 早日从 CNCF 毕业,反哺云原生生态。 — 一汽体系数字化部技术运营主任 王广 Karmada 原生兼容 Kubernetes API 的能力,可以不加改造地对接现有 Kubernetes 生态。在落地实践过程中,我们使用 Karmada 对接了现有的 GitOps 生态,极大提高了应用跨集群部署的效率。 — VIPKID 运维总监谷玉虎 Karmada 提供丰富的多集群策略以及开箱即用的内置策略集,可以极大的简化两地三中心、异地容灾和同城双活架构下的系统复杂性,这对于金融行业至关重要。 — 浦发银行云转型处处长 吕炳刚 未来可期 目前,Karmada 已在华为云多云容器平台(Multi-Cloud Container Platform,MCP)商用,提供分布式云解决方案,提供跨云的多集群统一管理、应用统一部署及流量分发等关键能力。 除 MCP 以外,Karmada 已在数十家来自金融、互联网、教育等企业中落地。 此次 CNCF 正式将 Karmada 接纳为云原生领域首个多云容器编排项目,将极大促进 Karmada 上下游社区生态构建及合作,吸引广大云原生企业用户深度参与,Karmada 将在多集群应用管理、服务治理、高可用部署等领域发挥越来越重要的作用,华为云也将在云原生领域持续耕耘、持续引领创新、繁荣生态,助力各行业走向快速智能发展之路。

优秀的个人博客,低调大师

官方页面显示Windows将迎来类似于macOS的代号命名法

微软意外地泄露了其下一个操作系统的名称 -- 它可能不是Windows 11。6月24日,微软将举办一个大型活动,届时公司将公布其Windows操作系统的未来。尽管我们知道操作系统的外观和功能将发生变化,但我们不知道的是这个新改进的Windows版本将被称为什么。 在此之前已经有很多猜想,包括Windows 365、WindowsOS或简单的 "Windows",但到目前为止,大多数线索都指向它是Windows 11。 从某种程度上说,Windows 11这个名字很有意义,它帮助微软摆脱了围绕着Windows 10的一些负面情绪,同时也对外宣布这是一个巨大的变化的事实。然而,微软过去曾说过,Windows 10将是Windows的 "最后 "版本。 虽然该公司完全有权利改变主意,推出Windows 11,但另一条线索已经浮出水面,表明微软可能计划在其软件的未来版本中采用macOS风格的命名惯例。 苹果公司给其操作系统的新更新打上了地理标签,最新的是macOS Monterey,最近在微软的一些元数据中发现的一个补充信息(后来被删除)表明,之前Windows更新的代号 - 太阳谷很可能最终成为产品的实际名称。 昨天发布的微软支持页面提到了两个不同的Windows版本--Windows 10和Windows Sun Valley,你可以在下面的截图中看到这一点。 此后不久,对 "Windows Sun Valley"的提及很快被删除,这表明将其列入页面是一个错误。现在,可能是微软无意泄露这个名字,这很可能就是它被删除的原因,当然也可能是这只是新版本的内部名称而已。 我们不会有太长的时间来确定这些,因为现在离Windows发布活动只有两个多星期了。 【责任编辑:未丽燕 TEL:(010)68476606】

优秀的个人博客,低调大师

官方总结鸿蒙应用开发常见问题与实现方法典型案例

1自定义Dialog的布局 1.1 问题描述 如何实现自定义的Dialog? 1.2 实现方法 添加自定义Dialog代码 CommonDialog commonDialog = new CommonDialog(this); Component component = LayoutScatter.getInstance(getContext()) .parse(ResourceTable.Layout_dialog_custom_layout, null, true); commonDialog.setSize(800, 500); commonDialog.setContentCustomComponent(component); commonDialog.show(); 自定义Dialog的布局文件 <?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_content" ohos:padding="10vp" ohos:background_element="@graphic:grey" ohos:orientation="vertical"> <Text ohos:width="match_parent" ohos:height="match_content" ohos:text="Dialog标题" ohos:text_color="$color:Black" ohos:text_style="bold" ohos:text_size="40fp"/> <Text ohos:width="match_parent" ohos:height="match_parent" ohos:text="自定义Dialog内容" ohos:text_color="$color:Black" ohos:text_style="bold" ohos:weight="1" ohos:text_alignment="vertical_center" ohos:top_margin="30vp" ohos:bottom_margin="30vp" ohos:left_margin="10vp" ohos:right_margin="10vp" ohos:text_size="30fp"/> <DirectionalLayout ohos:height="match_content" ohos:width="match_parent" ohos:orientation="horizontal"> <Button ohos:width="match_parent" ohos:text="取消" ohos:text_size="30fp" ohos:padding="10vp" ohos:text_color="$color:White" ohos:weight="1" ohos:margin="10vp" ohos:background_element="$graphic:yellow" ohos:height="match_content"/> <Button ohos:width="match_parent" ohos:text="确定" ohos:text_size="30fp" ohos:weight="1" ohos:padding="10vp" ohos:text_color="$color:White" ohos:margin="10vp" ohos:background_element="$graphic:green" ohos:height="match_content"/> </DirectionalLayout> </DirectionalLayout> 1.3 实际效果 2 设置控件背景颜色 2.1 问题描述 在xml布局中设置控件ohos:background_element="$color:yellow"无效,目前背景颜色不支持以$color方式设置,只支持$graphic方式设置。 2.2 实现方法 方式1:xml中设置控件背景颜色使用$graphic <Button ohos:width="match_parent" ohos:text="控件按钮" ohos:text_size="30fp" ohos:padding="10vp" ohos:text_color="$color:White" ohos:background_element="$graphic:yellow" ohos:height="match_content"/> 资源文件graphic中yellow.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:shape="rectangle"> <solid ohos:color="#fff9a825"/> </shape> 方式2:纯代码设置控件颜色 DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT); config.setMargins(30, 10, 10, 10); ShapeElement element = new ShapeElement(); element.setRgbColor(new RgbColor(255, 111, 0)); Text text = new Text(this); text.setText("xml添加背景"); text.setTextColor(new Color(0xFFFFFFFF)); text.setTextSize(40); text.setPadding(30, 20, 30, 20); text.setTextAlignment(TextAlignment.CENTER); text.setBackground(element); text.setLayoutConfig(config); 2.3 实际效果 3 ScrollView嵌套DirectionalLayout进行滚动 3.1 问题描述 ScrollView嵌套DirectionalLayout如何进行滚动? 3.2 实现方法 使用xml布局,需要将ScrollView的高度设置成“match_parent”,ScrollView子布局的高度设置成“match_content” <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent" ohos:orientation="vertical"> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_content" ohos:orientation="vertical"> ... </DirectionalLayout> </ScrollView> 使用代码添加,则需要给ScrollView和子布局设置LayoutConfig ComponentContainer.LayoutConfig scrollConfig = new ComponentContainer.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_PARENT); scrollView.setLayoutConfig(scrollConfig); DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT); myLayout.setLayoutConfig(config); ... scrollView.addComponent(myLayout); super.setUIContent(scrollView); 3.3 实际效果 4 加载和显示网络图片 4.1 问题描述 如何实现加载和显示网络图片? 4.2 实现方法 在config.json中添加网络权限 { "module": { "reqPermissions": [ { "name": "ohos.permission.INTERNET" } ] } } 获取并设置网络图片 String urlImage = "https://www.harmonyos.com/resource/image/community/20201009-164134eSpace.jpg"; HttpURLConnection connection = null; try { URL url = new URL(urlImage); URLConnection urlConnection = url.openConnection(); if (urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } if (connection != null) { connection.connect(); // 之后可进行url的其他操作 // 得到服务器返回过来的流对象 InputStream inputStream = urlConnection.getInputStream(); ImageSource imageSource = ImageSource.create(inputStream, new ImageSource.SourceOptions()); ImageSource.DecodingOptions decodingOptions = new ImageSource.DecodingOptions(); decodingOptions.desiredPixelFormat = PixelFormat.ARGB_8888; // 普通解码叠加旋转、缩放、裁剪 PixelMap pixelMap = imageSource.createPixelmap(decodingOptions); // 普通解码 getUITaskDispatcher().syncDispatch(() -> { Image image = new Image(HttpImageSlice.this); DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT); config.setMargins(10, 10, 10, 10); image.setLayoutConfig(config); image.setPixelMap(pixelMap); myLayout.addComponent(image); pixelMap.release(); }); } } catch (Exception e) { e.printStackTrace(); } 4.3 实际效果 5 ListContainer列表组件的使用 5.1 问题描述 ListContainer列表组件如何使用? 5.2 实现方法 在xml文件中声明组件 <?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent" ohos:orientation="vertical"> <ListContainer ohos:id="$+id:list_container" ohos:orientation="vertical" ohos:width="match_parent" ohos:height="match_parent"/> </DirectionalLayout> 获取 ListContainer 组件,并设置itemProvider private void initView() { mListContainer = (ListContainer) findComponentById(ResourceTable.Id_list_container); ListItemProvider listItemProvider = new ListItemProvider(); mListContainer.setItemProvider(listItemProvider); } 自定义 ListItemProvider 继承 RecycleItemProvider class ListItemProvider extends RecycleItemProvider { @Override public int getCount() { return data.size(); } @Override public long getItemId(int i) { return 0; } @Override public Component getComponent(int position, Component convertView, ComponentContainer componentContainer) { Component component = LayoutScatter.getInstance(getContext()) .parse(ResourceTable.Layout_layout_container_item, null, false); if (!(component instanceof ComponentContainer)) { return null; } ComponentContainer rootLayout = (ComponentContainer) component; Text rightText = (Text) rootLayout.findComponentById(ResourceTable.Id_content); rightText.setText(data.get(position)); return component; } } 5.3 实际效果 6 读取资源文件 6.1 问题描述 如何读取应用的资源文件? 6.2 实现方法 对于图片文件,建议放到base/media目录下,Image组件可以直接设置,方法如下。 Image image = (Image) findComponentById(ResourceTable.Id_component_image); image.setPixelMap(ResourceTable.Media_huawei); 对于rawfile文件的读写,请参考下面的方法: ohos.global.resource.ResourceManager resourceManager = getApplicationContext().getResourceManager(); ohos.global.resource.RawFileEntry rawFileEntry = resourceManager.getRawFileEntry("resources/rawfile/test.png"); RawFileDescriptor rawFileDescriptor = rawFileEntry.openRawFileDescriptor(); // 或者 Resource resource = rawFileEntry.openRawFile(); 6.3 实际效果 7 JS方法获取位置信息 7.1 问题描述 使用JS开发时,如何获取位置信息? 7.2 实现方法 导入获取位置模块,并调用getLocation方法获取位置信息 import geolocation from '@system.geolocation'; export default { data: { longitude: 0.0, latitude: 0.0 }, onInit() { this.getLocation(); }, getLocation() { var temp = this; geolocation.getLocation({ success: function(data) { console.info("get location success, longitude: " + data.longitude +", latitude: " + data.latitude); temp.longitude = data.longitude temp.latitude = data.latitude; }, fail: function(data, code) { console.error("get location failed, code: " + code + ", data: " + data); }, complete: function() { console.info("get location complete"); } }); } } 在config.json中增加获取位置信息的权限 "reqPermissions": [ { "name": "ohos.permission.LOCATION" } ], 7.3 实际效果 8 禁用手表中系统的左右滑动 8.1 问题描述 开发一个应用支持左右滑动的操作,但是在模拟器中右滑时,默认跳转到系统页面,并退出应用,如何禁用系统右滑? 8.2 实现方法 覆盖MainAbility中的onTouchEvent方法,实现如下 @Override protected boolean onTouchEvent(TouchEvent event) { super.onTouchEvent(event); return true; } 8.3 实际效果 9 Text控件中文字换行 9.1 问题描述 Text控件中文字目前不支持\n换行,如何进行换行? 9.2 实现方法 可以使用系统自动换行,保持两行文字长度一致,实现如下 <?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent" ohos:orientation="vertical"> <Text ohos:id="$+id:text" ohos:width="150vp" ohos:height="match_content" ohos:multiple_lines="true" ohos:max_text_lines="2" ohos:auto_font_size="true" ohos:text="目前车辆尊享服务已过期, 车主续费后才可继续使用"/> </DirectionalLayout> 9.3 实际效果 10 在一个布局xml中引入其他xml布局文件 10.1 问题描述 定义了一个公共的XML布局文件,如何在其他XML布局文件中引用这个公共的XML布局文件? 10.2 实现方法 可以通过include标签引用其他的XML布局文件,示例如下: <?xml version="1.0" encoding="utf-8"?> <include ohos:id="$+id:include_layout" ohos:layout="$layout:include_layout" ohos:width="match_parent" ohos:height="match_content"/> </DirectionalLayout> 10.3 实际效果 NA 11 自定义Swtich控件的颜色 11.1 问题描述 如何自定义Swtich控件的开关两个状态下的按钮颜色? 11.2 实现方法 在资源文件graphic文件下创建bg_element.xml和fg_element.xml,bg_element.xml文件内容如下 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:shape="rectangle"> <corners ohos:radius="30"/> <solid ohos:color="#424242"/> </shape> fg_element.xml文件内容如下 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:shape="oval"> <solid ohos:color="#D81B60"/> </shape> 代码实现自定义颜色: private void setupSwitch() { mSwitch = (Switch) findComponentById(ResourceTable.Id_switch_custom); Element elementBackground = ElementScatter.getInstance(this).parse(ResourceTable.Graphic_bg_element); mSwitch.setTrackElement(elementBackground); Element elementThumb = ElementScatter.getInstance(this).parse(ResourceTable.Graphic_fg_element); mSwitch.setThumbElement(elementThumb); mSwitch.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { Log.i("switch: " + mSwitch.isChecked()); } }); } 11.3 实际效果 12 视频播放 12.1 问题描述 如何播放本地视频文件和网络视频? 12.2 实现方法 创建布局文件video_player_layout.xml,内容如下 <?xml version="1.0" encoding="utf-8"?> <DependentLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:id="$+id:video_player_dl" ohos:width="match_parent" ohos:height="match_parent" ohos:orientation="vertical"> </DependentLayout> 定义下面的变量,内容如下: private static Player mPlayer; private SurfaceProvider mSurfaceProvider; private DependentLayout mLayout; 实现SurfaceOps.Callback接口,代码如下: class VideoSurfaceCallback implements SurfaceOps.Callback { @Override public void surfaceCreated(SurfaceOps surfaceOps) { Log.i("surfaceCreated() called."); if (mSurfaceProvider.getSurfaceOps().isPresent()) { Surface surface = mSurfaceProvider.getSurfaceOps().get().getSurface(); playUrl(surface); } } @Override public void surfaceChanged(SurfaceOps surfaceOps, int i, int i1, int i2) { Log.i("surfaceChanged() called."); } @Override public void surfaceDestroyed(SurfaceOps surfaceOps) { Log.i("surfaceDestroyed() called."); } } 实现Player.IplayerCallback接口,代码如下: private class VideoPlayerCallback implements Player.IPlayerCallback { @Override public void onPrepared() { Log.i("onPrepared"); } @Override public void onMessage(int i, int i1) { Log.i("onMessage"); } @Override public void onError(int i, int i1) { Log.i("onError: i=" + i + ", i1=" + i1); } @Override public void onResolutionChanged(int i, int i1) { Log.i("onResolutionChanged"); } @Override public void onPlayBackComplete() { Log.i("onPlayBackComplete"); if (mPlayer != null) { mPlayer.stop(); mPlayer = null; } } @Override public void onRewindToComplete() { Log.i("onRewindToComplete"); } @Override public void onBufferingChange(int i) { Log.i("onBufferingChange"); } @Override public void onNewTimedMetaData(Player.MediaTimedMetaData mediaTimedMetaData) { Log.i("onNewTimedMetaData"); } @Override public void onMediaTimeIncontinuity(Player.MediaTimeInfo mediaTimeInfo) { Log.i("onMediaTimeIncontinuity"); } } 实现播放本地文件的方法,其中test.mp4文件放到资源文件目录下,内容如下: private void playLocalFile(Surface surface) { try { RawFileDescriptor filDescriptor = getResourceManager().getRawFileEntry("resources/rawfile/test.mp4").openRawFileDescriptor(); Source source = new Source(filDescriptor.getFileDescriptor(),filDescriptor.getStartPosition(),filDescriptor.getFileSize()); mPlayer.setSource(source); mPlayer.setVideoSurface(surface); mPlayer.setPlayerCallback(new VideoPlayerCallback()); mPlayer.prepare(); mSurfaceProvider.setTop(0); mPlayer.play(); } catch (Exception e) { Log.e("playUrl Exception:" + e.getMessage()); } } 实现播放网络URL的方法,其中video url为视频资源URL,内容如下: private void playUrl(Surface surface) { try { Source source = new Source("video url"); mPlayer.setSource(source); mPlayer.setVideoSurface(surface); mPlayer.setPlayerCallback(new VideoPlayerCallback()); mPlayer.prepare(); mSurfaceProvider.setTop(0); mPlayer.play(); } catch (Exception e) { Log.e("playUrl Exception:" + e.getMessage()); } } 播放网络视频,需要申请网络使用权限,在config.json中增加如下内容: "reqPermissions": [ { "name": "ohos.permission.INTERNET" }, ] 12.3 实际效果 原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0204410755673870341?fid=0101303901040230869 原作者:eva3w

优秀的个人博客,低调大师

Windows 10X 官方文档曝光,不只为多屏设备而设计

本月初,微软在纽约市举行的秋季活动中介绍了双屏设备 Surface Neo预览版,该设备运行的操作系统称为Windows 10X。但关于 Windows 10X的详细信息并不多。最近 Twitter 用户 WalkingCat发现微软泄露的该系统信息的文档,并共享了该文档链接。与此同时,被另外的用户及时截图记录下来。 此前,我们都以为 Windows 10X是专为多屏设备设计的操作系统,而根据文档表明,Windows 10X 是为可折叠设备和更传统的笔记本电脑设计,在 Windows 10X 下,本地应用程序(local app)和渐进式网络应用程序(PWA)是平等的。 Windows 10X 主要目标是用户友好性、有效性和简单性。传统的“开始”菜单改为“启动程序”,它包含一个 Web 搜索功能以及一个用户定义的静态应用程序和网页的区域。下面我们来看看被曝光的文档内容: 这是一个在后台进行了融合的操作系统 该系统建立在交互系统上,从而让你可以专注于手头上的任务 在系统上对任务的执行操作包括:启动,通知,搜索等 通过简单和高效的方式来探索如何处理每个任务 遵循原则 以人为本 为构建未来的系统,我们对过去所发布的系统进行了深入的研究。而 Santorini(Windows 10X 的内部代号)将围绕着消费者需求而设计,可以更加灵活地调整和用户的交互方式。 模式、组件、指导 通过研究,用户测试和技术文档,可以对 POR 设计和文档进行集中处理,并具有设计和决策过程的历史视图。 Launcher Launcher 可帮助用户快速启动和恢复任务。搜索将无缝整合网页结果、可用应用程序以及设备上的指定文件。在内容层次结构的下方是默认的应用程序快捷方式,用户可以根据自己的偏好进行自定义和更改。伴随着用户使用时间的推移,Launcher 能够记忆用户的习惯,更懂用户的需求。最后,推荐内容是根据您使用最频繁的应用程序、文件和网站动态更新的,无需从头开始即可跳回到您的个人工作流程。 目标和原则 轻松快捷地返回你的 Flow 如果找不到您想要的东西,不会陷入死循环 对建议的价值建立长期信任 搜索 在网络上找到所需的内容,或在设备上查找应用程序和文件,在整个设备上进行搜索的单一入口点简单而轻松。 零输入建议 有效的输入和搜索结果 支持触摸,键盘和语音输入应用和网站 应用和网站 拖放以重新排列您的应用和网站,使您的收藏夹位于列表的顶部。要获取所有其他应用,只需将网格扩展为“全部显示”即可。 Inbox 默认应用包括:Edge, Mail, Calendar, Word, Excel, PowerPoint, OneNote, Teams, Whiteboard, To Do, Photos, Store, File Explorer, Spotify, Netflix, Camera, Solitaire, Calculator, Alarms & Clock, Movies & TV, Office, Sticky Notes, Paint, Learning Hub, Settings, Weather, Snip & Sketch, Voice Recorder, Groove Music, People, Notepad, Feedback Hub, Media Plan, Messaging 以及最多 4 款 OEM 应用程序 通过将应用程序堆叠在一起来创建文件夹和组 从网格中删除应用程序以将其从设备中删除 推荐 使用最近安装的应用程序回到您的 Flow 中;常用的应用程序,文件和网站。 一次最多显示 10 个高可信度建议 如果找不到所需的内容,请点按“显示更多”以展开更多内联项目 或者从推荐的文件中打开“打开文件位置”,以查看相关文件 锁定/登陆 使用“限制锁定”模型时,屏幕打开时,您立即进入身份验证状态。与 Windows 10 不同,在 Windows 10 中,您首先需要在身份验证之前解开锁屏幕。Windows Hello 面部识别以及 OOBE 期间的 Windows Hello PIN,唤醒设备后,Windows Hello Face 会立即识别用户,并将立即转换到其桌面。 目标和原则 客户信任设备以确保其数据安全 客户可以尽快进行计算工作 客户可以感觉到与其设备的个人联系,因为它是为他们量身定制的 结构和范围 快速设置 快速设置为用户提供了一种几乎直观的方式来访问其常用设置。如今,设置存在于多个表面中,并且没有清晰一致的路径供用户访问对其最重要的设置。 目标与原则 高效:用户可以快速修改其关键设备设置 专注:仅显示重要的设备设置,因此用户不会被其他设置分散注意力 快速查看:快速查看设备状态 相关性:使用户能够根据自己的需求定制表面 结构与范围 快速设置面有两个级别的设置:L1 是主要的快速面;当需要更多的轻量级设置细节时,可用 L2。 任务栏 目标与原则 用户可以在任务栏上的应用程序之间切换 用户可以从任务栏启动应用程序和网站 用户可以访问经常使用的应用程序和网站 用户具有启动“开始”,“任务切换器”和“快速操作”的入口点 结构与范围 正在运行的网站:窗口中的活动Web选项卡,可以处于前台或后台 发光:任务栏的行为,其中一个应用程序的多个实例被分组在同一图标下 活动状态:当该应用程序处于活动状态/处于焦点状态时,高亮显示在任务栏图标上 运行状态:任务栏图标下划线的行为当应用程序运行时,该应用程序是否处于焦点状态 扩展用户界面:发光行为,在任务栏图标上悬停时,用户界面会显示该应用程序各种实例的缩略图最近使用的应用程序:最近启动的应用程序。可以在任务栏上运行还是不运行系统状态:系统状态栏状态:系统栏:系统状态的状态;与“最小化任务栏”同义 堆叠的系统状态:任务栏上的系统状态时,查看系统状态 连接 用户大部分时间都在网上度过。我想访问连接的文件,因为它们是操作系统的一部分。您所有的东西,当您需要时就可以使用。在启动器的“推荐”部分中找到所有文件(在线或离线)。在下面的 Windows 10X 中浏览连接界面。 Family 无需指示(No need for instructions)操作系统是 Windows 和我每天使用的设备的直观结合。拿起 Windows 10X,重新开始您的任务 适应性强(Adaptive)适应我如何使用生态系统中每个设备的操作系统。Windows 10X 每天处理 8 条不同的帖子,以帮助我完成工作 平静(Calm)通过精心选择美学来庆祝专注和精准的系统 毫不费力(Effortless)一个不会妨碍您的系统,可以帮助我更快地获得想要的东西 参考: https://m.cnbeta.com/view/903615.htm

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。