前端——框架——Vue

news2024/11/27 23:48:07

提示:

本文只是从宏观角度简要地梳理一遍vue3,不至于说学得乱七八糟、一头雾水、不知南北,如果要上手写代码、撸细节,可以根据文中的关键词去查找资料

简问简答:

  • vue.js是指vue3还是vue2?
    • Vue.js通常指的是Vue.js 2,当需要引用Vue.js 3时,会明确指出是Vue.js 3
  • vue2和vue3有什么区别?
    • vue3是对vue2的改进、补充
  • vue3可以完全替代vue2吗?
    •  Vue 3 可以在大多数情况下完全替代 Vue 2,尤其是对于新项目来说,
  • vue3可以拿来干嘛?
    • 可以用来开发现代化的 Web 应用程序
  • 学vue2还是vue3?
    • Vue 2 已于 2023 年 12 月 31 日停止维护,从vue3开始学即可
  • 做后端的学vue3要学到什么程度?
    • 即使做后端,也得要看懂前端的代码,否则难以进行前后端交互,做全栈开发工程师也挺不错的(多牛),所以最好把热门的几个前端开发框架学好
  • 应该怎么学好vue3?

    • 来自搜狗AI的建议

    • vue官方文档:简介 | Vue.js (vuejs.org)

    • 书籍:《Vue3.x+TypeScript》邹琼俊 著

 vue3的学习重点:

  • 基本概念:了解Vue.js的基本概念,如组件、状态管理、路由等。

  • 组件化开发:学习如何创建和使用Vue组件,以及组件之间的通信和复用。

  • 状态管理:掌握Vue.js 3中的状态管理工具,如Vuex,以便管理应用的状态和数据流。

  • 路由管理:了解Vue Router,学会实现前端路由控制。

  • API调用:掌握如何在Vue.js 3应用中发起后端API调用,处理异步请求和响应。

  • 前端构建工具:熟悉前端构建工具,如Webpack或Vue CLI,以便进行项目打包和管理。

  • 组件式API(Composition API):深入了解Vue.js 3中新增的组合式API,这是一个重要的新特性,能够帮助你更好地组织你的代码和逻辑。

  • 前端生态系统:熟悉前端生态系统,包括其他流行的前端框架、库和工具,以便在开发过程中能够更好地与其他前端开发者协作

补充:

  • 掌握TypeScript语言的基本语法

