Vue 跨平臺性能優化十法

?Vue.js 開發能夠同時運行在不同平臺(如 Web、移動平臺和桌面平臺)的應用程序。以下是一些常見的跨平臺解決方案:

?1.

  1. 使用 Vue.js 官方發布的框架:

    • Vue.js:主要用于 Web 開發。

    • Vue Native:使用 Vue 語法開發原生應用(需要結合React Native)。

    • Quasar Framework:一個構建跨平臺桌面和移動應用的開源框架。

1-2? ??

Vue Native 是一個框架,它允許開發者使用 JavaScript 來構建跨平臺的原生移動應用。它是基于 React Native 的封裝,所以利用 Vue Native,你可以實現React Native的所有功能。這個框架特別之處在于它結合了 Vue.js 的簡潔性和 React Native 的廣泛適用性,讓你能以 Vue.js 的語法構建iOS和Android的移動應用

1-3-1? 什么是Quasar?

Quasar(發音為/kwe?.zɑ?/)是MIT許可的開源框架(基于Vue),可幫助Web開發人員創建:

  • 響應式網站
  • PWA(Progressive Web App)
  • 通過Apache Cordova構建移動APP(Android,iOS,…)
  • 多平臺桌面應用程序(使用Electron)

Quasar允許開發人員編寫一次代碼,然后使用相同的代碼庫同時部署為網站、PWA、Mobile App和Electron App。使用最先進的CLI設計應用程序,并提供精心編寫,速度非常快的Quasar Web組件。

當使用Quasar時,你不需要像Hammerjs,Momentjs或Bootstrap這樣的額外重型庫。它擁有這些功能,而且體積很小!

1-3-2

開箱即用。

1-3-3

兩個主題(將有更多)

該框架支持兩種最常用的主題 - Material主題和iOS主題。

1-3-4

通過Quasar CLI提供無與倫比的開發人員體驗

當使用Quasar的CLI時,開發人員將受益于:

  • 無論是網站,PWA,移動APP(直接在手機上還是在仿真器上)或Electron應用程序,更改應用程序源代碼時,都會進行狀態保持熱重載。開發人員只需更改他們的代碼,就可以看到應用即時更新,而不需要任何頁面刷新。
  • 狀態保持編譯錯誤覆蓋。
  • 使用ESLint進行Lint-on-save - 如果開發人員只喜歡使用他們的代碼
  • ES6代碼轉譯
  • Sourcemaps
  • 更改構建選項不需要手動重新加載開發服務器
  • 更多領先的開發工具和技術

1-3-5

底層技術

VueBabelWebpackCordovaElectron

除了Vue(需要半天的時間就能學會并永遠改變你),你并不需要知道其他技術。他們中的大多數都已集成并已為您配置。

Cordova提供了一組設備相關的API,通過這組API,移動應用能夠以JavaScript訪問原生的設備功能,如攝像頭、麥克風等。Cordova還提供了一組統一的JavaScript類庫,以及為這些類庫所用的設備相關的原生后臺代碼

Electron的正確讀法應該是[i?lektr?n]? ?使用 JavaScript、HTML 和 CSS 構建跨平臺桌面應用程序

  1. 2? ? .使用服務端渲染(SSR)或靜態站點生成(SSG):

    • Nuxt.js(Vue.js 的 SSR 框架)

    • Gridsome(基于 Vue.js 的 SSG 框架)

2-1.服務端渲染又稱SSR(Server Side Render)實在服務端完成頁面的內容,而不是在客戶端通過AJAX獲取數據
優勢:更好的SEO(搜索引擎),由于搜索引擎爬蟲抓取工具可以直接查看完全渲染的頁面

Nuxt.js是一個基于Vue.js的輕量級應用框架,可用來創建服務端渲染(SSR)應用,也可以充當靜態站點引擎生成靜態站點應用。
https://zh.nuxtjs.org

2-2Gridsome 讓開發人員可以輕松地構建靜態生成的網站和應用程序,這些網站和應用程序?天生速度快

? ?2-2-1?

便捷的本地開發

使用
?Vue.js、?GraphQL 等現代工具以及 Node.js 和 JavaScript 生態系統內所有強大的功能來構建網站。在本地開發時,可以立即對任何代碼的更改進行?熱加載(hot-reloading)

2-2-2

天生快速

Gridsome 利用?PRPL 模式將超高性能融入到每個頁面中。代碼拆分、資源優化、圖像漸進加載和鏈接預取功能開箱即用。用 Gridsome 構建的站點在默認配置下就能獲得幾乎完美的頁面速度得分。

