2019年開發人員應該學習的8個JavaScript框架
根據Stack Overflow 2018開發者調查報告,JavaScript是使用最廣泛的程式語言之一。感謝它不斷髮展的框架生態系統,為複雜和具有挑戰性的問題找到最佳解決方案。
儘管JavaScript的大部分生命週期都與Web開發相關,但近年來,它的使用似乎在不斷擴充套件。它不僅從前端移動到後端,我們也開始看到它用於機器學習和增強現實等。
JavaScript的發展是由框架驅動的。儘管有一些似乎在引領潮流,但是在2019年還有許多其他更小的工具值得你關注。現在讓我們來看一看。
JavaScript Web開發框架
React
React最初由Facebook於2011年開發,然後於2013年開源。從那時起,它就成為構建使用者介面最流行的JavaScript庫之一。根據npm的調查,儘管React在2018年的增長放緩,但它將成為2019年的主導框架。由於其高使用率和龐大的使用者群,JavaScript 2018狀態調查顯示它是一種“安全的技術”。
2018年,React團隊釋出了16.3到16.7的版本,並進行了一些重大更新。這些更新包括新的生命週期方法、Context API、React Profiler,Create React App 2.0等。該團隊已經制定了2019年的計劃,並將很快釋出最受期待的功能之一Hooks。它允許開發人員在不使用JavaScript類的情況下訪問狀態等特性。它的目標是簡化React元件的程式碼,允許開發人員重用有狀態邏輯,而無需對元件層次結構進行任何更改。其他特性還包括併發模式,以允許元件樹呈現而不阻塞主執行緒,資料獲取的懸念等等。
Vue
Vue是Evan You在Google工作後使用AngularJS為多個專案中建立的。它在2018年首次釋出,Evan分享了他建立Vue的動機,他說:“我想,如果我能提取出我真正喜歡Angular的那部分,然後構建一些真正輕量級的東西會怎麼樣呢?”Vue繼續在JavaScript開發人員中得到廣泛採用,這種趨勢應該還會繼續下去。根據npm調查,一些開發人員更喜歡Vue而不是React,因為他們覺得“在保持可擴充套件性的同時更容易上手”。
Vue是一個允許開發人員構建互動式Web介面的庫。它提供類似於React的資料反應元件,具有簡單靈活的API。與React或Angular不同,Vue的一個好處是它產生的乾淨的HTML輸出。其他JavaScript庫往往會在程式碼中留下散佈著額外屬性和類的HTML,而Vue會刪除它們以產生乾淨的語義輸出。它通過官方維護的支援庫和包為複雜應用程式提供高階功能,如路由,狀態管理和構建工具。
Angular
谷歌在2009年開發了AngularJS,並在2012年釋出了第一個版本。從那時起,它得到了企業和個人的熱烈支援和廣泛採用。AngularJS最初是為設計師而不是開發人員開發的。雖然在設計中確實看到了一些改進,但這些改進還不足以滿足開發人員的需求。後來的版本,Angular 2, Angular 4,等等都進行了升級,以提供效能上的全面提升,尤其是在速度和依賴注入方面。
這個新版本被簡單地稱為Angular,它是一個平臺和框架,允許開發人員用HTML和TypeScript構建客戶端應用程式。它提供了宣告性模板、依賴注入、端到端工具和整合的最佳實踐來解決開發挑戰。雖然AngularJS的架構是基於模型-檢視-控制器(MVC)設計的,但Angular有一個基於元件的架構。每個Angular應用程式都至少包含一個稱為根元件的元件。每個元件都與一個負責處理業務邏輯的類和一個表示檢視層的模板相關聯。
Node.js
圍繞Node是否是一個框架(它確實是一個庫)存在很多爭論,但在談論Web開發時,很難跳過它。 Node.js最初是由Ryan Dahl編寫的,他於2009年11月8日在首屆歐洲JSConf上進行了演示。Node.js是一個免費的,開源的,跨平臺的JavaScript執行時環境,它在瀏覽器之外執行JavaScript程式碼。
節點。js遵循一種“JavaScript無處不在”的模式,它將web應用程式開發統一為一種程式語言,而不是針對伺服器端和客戶端指令碼的不同語言。在JSConf 2018上,Dahl描述了他的伺服器端JavaScript執行時引擎的一些限制。其體系結構的許多部分都受到限制,包括安全性和模組的管理方式。為了解決這個問題,他引入了一個名為Deno的新軟體專案,這是V8 JavaScript引擎上的一個安全TypeScript執行時,旨在糾正Node.js中的一些設計缺陷。
跨平臺的移動開發框架
React Native
React Native的故事始於2013年夏天,當時是Facebook的內部黑客馬拉松專案,後來在2015年開源。React Native是一個JavaScript框架,用於構建原生移動應用程式。正如您可能已經從名稱中猜到的,React Native是基於我們前面討論過的React的。之所以稱之為“原生”,是因為使用React native構建的UI由原生UI小部件組成,這些小部件看上去和感覺上都與使用原生語言構建的應用程式一致。
本質上,React Native將用Javascript/JSX編寫的UI定義轉換成適合目標平臺的原生檢視層次結構。例如,如果我們正在構建一個iOS應用程式,它會將文字原語轉換為原生iOS UIView,在Android中,它會生成原生TextView。因此,即使我們正在編寫JavaScript應用程式,我們也不會在移動裝置的shell中嵌入Web應用程式。我們正在獲得一個“真正的原生應用”。
NativeScript
NativeScript由Telerik(Progress的子公司)開發,於2014年首次釋出。它是一個開源框架,可幫助您使用JavaScript或任何其他轉換為JavaScript的語言(例如TypeScript)構建應用程式。它直接支援Angular框架,並通過社群開發的外掛支援Vue框架。使用NativeScript構建的移動應用程式可生成完全原生應用程式,這些應用程式使用的api與在Xcode或Android Studio中開發的應用程式相同。
由於應用程式是用JavaScript構建的,因此需要一些代理機制來將JavaScript程式碼轉換為相應的原生API。這是由NativeScript的執行時部分完成的,它充當JavaScript和原生世界(Android和iOS)之間的“橋樑”。執行時支援使用JavaScript程式碼呼叫Android和iOS框架中的api。為了做到這一點,我們使用了JavaScript虛擬機器——Google的V8用於Android, WebKit的JavaScriptCore實現與iOS 7.0+一起釋出的。
Ionic Framework
Ionic Framework 由Drifty Co.建立,最初於2013年釋出。它是一個開源的前端SDK,用於使用熟悉的Web技術(如HTML5,CSS和JavaScript)開發混合移動應用程式。藉助Ionic,您將能夠構建和部署跨多個平臺的應用程式,例如原生iOS,Android,桌面和Web作為漸進式Web應用程式。
Ionic主要關注應用程式的外觀或UI互動。這告訴我們,它並不意味著取代Cordova或您最喜歡的JavaScript框架。事實上,它仍然需要像Cordova這樣的原生包裝器來將您的應用程式作為移動應用程式執行。它使用這些包裝器來訪問主機作業系統功能,如相機,GPS,手電筒等,它由Cordova/PhoneGap等工具包裝。
JavaScript桌面應用程式開發框架
Electron
Electron由GitHub的軟體工程師Cheng Zao建立。它最初於2013年作為Atom Shell釋出,然後在2015年更名為Electron。Electron使Web開發人員能夠利用他們現有的知識和native開發人員構建一個程式碼庫並分別為每個平臺釋出。有許多流行的應用程式使用Electron構建,包括Slack,Skype for Linux,Simplenote和Visual Studio Code等。
Electron應用程式由三個元件組成:Chromium Web引擎,Node.js直譯器和應用程式的原始碼。 Chromium Web引擎負責呈現UI。 Node.js直譯器執行JavaScript併為您的應用程式提供Chromium引擎無法使用的作業系統功能,例如檔案系統訪問,網路,本機桌面功能等。應用程式的原始碼通常是JavaScript,HTML和CSS。
Linux公社的RSS地址 :https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2019-01/156622.htm