一、基本概念

  • vue:是一套用于构建用户界面的渐进式框架
  • 组件

    • 组件是 Vue.js 中用来封装可重用代码的基本单位。

    • 它们可以包含模板、脚本和样式,用于构建用户界面的独立功能单元。通过组件化,我们可以将复杂的界面拆分成小的、独立的组件,便于维护和重用。

    • 组件可以通过单文件组件(.vue 文件)或者使用 Vue.component() 方法来定义和使用。

    • 理解如何创建和组织 Vue 组件,并掌握组件间通信和复用的方法。

  • 响应式原理

    • 响应式原理是指在 Vue 中数据的变化可以自动地反映到视图上,而无需手动更新视图。

    • 实现了数据和视图的自动同步,大大简化了前端开发中的数据管理和视图更新工作

      • 1、通过Proxy(代理)拦截对 data 任意属性的任意操作(属性值的读写、添加、删除……)

      • 2、通过Reflect(反射)动态地对被代理对象的相应属性进行特定的操作

    • 理解 Vue 3 中的响应式系统,包括数据绑定、计算属性和侦听器。

  • 组合式 API

    • 它是一种新的方式来组织组件的逻辑代码。

    • 传统的 Options API 将组件的属性、生命周期钩子和方法都放在一个对象中,而组合式 API 则允许你根据功能将逻辑代码划分成更小的函数,使得代码更易于维护和重用。

    • 组合式 API 也提供了更多的工具函数来处理组件的复杂逻辑,例如 ref、reactive、watchEffect 等

    • 掌握 Vue 3 中新增的组合式 API,这是一个强大的工具,提供了更灵活的组件逻辑复用方式。

  • 路由

    • 路由是指在Web开发中用于定义页面间导航和页面之间关系的一种机制。

    • 在Vue.js中,通常使用Vue Router来实现路由功能。通过Vue Router,你可以定义不同URL路径和对应的组件,使得在浏览器地址栏输入不同的路径或者点击页面链接时,能够显示不同的组件内容,实现页面之间的切换和导航。

    • 在单页应用(Single Page Application)中,路由的概念尤为重要。它使得用户能够在不同的页面间进行交互,同时还可以保持整个应用的状态,而无需每次跳转都重新加载页面。通过路由,可以实现页面的动态加载、参数传递、嵌套路由等功能,为用户提供更流畅的浏览体验。

    • 学习使用 Vue Router 实现单页面应用程序的导航和路由控制。

  • 状态管理

    • 状态管理是一种在应用程序中管理和跟踪数据状态的方法。

    • 在前端开发中,状态管理通常用于管理页面和组件之间共享的数据,以及应用程序的全局状态。通过状态管理,开发者可以更轻松地跟踪和更新应用程序中的数据,确保数据的一致性和可靠性,以及提供更好的数据流管理和响应式更新。

    • 了解如何使用 Vuex 管理应用程序的状态,以及它与 Vue 3 的集成方式。

  • 生态系统工具

    • Vue.js 3 的生态系统工具包括但不限于:

      • Vue CLI:Vue 官方提供的命令行工具,用于快速搭建 Vue 项目、管理项目配置和依赖。

      • Vuex:Vue 官方推荐的状态管理库,用于管理应用中的状态。

      • Vue Router:Vue 官方推荐的路由管理库,用于处理单页面应用的路由。

      • Vue Test Utils:Vue 官方提供的测试工具库,用于编写单元测试和端到端测试。

      • Vue DevTools:浏览器插件,用于调试 Vue 应用程序,提供了组件层次结构、状态管理等可视化工具。

      • Vite:Vue Next 官方推荐的快速构建工具,用于在开发环境下进行快速热更新和构建。

      • ESLint 和 Prettier:代码规范和格式化工具,可以帮助你在开发过程中保持代码风格的统一性。

    • 熟悉 Vue DevTools、Vue CLI 等周边工具的使用,这些工具能提升开发效率。

  • Vue 3 新特性

    • Vue 3 最显著的特性包括:

      • Composition API(组合式 API):Vue 3 引入了 Composition API,它使得组件的逻辑更容易复用和组织。它允许开发者通过逻辑相关性而不是选项或生命周期,对组件代码进行组织。

      • Teleport(传送门):这是一个能够在组件内的任何地方渲染内容的新特性,尤其适用于处理模态框、弹出菜单等场景。

      • Suspense(悬念):这是一种能够在异步组件渲染过程中展示占位内容的机制,使用户体验更加流畅。

      • Proxy-based observation(基于代理的观察):Vue 3 使用 ES2015 的 Proxy 对象作为响应式系统的基础,这带来了更好的性能和更多的响应式能力。

    • 掌握 Vue 3 中新增的特性,如 Teleport、Suspense、自定义指令等,以及它们的用途和实际应用场景。

二、组件化开发

  • Vue的组件化开发是指将前端应用划分为多个独立的组件,每个组件有自己的结构、样式和行为逻辑。
  • 通过组件化开发,可以将复杂的用户界面拆分成多个相互独立、可复用的组件,使代码结构更清晰、维护更方便。
  • 在Vue中,组件化开发是通过Vue组件来实现的,每个Vue组件可以包含自己的HTML模板、CSS样式和JavaScript逻辑,因此可以实现组件间的高度复用和解耦。

1、定义组件

// 定义一个名为hello-world的组件
Vue.component('hello-world', {
  template: '<h1>Hello World!</h1>'
})

 2、在应用中使用组件

<div id="app">
  <hello-world></hello-world>
</div>

以上代码将会在页面中显示“Hello World!” 

3、组件通信

  • 父子通信
    • 方式一:父向子传递数据:props,子向父传递数据:$emit / $on
    • 方式二:$emit / $bus
    • 方式三:Vuex
    • 方式四:$parent / $children
    • 方式五:ref
  • 兄弟通信
    • 方式一:$emit / $bus
    • 方式二:Vuex
  • 跨级通信
    • 方式一:$emit / $bus
    • 方式二:Vuex
    • 方式三:provide / inject API
    • 方式四:$attrs / $listeners