2-2-3

基于 Jamstack 技術構建

web 的未來將是 JavaScript、API 和 Markup(標記語言) -?即 Jamstack。Gridsome 利用強大的靜態站點生成技術、JavaScript 和 API 來創建令人驚嘆的現代 web 體驗。

2-2-4

部署簡單、安全

無須服務器、無須數據庫、只有文件。將你的整個站點直接部署到 CDN 上,然后無須費心打理。用 Gridsome 構建的網站可以處理少至幾千多至百萬次的點擊而不會出現故障,并且無須高昂的服務器費用。

Vue 跨平臺性能優化十法

1. v-for 遍歷必須為 item 添加 key,且避免同時使用 v-if

2. 長列表性能優化

? ?純粹的數據展示,不會有任何改變,我們就不需要 Vue 來劫持我們的數據,減少組件初始化的時間,可以通過 Object.freeze 方法來凍結一個對象,一旦被凍結的對象就再也不能被修改了。

export default {data: () => ({users: {}}),async created() {const users = await axios.get("/api/users");this.users = Object.freeze(users);}
};
3. vue 組件中的 data 是函數而不是對象

4. 組件懶加載???對于頁面上不是首次加載就需要的組件,可以采用異步組件或路由懶加載的方式,延遲加載它們,提高首屏加載速度

5.合理使用?keep-alive:?對于經常切換的組件,可以使用 keep-alive 緩存組件實例,避免重復創建和銷毀,提高渲染性能。

6.避免頻繁的?Watcher?或深度監聽:?

7.使用異步組件和路由懶加載:

8.利用事件修飾符:?Vue.js 提供了一些方便的事件修飾符,如 .stop、.prevent、.once 等,合理使用它們可以減少不必要的事件監聽和處理。

9緩存重復獲取的數據:?通過合理使用 Vuex 狀態管理庫或本地緩存等方式,避免重復請求和計算相同的數據,提高性能和響應速度。

10.優化計算屬性和監聽器:?盡量避免在計算屬性或監聽器中進行復雜的計算或操作,因為它們會在每次數據變化時都被調用。確保這些函數保持簡單且高效。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23324.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23324.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23324.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構 | 超詳細講解七大排序(C語言實現,含動圖,多方法!)

目錄 ?編輯 排序的概念 常見排序算法 ?編輯 1.冒泡排序 🍹圖解 🥳代碼實現 🤔時間復雜度 2.插入排序 🍹圖解 🌴深度剖析 🍎代碼思路 🥳代碼實現 🤔時間復雜度 3.希爾…

2024 年適用于 Linux 的 5 個微軟 Word 替代品

對于那些最近由于隱私問題或其他原因而轉向 Linux 的用戶來說,可能很難替換他們最喜歡的、不在 Linux 操作系統上運行的應用程序。 尋找流行程序的合適替代品可能會成為一項挑戰,而且并不是每個人都準備好花費大量時間來嘗試弄清楚什么可以與他們在 Win…

讀書筆記|《把自己變成稀缺資產》:我們都擁有100分的欲望,卻只有1分的耐心。

哈嘍,你好啊,我是雷工! 最近在讀一本書《把自己變成稀缺資產》,其中一章講到耐心的重要性,很有共鳴。 當今社會,生活節奏越來越快,我們都在急于求成的追求結果,對過程越來越缺乏耐…

C++核心編程友元的應用

文章目錄 1.友元1.什么是友元2.全局函數做友元2.類做友元3.成員函數做友元 1.友元 1.什么是友元 在C中,友元(friend)是一種允許一個類或函數訪問另一個類的非公有(private 或 protected)成員的機制。這種機制打破了類…

系統研發安全漏洞

軟件安全漏洞指的是軟件中存在的具體缺陷或疏忽,這些缺陷或疏忽能夠被攻擊者利用并執行一些惡意行為。這些行為包括但不限于泄露或修改敏感信息、干擾或銷毀系統、接管計算機系統或程序權限等。與大眾熟悉的軟件缺陷(Bug)相比,安全…

Mysql中表的常用約束

