① 使用flask進行前端後台的數據交互
flask是一個輕量級的web框架,下面整理講一下如何使用
其實步驟很簡單
1,初始化
app = Flask( name ),創建flask對象app,flask類的構造器必須指定的參數,如果是model的話,括弧里就放model名,如果是單獨應用可以使用 name 。
在初始化之後,用config.update或者.debug兩種方式來定義是否debug的參數。線上程序為了安全需將這個參數設置為false,也就是不讓debug
2,路由
通過裝飾器的方式將我們的方法轉換為路由,具體方法如下:
3,前後端的交互方式
方式一:前端發送,後端接收
前端通過ajax或者form的submit來生成後端所需要的內容(ajax看上一頁)
後端通過request.form來獲取前端post的參數
方式二:後端發送,前端接收
後端通過模版引擎render_template來進行交互
後端通過return render_template(』hello.html』, name=name)來向hello.html頁面進行name的傳遞
Html頁面放的地址必須在templates文件夾下。
前端獲取方式:
{% if name %}
<h1>Hello {{ name }}!</h1>
② 編程語言python入門要學習哪些
學習python,主要學習ython基礎語法、數據類型、字元編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等;之後再進階學習,如框架等。
階段一:Python開發基礎
Python全棧開發與人工智慧之Python開發基礎知識學習內容包括:Python基礎語法、數據類型、字元編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等。
階段二:Python高級編程和資料庫開發
Python全棧開發與人工智慧之Python高級編程和資料庫開發知識學習內容包括:面向對象開發、Socket網路編程、線程、進程、隊列、IO多路模型、Mysql資料庫開發等。
階段三:前端開發
Python全棧開發與人工智慧之前端開發知識學習內容包括:Html、CSS、JavaScript開發、Jquery&bootstrap開發、前端框架VUE開發等。(更多學習內容,請點擊Python學習網)
階段四:WEB框架開發
Python全棧開發與人工智慧之WEB框架開發學習內容包括:Django框架基礎、Django框架進階、BBS+Blog實戰項目開發、緩存和隊列中間件、Flask框架學習、Tornado框架學習、Restful API等。
階段五:爬蟲開發
Python全棧開發與人工智慧之爬蟲開發學習內容包括:爬蟲開發實戰。
階段六:全棧項目實戰
Python全棧開發與人工智慧之全棧項目實戰學習內容包括:企業應用工具學習、CRM客戶關系管理系統開發、路飛學城在線教育平台開發等。
階段七:數據分析
Python全棧開發與人工智慧之數據分析學習內容包括:金融量化分析。
階段八:人工智慧
Python全棧開發與人工智慧之人工智慧學習內容包括:機器學習、圖形識別、無人機開發、無人駕駛等。
階段九:自動化運維&開發
Python全棧開發與人工智慧之自動化運維&開發學習內容包括:CMDB資產管理系統開發、IT審計+主機管理系統開發、分布式主機監控系統開發等。
階段十:高並發語言GO開發
Python全棧開發與人工智慧之高並發語言GO開發學習內容包括:GO語言基礎、數據類型與文件IO操作、函數和面向對象、並發編程等。
相關信息:
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重復書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。
Python開發者有意讓違反了縮進規則的程序不能通過編譯,以此來強製程序員養成良好的編程習慣。並且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非使用花括弧或者某種關鍵字。增加縮進表示語句塊的開始,而減少縮進則表示語句塊的退出。縮進成為了語法的一部分。
③ 零基礎入門學習Python去哪兒
對於零基礎學習Python開發的小夥伴,小蝸這里整理了一份Python全棧開發學習路線,可參照這份大綱來進行學習~
第一階段:專業核心基礎
階段目標:
1. 熟練掌握Python的開發環境與編程核心知識
2. 熟練運用Python面向對象知識進行程序開發
3. 對Python的核心庫和組件有深入理解
4. 熟練應用SQL語句進行資料庫常用操作
5. 熟練運用Linux操作系統命令及環境配置
6. 熟練使用MySQL,掌握資料庫高級操作
7. 能綜合運用所學知識完成項目
知識點:
Python編程基礎、Python面向對象、Python高級進階、MySQL資料庫、Linux操作系統。
1、Python編程基礎,語法規則,函數與參數,數據類型,模塊與包,文件IO,培養扎實的Python編程基本功,同時對Python核心對象和庫的編程有熟練的運用。
2、Python面向對象,核心對象,異常處理,多線程,網路編程,深入理解面向對象編程,異常處理機制,多線程原理,網路協議知識,並熟練運用於項目中。
3、類的原理,MetaClass,下劃線的特殊方法,遞歸,魔術方法,反射,迭代器,裝飾器,UnitTest,Mock。深入理解面向對象底層原理,掌握Python開發高級進階技術,理解單元測試技術。
4、資料庫知識,範式,MySQL配置,命令,建庫建表,數據的增刪改查,約束,視圖,存儲過程,函數,觸發器,事務,游標,PDBC,深入理解資料庫管理系統通用知識及MySQL資料庫的使用與管理。為Python後台開發打下堅實基礎。
5、Linux安裝配置,文件目錄操作,VI命令,管理,用戶與許可權,環境配置,Docker,Shell編程Linux作為一個主流的伺服器操作系統,是每一個開發工程師必須掌握的重點技術,並且能夠熟練運用。
第二階段:PythonWEB開發
階段目標:
1. 熟練掌握Web前端開發技術,HTML,CSS,JavaScript及前端框架
2. 深入理解Web系統中的前後端交互過程與通信協議
3. 熟練運用Web前端和Django和Flask等主流框架完成Web系統開發
4. 深入理解網路協議,分布式,PDBC,AJAX,JSON等知識
5. 能夠運用所學知識開發一個MiniWeb框架,掌握框架實現原理
6. 使用Web開發框架實現貫穿項目
知識點:
Web前端編程、Web前端高級、Django開發框架、Flask開發框架、Web開發項目實戰。
1、Web頁面元素,布局,CSS樣式,盒模型,JavaScript,JQuery與Bootstrap掌握前端開發技術,掌握JQuery與BootStrap前端開發框架,完成頁面布局與美化。
2、前端開發框架Vue,JSON數據,網路通信協議,Web伺服器與前端交互熟練使用Vue框架,深入理解HTTP網路協議,熟練使用Swagger,AJAX技術實現前後端交互。
3、自定義Web開發框架,Django框架的基本使用,Model屬性及後端配置,Cookie與Session,模板Templates,ORM數據模型,Redis二級緩存,RESTful,MVC模型掌握Django框架常用API,整合前端技術,開發完整的WEB系統和框架。
4、Flask安裝配置,App對象的初始化和配置,視圖函數的路由,Request對象,Abort函數,自定義錯誤,視圖函數的返回值,Flask上下文和請求鉤子,模板,資料庫擴展包Flask-Sqlalchemy,資料庫遷移擴展包Flask-Migrate,郵件擴展包Flask-Mail。掌握Flask框架的常用API,與Django框架的異同,並能獨立開發完整的WEB系統開發。
第三階段:爬蟲與數據分析
階段目標:
1. 熟練掌握爬蟲運行原理及常見網路抓包工具使用,能夠對HTTP及HTTPS協議進行抓包分析
2. 熟練掌握各種常見的網頁結構解析庫對抓取結果進行解析和提取
3. 熟練掌握各種常見反爬機制及應對策略,能夠針對常見的反爬措施進行處理
4. 熟練使用商業爬蟲框架Scrapy編寫大型網路爬蟲進行分布式內容爬取
5. 熟練掌握數據分析相關概念及工作流程
6. 熟練掌握主流數據分析工具Numpy、Pandas和Matplotlib的使用
7. 熟練掌握數據清洗、整理、格式轉換、數據分析報告編寫
8. 能夠綜合利用爬蟲爬取豆瓣網電影評論數據並完成數據分析全流程項目實戰
知識點:
網路爬蟲開發、數據分析之Numpy、數據分析之Pandas。
1、爬蟲頁面爬取原理、爬取流程、頁面解析工具LXML,Beautifulfoup,正則表達式,代理池編寫和架構、常見反爬措施及解決方案、爬蟲框架結構、商業爬蟲框架Scrapy,基於對爬蟲爬取原理、網站數據爬取流程及網路協議的分析和了解,掌握網頁解析工具的使用,能夠靈活應對大部分網站的反爬策略,具備獨立完成爬蟲框架的編寫能力和熟練應用大型商業爬蟲框架編寫分布式爬蟲的能力。
2、Numpy中的ndarray數據結構特點、numpy所支持的數據類型、自帶的數組創建方法、算術運算符、矩陣積、自增和自減、通用函數和聚合函數、切片索引、ndarray的向量化和廣播機制,熟悉數據分析三大利器之一Numpy的常見使用,熟悉ndarray數據結構的特點和常見操作,掌握針對不同維度的ndarray數組的分片、索引、矩陣運算等操作。
3、Pandas裡面的三大數據結構,包括Dataframe、Series和Index對象的基本概念和使用,索引對象的更換及刪除索引、算術和數據對齊方法,數據清洗和數據規整、結構轉換,熟悉數據分析三大利器之一Pandas的常見使用,熟悉Pandas中三大數據對象的使用方法,能夠使用Pandas完成數據分析中最重要的數據清洗、格式轉換和數據規整工作、Pandas對文件的讀取和操作方法。
4、matplotlib三層結構體系、各種常見圖表類型折線圖、柱狀圖、堆積柱狀圖、餅圖的繪制、圖例、文本、標線的添加、可視化文件的保存,熟悉數據分析三大利器之一Matplotlib的常見使用,熟悉Matplotlib的三層結構,能夠熟練使用Matplotlib繪制各種常見的數據分析圖表。能夠綜合利用課程中所講的各種數據分析和可視化工具完成股票市場數據分析和預測、共享單車用戶群里數據分析、全球幸福指數數據分析等項目的全程實戰。
第四階段:機器學習與人工智慧
階段目標:
1. 理解機器學習相關的基本概念及系統處理流程
2. 能夠熟練應用各種常見的機器學習模型解決監督學習和非監督學習訓練和測試問題,解決回歸、分類問題
3. 熟練掌握常見的分類演算法和回歸演算法模型,如KNN、決策樹、隨機森林、K-Means等
4. 掌握卷積神經網路對圖像識別、自然語言識別問題的處理方式,熟悉深度學習框架TF裡面的張量、會話、梯度優化模型等
5. 掌握深度學習卷積神經網路運行機制,能夠自定義卷積層、池化層、FC層完成圖像識別、手寫字體識別、驗證碼識別等常規深度學習實戰項目
知識點:
1、機器學習常見演算法、sklearn數據集的使用、字典特徵抽取、文本特徵抽取、歸一化、標准化、數據主成分分析PCA、KNN演算法、決策樹模型、隨機森林、線性回歸及邏輯回歸模型和演算法。熟悉機器學習相關基礎概念,熟練掌握機器學習基本工作流程,熟悉特徵工程、能夠使用各種常見機器學習演算法模型解決分類、回歸、聚類等問題。
2、Tensorflow相關的基本概念,TF數據流圖、會話、張量、tensorboard可視化、張量修改、TF文件讀取、tensorflow playround使用、神經網路結構、卷積計算、激活函數計算、池化層設計,掌握機器學習和深度學習之前的區別和練習,熟練掌握深度學習基本工作流程,熟練掌握神經網路的結構層次及特點,掌握張量、圖結構、OP對象等的使用,熟悉輸入層、卷積層、池化層和全連接層的設計,完成驗證碼識別、圖像識別、手寫輸入識別等常見深度學習項目全程實戰。
④ 前端八股文指的是什麼
八股文就是指文章的八個部分。
文體有固定格式由破題、承題、起講、入題、起股、中股、後股、束股八部分組成,題目一律出自四書五經中的原文。
後四個部分每部分有兩股排比對偶的文字,合起來共八股。
⑤ 2021年的前端框架選擇 Angular vs React vs Vue
每個前端開發人員都聽說過三個用於構建 Web 應用程序的框架:React、Vue.js和Angular。
React 是一個 UI 庫,Angular 是一個成熟的前端框架,而 Vue.js 是一個漸進式框架。
它們幾乎可以互換使用來構建前端應用程序,但它們並非 100% 相同,因此比較它們並了解它們的差異是有意義的。
每個框架都是基於組件的,並允許快速創建 UI 功能。
然而,它們都有不同的結構和架構——所以首先,我們將研究它們的架構差異以了解它們背 後的哲學。
React 不強制執行特定的項目結構,正如您從下面的官方「Hello World」示例中看到的那樣,您只需幾行代碼即可開始使用 React。
React 可以用作 UI 庫來渲染元素,而無需強制執行特定的項目結構,這就是它不是嚴格意義上的框架的原因。
React Elements是 React 應用程序的最小構建塊。它們比 DOM 元素更強大,因為 React DOM 確保在發生變化時有效地更新它們。
組件是更大的構建塊,定義了在整個應用程序中使用的獨立且可重用的部分。它們接受稱為 props 的輸入並生成元素,然後顯示給用戶。
React 基於 JavaScript,但它主要與JSX (JavaScript XML)結合,這是一種語法擴展,允許您創建同時包含 HTML 和 JavaScript 的元素。
您使用 JSX 創建的任何內容也可以使用 React JavaScript API 創建,但大多數開發人員更喜歡 JSX,因為它更直觀。
Vue.js 核心庫只關注視圖層。之所以稱為漸進式框架,是因為您可以使用官方和第三方包(例如Vue Router或Vuex )擴展其功能,將其轉變為實際框架。
雖然 Vue 與 MVVM(Model-View-ViewModel)模式沒有嚴格關聯,但它的設計部分受到了它的啟發。使用 Vue,您將主要在 ViewModel 層上工作,以確保以允許框架呈現最新視圖的方式處理應用程序數據。
Vue 的模板語法讓您可以創建 View 組件,並將熟悉的 HTML 與特殊指令和功能相結合。這種模板語法是首選,即使原始 JavaScript 和 JSX 也受支持。
Vue 中的組件很小,是自包含的,並且可以在整個應用程序中重復使用。帶有擴展名的單文件組件(SFC).vue包含 HTML、CSS 和 JavaScript,因此所有相關代碼都位於一個文件中。
SFC 是在 Vue.js 項目中組織代碼的推薦方式,尤其是大型項目。需要使用 Webpack 或 Browserify 等工具將 SFC 轉換為可用的 JavaScript 代碼。
在本文中,我討論的是 Angular 2,而不是現在稱為 AngularJS 的框架的第一個版本。
AngularJS,原始框架,是一個MVC(模型-視圖-控制器)框架。但是在Angular 2 中,與 MV*-patterns 沒有嚴格的關聯,因為它也是基於組件的。
Angular 中的項目被組織成模塊、組件和服務。每個 Angular 應用程序至少有一個根組件和一個根模塊。
Angular 中的每個組件都包含一個模板、一個定義應用程序邏輯的類和元數據(裝飾器)。組件的元數據告訴 Angular 在哪裡可以找到創建和呈現其視圖所需的構建塊。
Angular 模板是用 HTML 編寫的,但也可以包含帶有特殊指令的Angular 模板語法,以輸出反應性數據和呈現多個元素等。
組件使用 Angular 中的服務來委託業務邏輯任務,例如獲取數據或驗證輸入。它們是 Angular 應用程序的獨特部分。雖然 Angular 不強制使用它們,但強烈建議將應用程序構建為一組可以重用的不同服務。
Angular 內置於 TypeScript 中,因此建議使用它以獲得最無縫的體驗,但也支持純 JavaScript。
React 是最受歡迎的 JavaScript 項目之一,在 GitHub 上擁有 16 萬顆星。它由 Facebook 開發和維護,並在他們的許多項目內部使用。此外,根據BuiltWith的使用統計數據,它為超過 200 萬個網站提供支持。
在三個框架中,Vue在 GitHub上的 star 數最多,有 176k。該項目由前 Google 員工 Evan You 開發和領導。據BuiltWith 稱,這是開源社區中一個非常強大的獨立項目,被超過 100 萬個網站使用。
Angular 是由 Google 開發的,但令人驚訝的是它並沒有用於他們的一些旗艦產品,例如搜索或 Youtube。它經常用於企業項目,並基於BuiltWith的數據為超過 97,000 個網站提供支持。
它是三個框架中星數最少的,在 GitHub 上有 68k 星。然而,當從 Angular 1 切換到 Angular 2 時,他們創建了一個全新的代碼庫,而不是繼續AngularJS項目,該項目也有 59k 星。
在開發應用程序時,開源包可以為您節省寶貴的時間。不僅如此,它們通常比定製組件和封裝更好,因為它們經過了實戰測試。
查看可幫助您更輕松地創建新功能的現成組件、主題和其他工具的可用性非常重要。
許多前端應用程序依賴全局狀態管理來存儲信息,例如誰登錄和其他用戶設置。
最流行的 JavaScript 狀態管理項目是Rex。大多數開發人員使用Rex的官方 React 綁定,這些綁定由 Rex 團隊維護。
由於 React 的流行,查找輸入組件和現成的元素非常容易。它們都只是在 Google 或 GitHub 上搜索即可。
React 生態系統還包括React Native,它允許您從用 React 編寫的單個代碼庫構建原生 iOS 和 Android 應用程序。因此,React 也可以成為使用 Web 技術構建移動應用程序的絕佳選擇。
React 是 MERN 堆棧的一部分,其中包含 MongoDB、ExpressJS、React 和 NodeJS。這種組合的偉大之處在於,單一語言——JavaScript——為整個應用程序提供動力。
盡管 Rex 可以在 Vue 中使用,但沒有官方綁定。但這不應該讓您擔心,因為Vuex是專門為 Vue 應用程序製作的官方狀態管理庫。除了與 Vue 很好地集成之外,使用 Vue 的開發人員工具進行調試也很容易。
在 Vue 的早期,很難找到現成的組件。隨著社區的發展,您可以使用各種輸入組件和高級元素來加快開發速度。
對於移動應用程序開發,有一個名為Weex 的新興項目。Weex 由阿里巴巴開發和使用,但不如 React Native 成熟和強大。更重要的是,由於該項目在中國開發和使用較多,因此很難找到英文文檔和解決問題的方法。
Vue 與 Laravel 集成得很好,這就是為什麼它們經常一起使用。Laravel 提供完整的JavaScript 和 CSS 腳手架,以支持在新項目中使用 Vue。
對於 Angular 中的狀態管理,您可以使用NgRx項目。它的靈感來自 Rex,但它是專門為 Angular 創建的。
與 Vue 和 React 的情況一樣,您可以將許多現成的組件導入到您的項目中。與 Angular 略有不同的是,Angular Material項目中有許多官方組件。這是 Google 的一個官方項目,為 Angular 應用程序提供 Material Design 組件。
您可以使用NativeScript在 Angular 中構建跨平台移動應用程序。它也支持 Vue,但 Angular 支持更成熟。
Angular 是著名的 MEAN 堆棧的一部分,它將 Angular 與 MongoDB、ExpressJS 和 NodeJS 相結合。與 MERN 堆棧類似,它的前端和後端都完全依賴 JavaScript。
Angular、React 和 Vue 都可用於開發漸進式 Web 應用程序,也稱為 PWA。
PWA 不是移動應用程序,而是 Web 應用程序,智能手機用戶可以將其添加為主屏幕的快捷方式,並提供類似於原生移動應用程序的外觀和感覺。
您還可以為每個框架找到高級模板和預制應用程序,但 Angular 和 React 比 Vue 提供更多高級選項。
在選擇框架或庫時,您還需要考慮性能。
在許多情況下,您不必擔心性能,尤其是在構建小型項目時。然而,項目的范圍和復雜性越大,性能就會(並且將會)成為一個問題。
重要的是要注意,在 Web 性能方面,開發質量和遵循最佳實踐比框架的選擇更重要。
但由於存在一些性能指標和差異,我將研究它們並解釋每個指標如何影響您的開發工作。
JS 框架基準測試的結果表明,它們在大多數基準測試中都表現得相當好,例如在表中創建或附加行。
正如你在上面看到的,Vue 在選擇行時比 Angular 和 React 慢得多。另一方面,Angular 和 React 在交換行方面效率不高。
這些是渲染基準中唯一的實質性差異 - 在大多數情況下,不會產生明顯的結果。由於選擇行是比交換行更常見的功能,我想說這個基準測試將 Vue 排在第三位,僅次於 Angular 和 React 並列第一。
在內存和啟動時間方面,React 和 Vue 得分很好,但 Angular 稍慢。Angular 啟動一個基本腳本可能需要 150 毫秒,並且需要更多內存才能運行。
谷歌 Chrome 實驗室的Perf Track顯示了來自數千個網站的生產數據。這些統計數據受許多其他因素的影響,而不僅僅是選擇的框架,讓我們看看數字。
與 Angular 相比,Vue 和 React 網站在這個指標上的排名更高,Angular 需要更多時間來啟動並向用戶呈現內容。
在渲染完整頁面的三個框架中,Angular 也是最慢的,只有 27% 的 Angular 網站得分在可接受的范圍內。
對於所有三個框架,超過 80% 的網站都在第一次輸入延遲的可接受范圍內,這顯示了用戶可以與頁面交互所需的時間。
迄今為止,最輕量級的應用程序是使用 Vue 開發的應用程序,68% 的 Vue 應用程序載入的 JavaScript 不到 1MB。另一方面,Angular 和 React 應用程序往往具有更大的代碼大小。
您可以從這些數字中看到趨勢,但您不應該太快得出結論。例如,對於最後一張圖,可以解釋為 Vue 用於開發更輕量級的應用程序,而 Angular 用於更大的項目。
統計數據可以幫助指導您做出正確的決定,但您不能使用它們來證明一個框架比另一個更快或更好。
對於更高級的應用程序,使用的前端框架應該能夠執行一些提高性能並且可以更好地擴展的任務。
兩項關鍵技術是伺服器端渲染 (SSR) 和虛擬化。
React 支持使用官方ReactDOMServer包進行伺服器端渲染。對於虛擬化,您可以使用名為React Virtualized的流行第三方工具。
Vue 中也支持伺服器端渲染以及官方的SSR 包。此外,您還可以使用基於 Vue 構建並支持 SSR的Nuxt.js框架。
不幸的是,Vue 中的虛擬化選項並不是那麼強大。在我看來,Vue Virtual Scroll List是虛擬滾動的最佳解決方案,但它有點問題,不如 React 和 Angular 的選項穩定。
Angular 擁有SSR的官方Angular Universal包,以及用於虛擬滾動和高效渲染大型列表的官方組件。
學習這些框架有多容易?
要回答這個問題,我們需要查看每個框架的復雜性及其引入的概念。
在最基本的用例中,React 是三個框架中最不復雜的。那是因為你只需要導入庫,然後你就可以用幾行代碼開始編寫你的 React 應用程序。
但是除了 Hello World 示例之外,大多數 React 應用程序都是基於組件的,而不僅僅是在頁面上呈現一些元素。
一些開發人員對 React 感到奇怪或困難的一件事是,學習 JSX 是一條單行道。您也可以使用原始 JavaScript,但由於大多數 React 開發人員使用 JSX,學習它幾乎是不可避免的。
這是使 React 的學習曲線變得更陡峭的主要因素,但除此之外,對於了解 JavaScript 並理解 Web 開發概念的開發人員來說,它是一個易於學習的庫。
Vue 的設置比 React 稍微復雜一些。你可以將它用作一個庫來定義你可以在整個 HTML 中使用的組件——但與 React 類似,這不是大多數項目的構建方式。
大多數 Vue 項目都有一個命名的根組件App.vue和一些用於顯示各種內容的子組件。
說到語法,你唯一需要學習的新東西就是 Vue 的模板語法,如果你了解 HTML,這很容易掌握。基本的指令,如v-if和v-for有條件的渲染和列表的渲染,很容易理解即使是初學者。
此外,Vue 的單文件組件將所有前端代碼保存在一個地方,便於組織新項目。
在我看來,Vue 是最容易學習的,因為它的簡單和直觀的語法。
Angular 擁有三者中最復雜的項目結構,而且由於它是一個成熟的前端框架,因此它依賴的概念更多。
除了組件,Angular 還支持模塊和服務。它希望您以特定的方式編寫和設計代碼庫,從而使您的項目在擴展時更易於維護。
至於語法,由於 Angular 最適合與 TypeScript 配合使用,因此在構建 Angular 項目時了解 TypeScript 非常重要。
與 Vue 一樣,您還必須熟悉類似 HTML 的語法,以便您可以開始使用 Angular 編寫新的 UI 功能。
在我看來,Angular 對於普通開發者來說是最難學的,因為它更復雜並且依賴於 TypeScript。
許多開源項目和框架逐漸被遺忘並無人維護。您是否應該擔心我們在這里討論的任何框架?
盡管我們無法完全預測會發生什麼,但正在進行的開發工作是這些項目 健康 狀況的良好指標。人氣和增長也是預測項目壽命的重要指標,所以讓我們來看看每個框架。
React v17.0已經發布,但令人驚訝的是,它沒有為開發人員提供任何新功能。
主要的變化是這個新版本可以更容易地升級 React 本身。您可以將 React 的某些部分從舊版本升級到新版本,而無需升級整個項目。
如果您的應用程序依賴於隨新版本更改或棄用的功能,您可以保留舊版本以保持此功能有效。此更新使 React 成為一個很好的長期選擇,因為它可以更輕松地與新版本保持同步。
React 的每周 npm 下載量自去年以來增長了 44% 。從絕對數量來看,它仍然是三個項目中下載量最大的。
Vue 3 已於2020 年 9 月發布,它解決了 Vue 2 在大型項目中存在的許多嚴重問題。它引入了受React Hooks啟發的Composition API,可以更輕松地跨組件重用邏輯。
整個項目用 TypeScript 重寫,提高了新 Vue 項目對 TypeScript 的支持,同時也使項目更易於維護。
Vue 3 是一個急需的升級,使 Vue 更適合大型項目。
Vue 的每周下載量自去年以來增長了 87%,使 Vue 成為相對而言增長最快的框架。如果 Vue 能夠保持這種增長速度,那麼它肯定會很快超過 Angular。
Angular 最近推出了Ivy 編譯器。它減少了構建時間,優化了資產,允許更快的測試,並總體上改善了開發人員的體驗。
Angular 團隊每年發布兩次重大更新,其中可能包含新功能,或者只是讓框架跟上新瀏覽器版本的速度。
自去年以來,Angular 的每周下載量增長了約 50% ,因此它仍然是一個受歡迎的項目。
Angular、React 和 Vue 都處於非常活躍的開發階段。他們定期發布新版本並維護現有版本。由於在每種情況下當前的支持水平都很高,因此您可以安全地使用這些框架中的任何一個。
需要注意的是,Angular 的增長沒有以前那麼快,而 Vue—— 盡管它是最近開始的——似乎增長了很多。
如前所述,我們無法預測哪些框架會長期保持相關性,但每個項目背後都有一個偉大的社區,並且在不斷發展。
我這篇文章的目標是解釋架構差異,分解每個框架的優點和缺點,並在適用的地方進行比較。
在進入一個新框架之前,有幾件事情需要考慮。
首先,在選擇新技術時,您團隊的經驗可能是一個決定性因素。
同樣,您必須考慮您所在地區可用的人才,以便您可以為您的項目聘請開發人員。
最後,當涉及到項目本身時,復雜性和范圍也會影響您對框架的選擇。
通過考慮所有關鍵差異,我希望您可以決定哪個是最適合您的目標和需求的前端框架。
(本文由聞數起舞翻譯自Aris Pattakos的文章《Angular vs React vs Vue 2021》,轉載請註明出處,原文鏈接:https://athemes.com/guides/angular-vs-react-vs-vue/)
⑥ 求推薦一下關於Web前端的相關資料!
一)前端基本功
前端相關的基礎知識
《HTTP/3 來了 !未來可期》
《你可能已經忽略的 git commit 規范》
《手寫一個 WebSocket 協議》
《5000字解析:前端五種跨平台技術》
《一篇搞定移動端適配》
《Chrome DevTools中的這些騷操作,你都知道嗎?》
《Chrome 運行時性能瓶頸分析》
《當瀏覽器全面禁用三方 Cookie》
《無形中提高工作效率的 Chrome 插件》
《還分不清 Cookie、Session、Token、JWT?》
《你連 HTTPS 原理都不懂,還講「中間人攻擊」?》
《npm install 原理分析》
《不容錯過的 Babel 7 知識匯總》
《一文搞懂 Web 中暗藏的密碼學》
《解讀HTTP/2與HTTP/3 的新特性》
《那些不常見,但卻非常實用的 CSS 屬性》
《面試官:你可以用純 CSS 判斷滑鼠進入的方向嗎?》
《二營長,快掏個CSS出來給我畫個井字棋游戲》
《CSS 故障藝術》
《我寫CSS的常用套路(附demo的效果實現與源碼)》
《來自新時代的 CSS》
《你還不會 CSS 動畫?》
《誰說前端不需要懂二進制》
《你不知道的 Blob》
《Javascript常用的 60 余種工具方法》
《你可以這樣優化 if-else 代碼結構》
《JS 圖片壓縮的實現思路》
《一個簡潔、有趣的無限下拉方案》
《請你實現一個大文件上傳和斷點續傳》
《從 ES6 到 ES10 的新特性萬字大總結》
《JavaScript 手寫代碼無敵秘籍》
《通俗易懂的 TypeScript 入門教程》
《用 TypeScript 編寫 React 的最佳實踐》
《一文讀懂 JS 裝飾器》
《你真的懂 Promise 嗎?》
《Typescript 那些好用的技巧》
《Typescript 嚴格模式有多嚴格?》
《用 TypeScript 編寫 React 的最佳實踐》
《2020 年你應該知道的 React 庫》
《5 個技巧助你編寫更好的 React 代碼》
《10個案例讓你徹底理解React hooks的渲染邏輯》
《組件演進史:從Mixin到HOC,再到Hook》
《1.1萬字從零解讀Vue3.0源碼響應式系統》
《重頭來過的 Vue 3 帶來了什麼?》
《一杯茶的時間,上手 Node.js》
《深入理解 Node.js 進程與線程》
《Deno 會取代 Node.js 嗎?》
《了不起的 Deno 入門教程》
《推倒 Node 重做,Deno 1.0 來了》
《一文搞懂 Webpack 多入口配置》
《GraphQL-前端開發的利劍與橋梁》
《GraphQL 入門看這篇就夠了》
《前端工程師應該了解的 GraphQL》
《高頻前端面試題》
《吐血整理!再來一打 Webpack 面試題》
《前端同學經常忽視的一個 JavaScript 面試題》
《如何輕松拿到淘寶前端 offer》
《三年大廠面試官:二面題》
《十幾道含答案的大廠面試題總結》
《如何答一道驚艷面試官的數組去重問題?》
《10 個 CSS 高頻面試題,你都會嗎?》
《經常被面試官考的 JS 數據類型知識你真的懂嗎?》
《面試須知:瀏覽器相關原理詳細總結》
《2019 大齡前端如何准備面試?》
《2018 大廠高級前端面試題匯總》
《前端如何在項目中做出亮點》
《Facebook 前端技術棧重構分享》
《當前端基建任務落到你身上,該如何推動協作?》
《使用 docker 高效部署你的前端應用》
《關於前端學習路線的一些建議》
《各種場景喚起 App 的騷操作》
《Web 視頻播放前前後後那些事》
《你必須要注意的依賴安全漏洞》
《從 12.67s 到 1.06s 的網站性能優化實戰》
《網易雲音樂前端性能監控實踐》
《一個阿里前端工程師的成長之路》
《非常全面的前端協作規范》
《一名合格前端工程師的自檢清單》
《從 0 到 1 再到 100:搭建、編寫、構建一個前端項目》
CSS
JavaScript
TypeScript
二)前端框架、工具、庫
React
Vue
Nodejs
Deno
Webpack
GraphQL
VS Code
《動圖演示11個必備 VS Code 插件》
三)面試題精選
四)前端開發的職業修煉
希望對你有用,望採納~