三、状态管理

  • 在 Vue 中,状态管理通常是通过Vuex来实现的。
  • Vuex是一个专门为Vue.js应用程序开发的状态管理模式。
  • 它允许您在一个集中的仓库中管理应用中的所有组件的状态,并且以一种响应式的方式进行更新。
  • 使用Vuex进行状态管理操作:
    • 1. 安装Vuex:您可以使用npm或者yarn来安装Vuex到您的Vue.js项目中。
    • 2. 创建一个store:在您的Vue.js项目中创建一个store,它将包含着应用的状态和相关的逻辑。
    • 3. 定义状态:在store中定义您应用的状态,这些状态将会被共享和管理。
    • 4. 创建mutations:定义mutations来改变状态,mutations就是提交状态变更的方法。
    • 5. 创建actions:如果您需要进行异步操作,您可以创建actions来提交mutations。
    • 6. 在组件中使用状态:在您的Vue组件中,您可以使用Vuex提供的辅助函数来访问状态,并且使用mutations和actions来改变状态。
  • 通过这些步骤,您就可以使用Vuex来进行状态管理了。Vuex的核心概念是单向数据流,它帮助您更好地组织和管理应用的状态,并且使得状态的变更变得可追踪和可预测。

 四、路由管理

  • 在 Vue 中,路由管理通常是使用 Vue Router 进行的。Vue Router 是 Vue.js 官方的路由管理器,可以实现单页面应用的路由控制。
  • Vue Router官方文档:入门 | Vue Router (vuejs.org)
  • Vue Router的一些重要功能:
    • 组件化呈现:Vue Router可以帮助将页面模块化为组件,并定义路由来加载和展示这些组件。

    • 嵌套路由:Vue Router可以支持嵌套路由,允许您在一个路由内部再定义子路由,从而创建复杂的页面结构。

    • 路由参数传递:Vue Router允许您在路由之间传递参数,从而可以在不同路由间共享数据。

    • 路由导航守卫:Vue Router提供了路由导航守卫,可以让您在路由的跳转过程中进行权限验证或者重定向。

    • 命名路由和命名视图:Vue Router支持命名路由和命名视图,使得路由定义更加灵活,可以在不同的地方使用相同的路由。

    • 动态路由匹配:Vue Router支持动态路由匹配,允许您根据不同的路由参数加载不同的组件。

演示如何在 Vue 中使用 Vue Router 进行路由管理:

1. 首先,确保你的项目已经安装了 Vue Router。你可以使用 npm 或 yarn 安装 Vue Router:

npm install vue-router
# 或
yarn add vue-router

2. 在你的 Vue 项目中创建一个 router 文件夹,并在其中创建一个 index.js 文件,用来配置路由:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

// 定义组件
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }

// 创建路由
const router = new VueRouter({
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})

export default router

3. 在你的主 Vue 实例中,使用 Vue Router 并挂载路由:

import Vue from 'vue'
import App from './App.vue'
import router from './router'

new Vue({
  el: '#app',
  router,  // 将路由挂载到 Vue 实例中
  render: h => h(App)
})

4. 在你的模板中使用 `<router-link>` 和 `<router-view>` 来实现路由导航和路由视图:

<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>

    <router-view></router-view>
  </div>
</template>

在这个示例中,我们创建了两个简单的组件(Home 和 About),并在路由配置中将它们与不同的路径关联起来。然后在主 Vue 实例中使用 Vue Router 并挂载路由,最后在模板中使用 `<router-link>` 和 `<router-view>` 实现路由导航和路由视图。

 五、API调用

 API 是 Application Programming Interface 的缩写,指的是应用程序编程接口。它是一组定义了软件组件如何互相通信的规则和约定,使得不同的软件系统之间可以进行交互和集成。在前端开发中,API通常用于描述库、框架或平台提供的接口,开发者可以通过调用这些接口来使用其功能和服务。在Vue.js中,API通常指的是框架提供的不同函数和属性,开发者可以使用这些API来构建和管理应用程序。

在Vue.js中,部分常用的API包括:

  • 1. Vue实例的属性和方法:
    •    - data:用于定义响应式数据。
    •    - methods:用于定义方法。
    •    - computed:用于定义计算属性。
    •    - watch:用于监控数据的变化。
    •    - 生命周期钩子函数:如created、mounted等,用于在实例生命周期中执行特定操作。
  • 2. 全局API:
    •    - Vue.use:用来注册插件。
    •    - Vue.directive:用来注册全局自定义指令。
    •    - Vue.component:用来注册全局组件。
    •    - Vue.filter:用来注册全局过滤器。
  • 3. 内置组件:
    •    - Router:Vue Router用于实现路由功能。
    •    - Vuex:用于管理应用程序的状态。
    •    - Vue-CLI:用于快速构建Vue项目的命令行工具。