在MySQL表中常用的約束有以下幾種: 1. 主鍵約束(Primary Key Constraint):用于標識表中的唯一記錄。一個表只能有一個主鍵,主鍵列不能有重復值,也不能為NULL。 2. 唯一約束(Unique Constraint…

2024050402-重學 Java 設計模式《實戰責任鏈模式》

重學 Java 設計模式:實戰責任鏈模式「模擬618電商大促期間,項目上線流程多級負責人審批場景」 一、前言 場地和場景的重要性 射擊🏹需要去靶場學習、滑雪🏂需要去雪場體驗、開車🚗需要能上路實踐,而編程…

Scanpy(4)用與數據整合和批次處理

Scanpy包,用與數據整合和批次處理,包含批次效應的BBKNN算法和用于對比的ingest基礎算法比較,及其原理簡介。 1. 依賴: (1)數據集(全部需要掛VPN): PBMC:pbmc3k_processed()(需要下載);pbmc68k_reduced()(scanpy自帶)Pancreas(需要下載)(2)Python包:Scanp…

【Python】把xmind轉換為指定格式txt文本

人工智能訓練通常需要使用文本格式,xmind作為一種常規格式不好進行解析,那如何把xmind轉換為txt格式呢? 軟件信息 python python -v Python 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)] on win32…

Python 包安裝及常用命令【python 入門】

背景: 近期看到一個項目,做微信只能機器人,服務是使用python搭建的,于是拷貝下來自己打算跑一跑,部署一下,可是自己又沒有python的經驗,于是各種查資料學習,跟著敲一敲,順…

Go 1.19.4 切片與子切片-Day 05

1. 切片 1.1 介紹 切片在Go中是一個引用類型,它包含三個組成部分:指向底層數組的指針(pointer)、切片的長度(length)以及切片的容量(capacity),這些信息共同構成了切片的…

單片機排水泵高壓方案

靈動微多顆算力高、高可靠性的通用系列和電機專用系列MCU,配合成熟的控制算法,覆蓋了包括洗衣機在內的各種大小家電市場。 RAMSUN提供的MM32 MCU種類較多,例如洗衣機內部的排水泵系統,排水泵控制首選電控高性價比產品MM32SPIN023…

JavaWeb_SpringBootWeb案例

環境搭建: 開發規范 接口風格-Restful: 統一響應結果-Result: 開發流程: 第一步應該根據需求定義表結構和定義接口文檔 注意: 本文代碼從上往下一直添加功能,后面的模塊下的代碼包括前面的模塊&#xff0c…

Xmind Pro 2024 專業版激活碼(附下載鏈接)

說到思維導圖,就不能不提 Xmind。這是一款優秀的思維導圖工具,擁有著豐富的導圖模板,漂亮的界面和配色,以及各種各樣的創意工具。 新架構速度更快 采用全新 Snowdancer 引擎,一種堪稱「黑科技」的先進圖形渲染技術。…

翹首以盼的抗鋸齒

Antialiasing 實際的圖形學中是怎么實現反走樣的呢? 我們不希望實際產出的圖形有鋸齒效果,那怎么辦呢? 從采樣的理論開始談起吧 Simpling theory 照片也是一種采樣,把景象打散成像素放到屏幕上的過程: 還可以在不…

14、企業數據資源相關會計處理暫行規定

為規范企業數據資源相關會計處理, 強化相關會計信息披露, 根據《中華人民共和國會計法》 和企業會計準則等相關規定, 現對企業數據資源的相關會計處理規定如下: 一、 關于適用范圍 本規定適用于企業按照企業會計準則相關規定確認為無形資產或存貨等資產類別的數據資源,以…

21 - 即時食物配送 II(高頻 SQL 50 題基礎版)

21 - 即時食物配送 II -- sum(if(order_datecustomer_pref_delivery_date,1,0))/count(*)sum(order_datecustomer_pref_delivery_date)/count(*) -- count(*),表示數據的行數,如果有分組,為分組后數據的行數select round(100*sum(if(order_datecustomer_…

【名詞解釋】Unity的Button組件及其使用示例

Unity的Button組件是Unity引擎中UI系統的一部分,它允許用戶創建可交互的按鈕,用戶可以點擊這些按鈕來觸發事件。Button組件通常用于游戲界面中,比如開始游戲、暫停游戲、選擇選項等。 Button組件的主要屬性包括: interactable: …

原來Stable Diffusion是這樣工作的

stable diffusion是一種潛在擴散模型,可以從文本生成人工智能圖像。為什么叫做潛在擴散模型呢?這是因為與在高維圖像空間中操作不同,它首先將圖像壓縮到潛在空間中,然后再進行操作。 在這篇文章中,我們將深入了解它到…

達摩院重大“遺產”!fluxonium量子比特初始化300納秒且保真度超過99%

通用量子計算機開發的主要挑戰之一是制備量子比特。十多年來,研究人員在構建量子計算機的過程中主要使用了transmon量子比特,這也是迄今為止商業上最成功的超導量子比特。 但與業界多數選擇transmon量子比特不同,(前)…