Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
avaScript 是一種編程語言,通常用于開發(fā)中等應(yīng)用程序。它是輕量級的,我們在日常生活中使用的大多數(shù)瀏覽器都支持它。它支持面向?qū)ο缶幊蹋?/span>OOP)和過程編程。因此,它通常用于使用前端腳本制作網(wǎng)頁以與用戶交互并使網(wǎng)頁有效和簡潔。
讓我們來看看 2022年的新興框架:
1. Angular
Angular 是一個開源應(yīng)用程序框架,適用于 TypeScript。主要優(yōu)勢有:
由于谷歌的支持,非常可靠。
用于執(zhí)行操作的大量工具。
節(jié)目質(zhì)量很高。
高質(zhì)量的代碼生成。
2. React
它基于可重復(fù)使用的組件,大多數(shù)公司將其用作主要的框架工具。React 很容易學(xué)習(xí),只要有 JavaScript 的基本知識。主要優(yōu)勢有:
高度可調(diào)。
組成的文件很小。
有一個很好的 JavaScript 庫。
穩(wěn)定性好。
3. Vue
Vue 是一個基于 JavaScript 的開源框架,主要用于為用戶構(gòu)建軟件界面。它的大小為 20KB,是所有框架中最小的。Vue主要優(yōu)勢有:
快速安裝。
可笑的小尺寸。
不需要在編碼之前研究組件。
使用簡單。
它提供了很多代碼擴展。
與其他編程語言融合沒有任何問題。
4. Meteor
Meteor 是一個基于 JavaScript 的免費開源框架,用 Node.js 編寫。 它具有在不同平臺之間生成跨平臺代碼的能力。主要優(yōu)勢有:
生成跨平臺代碼。
使用方便。
5. Ember
Ember 是一個基于模型-視圖-視圖-模型 (MVVM) 的開源 JavaScript 框架。 Ember主要優(yōu)勢有:
它包含內(nèi)置的測試工具。
來自用戶和開發(fā)人員的良好社區(qū)支持。
它能夠提供高性能。
它的性能很好
6. Ionic
Ionic 框架是用于混合移動開發(fā)的完整開源軟件開發(fā)工具包 (SDK),最新版本被重新構(gòu)建為一組 Web 組件。主要優(yōu)勢有:
它受到所有平臺的支持。
它允許用戶構(gòu)建應(yīng)用程序。
像 PayPal 這樣的大公司使用它。
Ionic 框架提供了一個命令行界面 (CLI) 來創(chuàng)建項目。
當(dāng)然除了以上提到的這些,還有很多優(yōu)秀的 Javascript 框架和庫,并且?guī)缀趺扛粢欢螘r間就會涌現(xiàn)一個新的產(chǎn)品。
了解更多
和往常一樣,jsPDF是一個開源的客戶端的PDF解決方案,在之前的文章中已經(jīng)介紹過幾個Web端和PDF相關(guān)的庫,jsPDF同樣是一個不錯的客戶端PDF引 SDK,你可以通過jsPDF在客戶端完成相關(guān)操作,它包含了非常豐富的API,幫助你完成一系列的復(fù)雜操作!可以說它是相當(dāng)領(lǐng)先的HTML5客戶端解決方案了!
https://github.com/MrRio/jsPDF
Github star數(shù)17k+,可以說相當(dāng)受歡迎了!
一般情況下我們會考慮使用包管理,常見的就是npm了,因此安裝非常簡單
npm install jspdf --save
或者也可以使用yarn
yarn add jspdf
接下來就是制作你的文件的時候了
默認(rèn)導(dǎo)出為a4紙張,縱向,使用毫米表示單位
var doc=new jsPDF() doc.text('Hello world!', 10, 10) doc.save('a4.pdf')
如果要更改紙張尺寸,方向或單位,可以執(zhí)行以下操作:
var doc=new jsPDF({ orientation: 'landscape', unit: 'in', format: [4, 2] }) doc.text('Hello world!', 1, 1) doc.save('two-by-four.pdf')
PDF中的14種標(biāo)準(zhǔn)字體僅限于ASCII代碼頁。如果要使用UTF-8,則必須集成自定義字體,該字體提供所需的字形。jsPDF支持.ttf文件。因此,如果你希望在pdf中使用中文文本,則您的字體必須具有必要的中文字形。因此,請檢查您的字體是否支持所需的字形,否則它將顯示空白而不是文本。
要將字體添加到j(luò)sPDF,在/fontconverter/fontconverter.html中使用官網(wǎng)提供的fontconverter。fontconverter將創(chuàng)建一個js文件,其中包含提供的ttf文件的內(nèi)容作為base64編碼的字符串和jsPDF的附加代碼。你只需將生成的js-File添加到項目中即可。然后,就可以在代碼中使用setFont-method并編寫UTF-8編碼文本。
常規(guī)操作
import * as jsPDF from 'jspdf'
有些框架,必須像下面這樣
import jsPDF from 'jspdf';
jsPDF的api非常豐富,在這里就不提供相關(guān)地址了,在Github必然找的到,本文重點不在于介紹jsPDF的用法,將部分API截圖展示,通過名稱大致能猜到一些意思,具體用法需要參考官網(wǎng)文檔:
從截圖來看,其文檔特別的詳細(xì),具體到每一個API在js文件的行數(shù),便于閱讀源代碼,包括參數(shù)以及返回值都非常明確:
官方提供了一個在線demo,可以直接運行代碼,感興趣的可以先嘗試一下:
jsPDF是筆者見過類似產(chǎn)品中較為突出的,幾乎涵蓋了所有PDF相關(guān)操作,非常詳細(xì)的文檔也讓開發(fā)者,輕松上手,在線demo還能快速學(xué)習(xí),如果你的項目對PDF的操作比較多,不妨嘗試下jsPDF,唯一需要注意的就是解決字體問題,但是上文也提到過解決方案,感興趣的可以進行體驗!
年來,業(yè)界已經(jīng)發(fā)布了大量 JavaScript 框架,怎樣進行選擇可能是一個挑戰(zhàn)。如果你感到困惑,不知道應(yīng)該選哪個或者究竟哪個適合你,那么我已經(jīng)幫你解決了問題。在本文中,我將列出用來構(gòu)建 Web 應(yīng)用程序的前10個 JavaScript 框架。
1. AngularJS
Angular 是最強大、最高效、最開源的 JavaScript 框架之一。在這個列表中不可能不提及 Angular。該框架由Google 運營,用于開發(fā)單頁應(yīng)用(SPA)。這個開發(fā)框架之所以出名,主要是因為它為開發(fā)人員提供了將JavaScript 與 HTML 和 CSS 結(jié)合起來的最佳條件。有超過五十萬個網(wǎng)站如 google.com、youtube.com 等正在使用 Angular。
Angular 的主要特性:
MVC 架構(gòu):AngularJS 最重要的特性之一是 MVC 架構(gòu)。 MVC 架構(gòu)分為三個元素,即模型、視圖和控制器。
Model:它是 MVC 架構(gòu)的最低層級,用來存儲數(shù)據(jù)。
View:負(fù)責(zé)向用戶展示你的所有數(shù)據(jù)。
控制器:它基本上是用來控制模型與視圖之間整個交互的代碼。
雙向綁定:這是一個令人驚嘆的功能,它將 AngularJS 與其他 JavaScript 框架區(qū)分開來。 Angular Data-Binding 在模型和視圖之間建立鏈接。在雙向數(shù)據(jù)綁定過程中,視圖會顯示在模型中所做的更改,反過來模型反映了在視圖中所做的更改。
單頁應(yīng)用:使用 AngularJS 框架,你可以構(gòu)建完全響應(yīng)式的單頁應(yīng)用,可以輕松完美地適應(yīng)不同的屏幕尺寸。與其他網(wǎng)絡(luò)應(yīng)用相比,它還能改善用戶體驗。由于基于 AngularJS 的單頁應(yīng)用是在客戶端渲染的,因此它們通過減少 Web 服務(wù)器上壓力來減少網(wǎng)絡(luò)流量。
HTML UI:AngularJS 的另一個重要特性是它使用 HTML 語言來構(gòu)建用戶界面。 HTML 語言是一種常見的聲明性語言,標(biāo)簽很短,易于理解。這導(dǎo)致了更簡單、更有條理的UI。 JavaScript 接口通常更難以開發(fā)和組織。如果你正在尋找一種快速,簡單且易于使用的解決方案,那么應(yīng)該就是它了。
2. React JS
React 是 Facebook 維護的另一個 JavaScript 庫,用于構(gòu)建交互式和復(fù)雜的 UI。它是最熱門的框架之一,有超過 3 萬個網(wǎng)站使用 React 實現(xiàn) UI。舉幾個網(wǎng)站:Microsoft.com、yahoo.com 等。
ReactJS 的主要特性:
Virtual DOM:在React中,對于每個 DOM 對象,都有一個對應(yīng)的“虛擬 DOM 對象”。虛擬 DOM 對象創(chuàng)建原始 DOM 的虛擬副本。這是一種單向數(shù)據(jù)綁定,由于修改時不需要實時向屏幕渲染,因此操作虛擬 DOM 比更新原始 DOM 快很多。
JSX:React 使用了 JSX,這是一個使用 HTML 引用的簡單 JavaScript,而不是用于模板的 JavaScript。你也可以使用 HTML 語法來渲染子組件,或使用老式的 JavaScript 編寫,這意味著無論采用哪種方式,你都可以靈活地進行編碼。
單向數(shù)據(jù)流:React.js 的設(shè)計方式使其只支持在一個流程中向下游傳遞的數(shù)據(jù)。如果數(shù)據(jù)必須向另一個方向流動,則需要其他功能支持。
組件:在React中,所有內(nèi)容都被視為組件,因此你可以輕松導(dǎo)入 React 支持的組件,而不是編碼或構(gòu)建整個功能,你可以方便的導(dǎo)入并使用它。
3. Vue
Vue是一個用于構(gòu)建 UI 的開源 JavaScript 框架。由于它的設(shè)計具有適應(yīng)性,Vue 簡化了與其他 JavaScript 庫的項目集成。目前超過 36,000 個網(wǎng)站正在使用 Vue。像 stackoverflow、playstation 等公司依賴 Vue 開發(fā)他們的網(wǎng)站界面。
VueJS的主要特性:
模板:Vue.js 提供基于 HTML 的模板,將 DOM 與 Vue.js 實例數(shù)據(jù)綁定。 Vue.js 將模板編譯為虛擬 DOM 渲染函數(shù)。 Web 開發(fā)人員可以使用渲染函數(shù)的模板,并可以使用渲染函數(shù)替換模板。
體積小:JavaScript 框架的成功取決于它的大小。個頭越小用的人越多。 Vue.js 最大的優(yōu)勢之一是體積小。該框架的大小為 18-21 KB。
適應(yīng)性:Vue 允許用戶用虛擬節(jié)點把模版寫在 HTML 文件、JavaScript 文件和純 JavaScript 文件中。這種靈活性還容易讓使用 React.js,Angular.js 和任何其他新 JavaScript 框架的開發(fā)人員理解。它基于 JavaScript 框架,可以集成到基于 JavaScript 構(gòu)建的其他程序中。
詳細(xì)的文檔:開發(fā)人員總是喜歡使用帶有詳細(xì)文檔的框架,因為他們總是很容易編寫自己的第一個應(yīng)用程序。Vue.js 的文檔非常全面,任何對 JavaScript 和 HTML 有所了解的用戶都可以用它開發(fā)自己的應(yīng)用或網(wǎng)頁。
4. jQuery
Jquery 是最古老的 JS 框架之一。這個框架已經(jīng)存在了 13 年之久,而且它仍然很強大。那么什么是 jQuery?
jQuery 是一個快速而簡潔的 JavaScript 庫,由 John Resig 在2006年創(chuàng)建,它有一個很好宗旨:寫得少,做得多。它是一個跨瀏覽器的 JavaScript 庫,旨在簡化 HTML 的客戶端腳本。目前有超過 1900 萬個網(wǎng)站正在使用jQuery!WordPress、Facebook、Google、IBM 和其他許多公司都依賴 jQuery 提供獨一無二的網(wǎng)絡(luò)瀏覽體驗。
jQuery的主要特性:
DOM操作:它使對 DOM 的操作變得非常容易,使開發(fā)人員可以通過易于學(xué)習(xí)的API(基于頂層 JavaScript)充分利用他們的創(chuàng)造力來創(chuàng)建令人驚嘆的東西。
大型社區(qū):其貢獻(xiàn)者的社區(qū)比任何其他 JavaScript 庫更加龐大和多樣化。它有廣泛而全面的文檔支持,不要忘記,它會不斷得到維護,并且會越來越強大。
AJAX支持:簡而言之,AJAX(異步 JavaScript 和 XML)是關(guān)于在后臺加載數(shù)據(jù)并將其顯示在網(wǎng)頁上,而無需重新加載整個頁面的技術(shù)。 jQuery 為 AJAX 功能提供了好幾種方法。通過 jQuery AJAX,你可以用 HTTP Get 和 HTTP Post 從遠(yuǎn)程服務(wù)器請求文本、HTML、XML或JSON。
跨瀏覽器支持:jQuery 具有跨瀏覽器支持特性,適用于 IE 6.0 +,F(xiàn)F 2.0 +,Safari 3.0 +,Chrome 和 Opera 9.0+等。
5. BackboneJS
BackboneJS 是一個輕量級 JavaScript 庫,用來開發(fā)和構(gòu)建在 Web 瀏覽器中運行的客戶端應(yīng)用。與其他框架不同,Backbone 讓開發(fā)人員負(fù)責(zé)選擇最適合當(dāng)前項目的工具。目前,超過50萬個網(wǎng)站正在使用 Backbone,其中包括tumblr.com、espn.com、soundcloud.com等等。
Backbone 的主要特性:
分離的業(yè)務(wù)和UI邏輯:Backbone 可以幫助你把自己的業(yè)務(wù)邏輯與用戶界面分開,這是非常重要的一點。當(dāng)兩者糾纏在一起時,修改將會變得很難。當(dāng)邏輯不依賴于 UI 時,你的界面會變得更加易用。
事件驅(qū)動的通信:當(dāng)項目不斷增長時,jQuery 聲明和回調(diào)將變得更加復(fù)雜,代碼變得更加混亂。 Backbone.js 通過在視圖和模型之間提供事件驅(qū)動的通信來克服這個問題。
更少的代碼:約定是引入通用編碼風(fēng)格的好方法,而無需提供大量的編碼標(biāo)準(zhǔn)。你遵守的 backbone 約定越多,編寫代碼的次數(shù)就越少,反過來代碼也會變得更加標(biāo)準(zhǔn)化,并具有可讀性。
與后端同步:由于其對 RESTful API 的出色支持,BackboneJS 中的模型可以輕松地與后端綁定。如果 API 設(shè)計正確,則 backbone 可以直接通過訪問這些操作來進行讀取、寫入和刪除操作。
6. NodeJS
Node.js 是一個基于 Google Chrome 的 JavaScript 引擎構(gòu)建的開源服務(wù)器端平臺。使用 NodeJS 的網(wǎng)站數(shù)量已超過 84,000 個。它是下載量最大的用于執(zhí)行 JavaScript 代碼的跨平臺運行時環(huán)境之一。
Node.js 的主要特性:
非阻塞:Node.js 庫的所有API都是異步的,即非阻塞的。這意味著基于 Node.js 的服務(wù)器永遠(yuǎn)不會等待 API 返回數(shù)據(jù)。服務(wù)器在調(diào)用它之后移動到下一個 API,并且事件的通知機制幫助服務(wù)器從先前的 API 調(diào)用獲得響應(yīng)。
單線程:Node.js 使用帶有事件循環(huán)的單線程模型。事件機制可幫助服務(wù)器以非阻塞方式響應(yīng),從而使服務(wù)器具有高度可伸縮性,而傳統(tǒng)服務(wù)器則創(chuàng)建有限的線程來處理請求。與 Apache HTTP Server 等傳統(tǒng)服務(wù)器相比,Node.js 使用的單線程程序可以為更多的請求提供服務(wù)。
快速:NodeJS 建立在Google Chrome 的 V8 引擎之上。 Google 的 V8 引擎確保 Node.js 庫以極快的速度執(zhí)行其代碼。
數(shù)據(jù)流:NodeJS 程序從不緩沖任何數(shù)據(jù),它們只是以數(shù)據(jù)塊的形式輸出數(shù)據(jù)。這樣 NodeJS 可以提供更快的服務(wù)。
7. Ember
Ember是一個開源的 JavaScript Web 框架,它允許開發(fā)人員通過將最佳實踐合并到框架中來構(gòu)建可伸縮的單頁面 Web 應(yīng)用。 Ember 被評為最佳的 JavaScript 客戶端框架,其主要競爭對手是 React 和 AngularJS。目前超過 6000 個網(wǎng)站正在使用 ember。僅舉幾例:nasa.gov、tutorialspoint.com 等。
Ember 的一些主要特性:
Web開發(fā)的未來:在 Babel JavaScript 轉(zhuǎn)換器的幫助下,Ember 允許開發(fā)人員使用未來的 JavaScript 標(biāo)準(zhǔn)并將其進行轉(zhuǎn)換為目前瀏覽器支持的代碼。不知道 Babel 是什么? Babel 是一個 JavaScript 轉(zhuǎn)換器,允許開發(fā)人員現(xiàn)在使用下一代 JavaScript 代碼。另外 Babel 受益于眾多插件,并且與 Ember、Rails、Sails 和 Meteor 等框架兼容。
Ember cli:Ember 和 Ember-CLI 完全是兩個不同的東西,但如果沒有另一個則兩者都不完整。 Ember-CLI 是一個命令行實用程序,它與 Ember 框架的軟件棧一起提供。 Ember-CLI 是一種強大的生產(chǎn)力工具,支持CoffeeScript、Handlebars、LESS 和 Sass 等。
Ember 模板:Ember 的模板內(nèi)置于 Ember 的 UI 中,這些模板使用 Handlebars 模板語言編寫。 Handlebars 以其使用雙花括號命名,它可以使開發(fā)人員寫更少的代碼。模板在 Ember 中提供了許多功能,例如組件、插口和表達(dá)式等。
CoC:它的唯一目的是速度和“把事情搞定”的理念,這對于那些總是努力超越競爭對手的初創(chuàng)公司來說是一個巨大的推動力。Ember 有關(guān)于其結(jié)構(gòu)的最佳實踐,這意味著開發(fā)人員可以更專注于實現(xiàn)業(yè)務(wù),而不是通過繁瑣的代碼重新發(fā)明輪子。有更多的成果,而不是藍(lán)圖。
8. Meteor
Meteor 是一個用 NodeJS 編寫的免費開源 JavaScript 框架。它允許進行快速原型設(shè)計并生成跨平臺代碼。它在市場上越來越受歡迎,超過 13,000 個網(wǎng)站使用了 Meteor。像mtv.com、meteofrance.com等網(wǎng)站利用 Meteor 來構(gòu)建他們的用戶界面。
Meteor 的主要特性:
全棧:Meteor 為開發(fā)和部署 Web 應(yīng)用提供了全棧解決方案。 Meteor 捆綁了幾個內(nèi)置功能,如反應(yīng)式模板、自動 CSS 等。
智能包:為你的應(yīng)用開發(fā)登錄系統(tǒng)可能會很麻煩。但 Meteor 不會。 Meteor 軟件包可以輕松添加用戶帳戶,還有 React 之類的 JavaScript 庫等。最好方便的是,添加這些類型的智能包很容易,只需在終端中敲幾下鍵盤就可以了。
實時網(wǎng)絡(luò)應(yīng)用:Meteor 是構(gòu)建實時程序的完美解決方案。從數(shù)據(jù)庫到模板所有的層都會自動更新。這意味著無需刷新頁面即可查看更新。對文檔的任何修改都會立即保存。這使得 Meteor 成為實時協(xié)作的完美解決方案。
單一語言開發(fā):Meteor 允許在前端和后端使用相同的代碼,可用于移動和 Web 應(yīng)用。它可以杜絕安裝和配置不同的庫、模塊管理器、API、驅(qū)動程序等。這大大的節(jié)省了開發(fā)人員的時間,因為他們不需要在服務(wù)器語言和 JavaScript 之間執(zhí)行上下文切換。
9. Polymer
Polymer 是一個由 Google 維護的開源 JavaScript 庫,用于使用 Web 組件構(gòu)建 Web 應(yīng)用。目前,有超過3000個網(wǎng)站正在使用聚合物,比如virustotal.com、rogers.com、zeplin.io等。
與其他 JavaScript 框架不同,Polymer 讓開發(fā)人員構(gòu)建組件時去利用 Web 中存在的功能。它是第一個利用 Web 組件來對應(yīng)用進行交互式構(gòu)建的庫。
Polymer 的關(guān)鍵特性:
Web 組件:Polymer 構(gòu)建在 Web 組件的思想之上。 Web 組件是一組 w3c 標(biāo)準(zhǔn),由幾種不同的 Web 技術(shù)組成,其中包括自定義元素。這些組件是瀏覽器的一部分,所以你不需要任何第三方工具和庫,比如 jQuery。
單向和雙向數(shù)據(jù)綁定:它提供單向和雙向數(shù)據(jù)綁定。Polymer 旨在支持在單向和雙向流動的數(shù)據(jù)。
本機瀏覽器:Polymer 使用本機瀏覽器技術(shù),而不是依賴于自定義 JavaScript 庫。Polymer 的 DOM 層最接近本機 JavaScript 層。
自定義元素:它允許使用 HTML、CSS 和 JavaScript 輕松創(chuàng)建自定義元素,以便向元素添加交互。 Polymer.js 提供了創(chuàng)建自定義 HTML 元素的最簡單方法,因為它的庫是基于 Web 標(biāo)準(zhǔn) API 構(gòu)建的。
10. Aurelia
Aurelia 是一個開源的現(xiàn)代 JavaScript 模塊工具箱,其有助于 Web 和移動應(yīng)用程序的發(fā)展。它也被稱為“下一代框架”。該框架自推出以來一直受到廣泛認(rèn)可。 Fileee、Freska、Ordami 和 BTEK Software 等公司以及800多個網(wǎng)站都使用了 Aurelia。
不要忘記,Aurelia 是唯一允許開發(fā)人員使用原生 TypeScript 或 JavaScript 構(gòu)建組件的框架。
下面我列出了 Aurelia 的一些主要功能:
多語言支持:Aurelia 的 API 經(jīng)過精心設(shè)計,可以用于當(dāng)今和未來最實用的 Web 編程語言。 Aurelia 支持 ES5、ES2015、ES2016 和 Typescript,它非常有用,并能夠為你提供高度的靈活性。
模塊框架:Aurelia 不是采用單一框架的方式,而是由較小的、專注的模塊組成。把它們放在一起可以組成功能齊全的框架,也可以通過自定義構(gòu)建可選擇的方案。
整潔的文檔:Aurelia 提供了一個非常詳細(xì)并有用的文檔集,可以幫助所有的開發(fā)人員。它以良好的文檔維護而聞名。
可擴展的 HTML:Aurelia 的可擴展 HTML 編譯器允許你創(chuàng)建自定義 HTML 元素,可以向現(xiàn)有元素中添加自定義屬性并控制模板生成,所有這些都完全支持動態(tài)加載、數(shù)據(jù)綁定和高性能批量渲染。
小編是一個有著5年工作經(jīng)驗的架構(gòu)師,關(guān)于web前端,自己有做材料的整合,一個完整學(xué)習(xí)web前端的路線,學(xué)習(xí)材料和工具。需要的伙伴可以私信我,發(fā)送“前端”等3秒后就可以獲取領(lǐng)取地址,免費送給大家。對于學(xué)習(xí)web前端有任何問題(學(xué)習(xí)方法,學(xué)習(xí)效率,如何就業(yè))都可以問我。希望你也能憑自己的努力,成為下一個優(yōu)秀的程序員!
以上介紹10個最受歡迎的 JavaScript 框架,以及它們的主要特征和功能
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。