这些API和组件是Vue.js中常用的一些功能,通过它们可以实现数据响应式、组件化、路由管理、状态管理等功能。

调用 API 可以通过多种方式进行,这取决于你想要调用的 API 的类型和所用的技术栈。一般来说,可以通过以下步骤进行 API 调用:

  • 1. 选择合适的 HTTP 客户端:你可以选择使用原生的浏览器内置的 Fetch API 或者 XMLHttpRequest,也可以使用像 Axios、Fetch 或者 Superagent 这样的第三方库来发起 HTTP 请求。
  • 2. 构建请求:在发起 API 请求之前,你需要构建一个包含请求方法、URL、请求头和请求体等信息的请求对象。这一步可能会涉及到一些身份验证的操作,例如在请求头中添加 Authorization 头。
  • 3. 发起请求:通过选定的 HTTP 客户端来发送构建好的请求对象,并等待服务器的响应。
  • 4. 处理响应:一旦收到服务器的响应,你需要根据响应的内容来处理数据,可能需要解析 JSON 或者其他数据格式并对其进行适当的处理。

六、前端构建工具

在 Vue 中常用的前端构建工具包括:

  • 1. Vue CLI:Vue 的官方脚手架工具,用于快速搭建 Vue 项目,并提供了丰富的插件和可配置的选项。
  • 2. Webpack:一个现代的 JavaScript 应用程序的静态模块打包器,通常与 Vue CLI 结合使用来打包和构建 Vue 项目。
  • 3. Babel:用于将 ES6+ 代码转换为兼容各种浏览器的 JavaScript 代码,常用于 Vue 项目中进行代码转译。
  • 4. ESLint:用于代码规范检查和代码风格统一,能够帮助保持项目代码的质量和一致性。
  • 5. PostCSS:一个用 JavaScript 工具和插件转换 CSS 代码的工具,通常用于 Vue 项目中对 CSS 进行处理和优化。

这些工具经常会被用于 Vue 项目的创建、开发、打包、优化等各个阶段,能够帮助开发者更高效地构建和维护 Vue 前端项目。

七、 组件式API(Composition API)

  • Options API:这是 Vue 2 中常见的组件编写方式,通过在组件的 options 对象中定义 data、methods、computed、watch 等各种属性和方法来组织代码。
  • Composition API:Vue 3 中引入的新特性,它提供了一种更灵活和可组合的方式来编写组件代码。通过使用 useXxx 函数,可以将相关的逻辑代码组合成一个功能单元,便于复用和测试,同时可以更好地组织和封装代码。

  • Vue3和Vue2之间最大的不同在于新增了Composition API

常用的 API 则是指 Vue 实例、全局 API、内置组件等在 Vue 中常用的属性、方法和组件,它们和 Options API 和 Composition API 是不同层次的概念。

常用的 API 用来操作 Vue 实例,处理数据和组件的生命周期,而 Options API 和 Composition API 则是用来组织和管理组件的代码。 

 八、前端生态系统

前端生态系统是指由各种前端技术、工具、框架和社区组成的一系列相互关联、相互影响的生态系统。在前端开发领域,主要包括但不限于以下内容:

  • 1. 前端框架:如Vue.js、React、Angular等,用于构建用户界面和页面交互的框架。
  • 2. 前端库:如jQuery、Lodash等,提供了各种实用的功能和工具方法,简化了开发过程。
  • 3. 构建工具:如Webpack、Rollup、Parcel等,用于打包、编译、优化前端代码,提高性能和开发效率。
  • 4. 前端语言和标准:如HTML、CSS、JavaScript及其相关的标准、规范和最新特性。
  • 5. 前端组件库:如Element UI、Ant Design、Bootstrap等,提供了常用的UI组件和样式,可用于快速搭建界面。
  • 6. 前端社区和资源:如GitHub、Stack Overflow、Medium等,提供了大量开源项目、教程、博客文章和交流平台。
  • 7. 前端应用程序接口(API):如浏览器API、第三方服务API等,用于实现与服务器端和其他服务的交互。

