前端已經不是以前的樣子了,隨著React 18(服務器組件)和所有現代網絡堆棧的出現,前端開發真正意味著應用開發。
我們開發網絡和本地應用程序的方式變得更加模塊化、組件化、有組織,因此我們應該減少對實現和配置的關注,而更多地關注應用程序的創建和組成。
這個列表不會介紹那些你還沒聽說過但會改變你日常生活的新的前沿工具,而會介紹那些會幫助加快前端開發速度的改變游戲規則的、很受歡迎的工具,使你成為一個更好的開發者——并獲得更多的空閑時間。
1. 比特--組件驅動的10倍
事實上,現代的前端已經是組件驅動的。現代應用程序是用現代框架構建的,而現代框架是以組件為中心的。
比特是一體化工具組件驅動開發的下一代工具。與其構建一個由許多組件組成的應用程序,不如用Bit構建獨立的組件,用它們來組成不同的應用程序。每個組件都是獨立的,可以在任何地方運行。
雖然Bit把你變成了組件創建和組合的大師,但Bit的云平臺幫助團隊擴展并共同構建許多東西。
比特的開放源碼軟件工具是輕量級和高度可擴展的。它用于開發和合成組件。它為開發和組合組件提供了一個簡單而強大的工作空間,將任何 repo 變成一個智能的 monorepo,同時抽象掉開銷和配置。
它提供了很好的功能,如可重復使用的可定制的組件模板,漂亮的可視化組件文檔(有mdx等),獨立的單元測試,每個組件的版本管理和導出(推送/發布)等等。
而且,它有一個可視化的UI,使開發體驗也很有趣!Bit的本地工作區UI中的一個非常基本的按鈕
比特的云平臺淘寶網是20多萬開發者和一些世界上最好的團隊的家,他們可以在這里托管和合作開發他們的組件。它為一個 “開箱即用的組件市場 ”配備了企業級功能,包括安全托管、搜索、注冊表等等。一個應用程序只是一個組件圖。。.。。.用戶界面、鉤子、邏輯,甚至后端。
Bit是一個強大的基礎設施,它的模式轉變已經在發生了。開始使用Bit的流行用例包括微前端(嘗試Bit與模塊聯盟!)、 設計系統(在組件上進行協作)、快速應用開發(只需編譯組件)和產品團隊的快速交付(升級組件,而不是應用)。
- 模塊聯盟+比特=前端的下一次進化
- 比特:模塊化網絡的平臺
2. GatsbyJS和NextJS - 最快的JAMStack網站
GatsbyJS和NextJS是JAMStack時代的兩個突出的靜態網站框架。在正確的用例中,使用這兩個選項之一可以大大加快新網站的開發速度,這要歸功于現成的框架、豐富的模板和高度優化的工具集,可以開始建設。
GatsbyJS是一個免費的、開源的、基于React的框架,旨在幫助開發者建立高性能的網站和應用程序。簡單地說,GatsbyJS是一個利用React的靜態網站生成器。事實上,它可以讓你部署靜態頁面(在編譯時獲取數據),這實際上是React應用程序。隨著時間的推移,它在性能、速度和開發體驗方面都得到了很好的優化。
Next.js是一個開源的React前端開發網絡框架,由Vercel創建,可以實現服務器端渲染和為基于React的網絡應用生成靜態網站等功能。Next通常被認為是一種更穩健和靈活的方式來生成網站甚至是應用程序。
這兩個框架都有數以千計的插件和多年的優化,在建立一個靜態網站時,是真正快速啟動和運行的好方法。
如何進行選擇取決于你的項目。它們都不是為了一個完整的現代應用程序,但都提供了一些額外的擴展功能,推動了JAMStack靜態網站的極限。
3. Netlify和Vercel--前端開發的后端
Vercel和Netlify是兩個在很多方面都不相上下的平臺。
兩者都為前端開發者提供了一個簡單的方法來部署靜態網站。兩者都抽象出必須處理服務器和微服務來部署網站的痛苦和開銷,并為前端開發者提供一個非常簡單和友好的工作流程來托管和部署他們的靜態網站。
Netlify創建了自己的倉庫,同時推送到Github倉庫和自己的微服務。然后,它在一個廣泛的CDN上執行和分發內容,以提供預先建立的靜態網站。
Vercel是一個面向前端開發者的部署平臺。Vercel使開發者能夠托管即時部署和自動擴展的網站和網絡服務--所有這些都無需任何復雜的服務器配置。
這兩個平臺都提供了構建、部署和托管的解決方案。這兩個托管平臺都有一個與github集成的工作流程,以及無服務器功能支持和不同的API等很酷的功能。雖然Netlify的開發體驗很好,但Vercel的一個巨大優勢是服務器端渲染,它可以讓你在幾分鐘內輕松部署一個完全工作的Next.js應用程序。
- 在Netlify、Vercel和Digital Ocean之間做出選擇
- Netlify vs. Vercel
4. Ripple CI - 傳播組件驅動的構建
當使用Bit的組件驅動工作時,你可以享受Ripple CI。
雖然仍處于封閉測試階段【獲得訪問權】(mailto: support@bit.dev),但Ripple無疑是網絡的一項決議。它只構建組件。
更準確地說,它構建了所有受影響的組件——無處不在。當你推送一個組件的變化時,Bit “知道 ”哪些其他組件依賴于該組件,并將傳播和構建變化到所有受影響的組件,跨越所有不同的應用程序。
想象一下,當你對一個按鈕或卡片進行修改時,看著Ripple將修改傳播到所有使用你的卡片組件的應用程序,以及依賴它的每個組件和頁面。就這樣,Ripple不斷整合整個組織。
比特的團隊正在使用由瑞波更新的組件構建服務
由于每個組件都是獨立構建的,你可以很容易地了解到底是哪個變化破壞了哪個組件,在哪里,以及為什么。
由于Ripple構建的只是組件,它還可以節省大量的構建時間,只需不構建沒有變化的東西。一些使用Ripple測試版的團隊證實,它可以減少90%的構建時間。
而且,Ripple利用Bit為組件、頁面和應用程序的每一個變化創建可視化預覽。這是科幻小說,而且很有效。
5. Stencil和Svelte - 真正的網絡組件
建立在Web組件標準基礎上的自定義組件和小工具,將在現代瀏覽器上工作,并可用于任何與HTML一起工作的JavaScript庫或框架。
模板是一個 “用于構建快速、可重復使用的UI組件和漸進式Web應用程序的Web組件編譯器”。它使用TypeScript、JJSX、微小的虛擬DOM層、高效的單向數據綁定、異步渲染管道來加載來生成基于標準的Web組件。
Stencil還釋放了一些功能,如無需運行無頭瀏覽器的服務器端渲染、預渲染和 “作為屬性的對象”(而不只是字符串)。Stencil組件很容易創建,因為它們本質上是帶有裝飾器元數據的ES6/TypeScript類。
Svelte是 “一個編譯器,當你的應用程序的狀態發生變化時,它將你的聲明性組件轉換為高效的JavaScript,以手術方式更新DOM”。這意味著,你可以使用CSS、HTML和純JavaScript構建無模板的組件,而Svelt會將其編譯成具有內置反應性的小而輕的JS。
另一個有用的能力是JS庫中對任何框架無關的CSS的內置支持。
6. Jest和Cypress--測試驅動的樂趣
二者關鍵的區別是什么,應該在什么項目中使用哪一個是關鍵。
Cypress是一個開源的工具(現在是一個商業平臺),用于現代網絡的前端自動化測試。Cypress建立在一個新的架構上,在與被測試的應用程序相同的運行循環中運行。因此,Cypress為在瀏覽器中運行的任何東西提供更好、更快、更可靠的測試。Cypress適用于任何前端框架或網站。
Jest是一個 “令人愉快的JavaScript測試框架,專注于簡單性”--這說明了很多問題。Jest采取一種熟悉的方法。它建立在Jasmine測試框架之上,使用熟悉的expect(value).toBe(other)斷言,自動模擬由require()返回的CommonJS模塊,使大多數現有代碼可以測試,并且有一個簡短的反饋循環。DOM APIs被模擬,測試通過一個小型的node.js命令行工具并行運行。
關鍵的區別是,Cypress最常被用于端到端測試,而Jest則用于單元測試。你也可以反過來,將兩者用于相反的用例,但這是常見的慣例。了解更多。
我用Jest、Enzyme、測試庫和Cypress測試了一個React應用。以下是不同之處。
7. Sentry - 簡單的全棧式應用監控
Sentry.io是一個開源的全棧錯誤跟蹤系統,支持廣泛的服務器、瀏覽器、桌面和本地移動語言和框架。那么,為什么Sentry會出現在前端開發者的名單中呢?
因為它是一種為網絡開發體驗而設計的,給前端和全棧開發人員一個非常簡單和友好的體驗,用于捕捉問題,防止錯誤到達生產,監控性能,而且都是通過一個簡單的SDK,在2個命令中安裝。而且UI/UX的使用也非常簡單和友好。
使用Sentry,你還可以追蹤由后端引起的前端錯誤,給你一個全面的全棧方法來監控和修復webdev錯誤。你可以得到關于應用程序狀態的上下文,這樣你就能夠理解特定問題的影響。更重要的是,所有未處理的異常都會被自動捕獲,單個錯誤會被及時發現和處理。
責編AJX
評論
查看更多