以上这些元素共同构成了前端生态系统,为前端开发者提供了丰富的资源和工具,帮助他们更高效地开发现代Web应用和网站。

 


 

实战建议

建议你从小项目开始,逐渐转向大项目,这样可以更好地消化所学知识并加深理解。

对于小项目,你可以选择一些简单的个人博客、待办事项管理系统或者天气预报应用等,这样可以快速实现并且可以涵盖Vue3的核心概念。同时,小项目具有实现的挑战性,可以帮助你熟悉Vue3的语法和特性。

一旦你对Vue3的使用有了一定的熟练度,你可以尝试参与一些开源项目或者搜寻优秀的大型项目,对项目进行阅读和分析,这将会帮助你了解更多实际开发场景下的技能应用和工程化的实践。(先做点小项目,再看点大项目)

                                                                                                       ——来自搜狗AI的实战建议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试|sqlalchemy relationship

简介 SQLAlchemy是一个流行的Python ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它允许我们以面向对象的方式管理数据库。在SQLAlchemy中&#xff0c;relationship是一个重要的功能&#xff0c;用于建立表之间的关系。在本文中&#xff0c;我们将详细探讨relation…

阿里云国外云服务器地域、收费标准及活动报价2024新版

阿里云国外服务器优惠活动「全球云服务器精选特惠」&#xff0c;国外服务器租用价格24元一个月起&#xff0c;免备案适合搭建网站&#xff0c;部署独立站等业务场景&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云国外服务器优惠活动&#xff1a; 全球云服务器精选特惠…

【前后端的那些事】评论功能实现

文章目录 聊天模块1. 数据库表2. 后端初始化2.1 controller2.2 service2.3 dao2.4 mapper 3. 前端初始化3.1 路由创建3.2 目录创建3.3 tailwindCSS安装 4. tailwindUI5. 前端代码编写 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能&#xff0c;想写文章&…

Power Designer 连接 PostgreSQL 逆向工程生成pd表结构操作步骤以及过程中出现的问题解决

一、使用PowerDesigner16.5 链接pg数据库 1.1、启动PD.选择Create Model…。 1.2、选择Model types / Physical Data Model Physical Diagram&#xff1a;选择pgsql直接【ok】 1.3、选择connect 在工具栏选择Database-Connect… 快捷键&#xff1a;ctrlshiftN.如下图&#xff…

第八站:C++面向对象(继承和派生)

继承和派生 派生:由父类派生出子类 继承:子类继承父类(继承不会继承析构函数和构造函数:父类的所有成员函数&#xff0c;以及数据成员&#xff0c;都会被子类继承&#xff01;) "子类派生出的类"会指向"父类被继承的类",父类就是基类 实例1: 先创建一个父…

Flask框架小程序后端分离开发学习笔记《2》构建基础的HTTP服务器

Flask框架小程序后端分离开发学习笔记《2》构建基础的HTTP服务器 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。本节提供一个构建简单的本地服务器的代码&#xff0c;仔细看注释&#xff0c;学习每一步的流程&#xff0c;理解服…

react-app框架——使用monaco editor实现online编辑html代码编辑器

文章目录 ⭐前言&#x1f496;react系列文章 ⭐配置monaco-editor&#x1f496;引入react-monaco-editor&#x1f496;引入react-app-rewired&#x1f496;通过config-overrides.js添加monaco插件配置 ⭐编辑代码的react页面配置&#x1f496;扩展 可自定义配置语言 ⭐效果⭐总…

使用 mybatis-plus 的mybaits的一对多时, total和record的不匹配问题

应该是框架的问题&#xff0c;去官方仓库提了个issues&#xff0c;等回复 https://github.com/baomidou/mybatis-plus/issues/5923 背景 发现 record是两条&#xff0c;但是total显示3 使用resultMap一对多时&#xff0c;三条数据会变成两条&#xff0c;但是total确是3条 下…

新能源汽车智慧充电桩方案:基于视频监控的可视化智能监管平台

一、方案概述 TSINGSEE青犀&触角云新能源汽车智慧充电桩方案围绕互联网、物联网、车联网、人工智能、视频技术、大数据、4G/5G等技术&#xff0c;结合云计算、移动支付等&#xff0c;实现充电停车一体化、充电桩与站点管理等功能&#xff0c;达到充电设备与站点的有效监控…

[足式机器人]Part2 Dr. CAN学习笔记-Ch04 Advanced控制理论

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - Ch04 Advanced控制理论 1. 绪论2. 状态空间表达State-Space Representation3. Phase Portrait相图&#xff0c;相轨迹3 1. 1-D3 2. 2-D3 3. General Form3 4. Summary3.5. 爱情中的数学-Phase …

Luckysheet类似excel的在线表格(vue)

参考文档&#xff1a;快速上手 | Luckysheet文档 一、引入 在vue项目的public文件夹下的index.html的<head>标签里面引入 <link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/luckysheetlatest/dist/plugins/css/pluginsCss.css /><link relstylesheet hre…

使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA

目前基于大模型的信息检索有两种方法&#xff0c;一种是基于微调的方法&#xff0c;一种是基于 RAG 的方法。 信息检索和知识提取是一个不断发展的领域&#xff0c;随着大型语言模型&#xff08;LLM&#xff09;和知识图的出现&#xff0c;这一领域发生了显着的变化&#xff0…

河南选调生报名照片上传成功,不能大于50kb

河南选调生报名照片要求&#xff1a; 1、上传近期正面免冠证件照 2、照片背景&#xff1a;要求为蓝底 3、照片格式&#xff1a;jpg格式 4、照片宽高比例约为1.3:1.6&#xff0c;大小为130160像素 5、照片大小&#xff1a;50kb以下&#xff0c;最终效果以输出后的大小为准

pytest学习和使用-pytest如何进行分布式测试?(pytest-xdist)

1 什么是分布式测试&#xff1f; 在进行本文之前&#xff0c;先了解些基础知识&#xff0c;什么是分布式测试&#xff1f;分布式测试&#xff1a;是指通过局域网和Internet&#xff0c;把分布于不同地点、独立完成特定功能的测试计算机连接起来&#xff0c;以达到测试资源共享…

SpringMVC JSON数据处理见解6

6.JSON数据处理 6.1.添加json依赖 springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置&#xff0c;只需引入以下类库springmvc就可以处理json数据&#xff1a; <!--spring-json依赖--> <dependency><groupId>com.f…

群晖搭建LDAP服务器实现一个账号登录DSM、Gitea、jellyfin

文章目录 前言安装LDAP Server新建群组新增用户 DSM加入LDAPDSM使用LDAP登录 Gitea配置登录取消其登录权限 Jellyfin配置登录 总结 前言 LDAP&#xff08;轻量级目录访问协议&#xff09;是一种用于访问和管理分布式目录服务的协议&#xff0c;它具有以下好处&#xff1a; 集…

flutter开发windows桌面软件,使用Inno Setup打包成安装程序,支持中文

最近使用flutter开发windows桌面软件的时候&#xff0c;想要将软件打包成安装程序&#xff0c;使用了flutter官方推荐的msix打包&#xff0c;但是打包出来的软件生成的桌面快捷方式有蓝色背景&#xff1a; 这个蓝色背景应该是没有设置为动态导致的&#xff0c;windows系统的屏幕…

POE工业交换机:点亮灯光控制与建筑自动化的新时代

随着科技的不断发展&#xff0c;灯光控制和建筑自动化在现代建筑中扮演着重要角色。而POE工业交换机作为一种创新的网络设备&#xff0c;不仅能够为灯光控制和建筑自动化提供稳定可靠的网络通信&#xff0c;还具备便捷的供电功能。本文将探讨POE工业交换机对灯光控制和建筑自动…

Unity URP切换品质和Feature开关的性能问题

现在对我的项目进行安卓端发布&#xff0c;需要切换品质和一些Feature开关。 我是这样做的。 划分品质 首先Renerer分为2个Android和PC&#xff0c;图中其他不用参考。 每个副本的URP Asset分为pc和android&#xff0c;例如图中的 hall和hall_android。 我们可以看到hall用的…

【性能调优】local模式模式下flink处理离线任务能力分析

文章目录 一. flink的内存管理1.Jobmanager的内存模型2.TaskManager的内存模型2.1. 模型说明2.2. 通讯、数据传输方面2.3. 框架、任务堆外内存2.4. 托管内存 3.任务分析 二. 单个节点的带宽瓶颈1. 带宽相关理论2. 使用speedtest-cli 测试带宽3. 任务分析3. 其他工具使用介绍 本…