成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

現代前端開發技術棧

移動開發 開發
最近幾年,應用開發的方法論發生了翻天覆地的變化。隨著微服務架構、云計算、單頁應用和響應式設計的興起和發展,在保證項目開發進度、用戶體驗和應用性能的同時,開發者需要做大量的決策。如今,對于前端開發和 JavaScript 更是如此。

 

首圖

這篇文章將會介紹過去幾年 JavaScript 開發方面的革命性發展。

最近幾年,應用開發的方法論發生了翻天覆地的變化。隨著微服務架構、云計算、單頁應用和響應式設計的興起和發展,在保證項目開發進度、用戶體驗和應用性能的同時,開發者需要做大量的決策。如今,對于前端開發和 JavaScript 更是如此。

為了幫助大家跟上節奏,我們先來簡單了解下最近幾年 JavaScript 開發方面的革命性發展。然后,我們會了解下前端開發社區所面臨的一些挑戰和機遇。

JavaScript 的文藝復興

2009 年 NodeJS 橫空出世時,它已經不僅僅是可以在命令行中運行或在 server 端運行的 JavaScript 了。NodeJS 圍繞著迫切需要解決的軟件開發方面的問題做出了革命性貢獻:針對于前端開發者的成熟穩定的生態系統。正是由于 Node 和它默認的包管理器 npm 的存在,在應用開發和應用構建方面,JavaScript 興起了一場文藝復興。生態系統繁榮起來了,但是由于當時 Nodejs 還很年輕,所以經常會出問題。

讓人欣慰的是,過去幾年代碼模式和代碼規范達到了頂峰。2015 年,JavaScript 社區見證了 ES2015 的發布,生態系統再一次爆發式繁榮。下面的描述僅僅展示了 JavaScript 生態系統中最流行的一部分。

 

 

2017 年 JavaScript 生態系統一覽

Kenzan,我們在多種平臺上——從瀏覽器到機頂盒——使用 JavaScript 開發了十多年。我們目睹了前端生態系統的成長、發展,擁抱社區所付出的所有積極的努力。從 Grunt™ 到 Gulp,從 jQuery® 到 AngularJS,從復制腳本到使用 Bower 來管理前端依賴,這些我們都經歷過了。

JavaScript 日漸成熟,我們的開發流程也是如此。在為客戶端開發設計優雅、性能穩定、成熟的軟件應用時,我們意識到健壯的本地開發工作流和技術棧是我們成功的基石。在開發過程中對可靠性、成熟性和高效性的追求讓我們感受到整個開發環境不僅僅是一套工具的堆積,相反,好的開發環境有助于最終產品的成功。

挑戰和機遇

伴隨著如此多的選擇、如此繁榮的生態系統,社區將何去何從?盡管有選擇是件好事情,但是對于社區來說,確定從何開始、需要什么和為什么需要是有些困難的。隨著用戶期望的增長,應用程序應該如何運行和表現(加載速度更快,運行更順暢,響應式,可以和原生應用媲美等等),在開發團隊的生產力需求和該項目能夠在預期市場上推出并取得成功之間求取平衡,變得越來越具有挑戰性。針對于此,甚至有一個名為分析導致癱瘓analysis paralysis)的術語:由于過于思考和不必要地使問題復雜化使得做決策變成了一個難題。

在工程開發周期,一味追求最新的工具和技術會制約開發速度,阻礙重大里程碑的實現,帶來推遲上市和客戶流失的風險。在一定程度上,一個團隊需要明確自己的問題和需求,然后從可選的方案中做出決策,認清利弊,這樣才可以更好地預測產品的長期可行性和可維護性。

在 Kenzan,我們的經驗使我們能夠定義和整合一些關鍵的概念和理論,以確保我們的決策有助于解決我們在開發前端軟件時所預料到的挑戰:

  • 利用 JavaScript 語言提供的最新功能來支持更優雅、一致和可維護的代碼(比如import/export (modules)、class 和 async/await)。

  • 提供一個穩定成熟的、低到無需維護的(即,開發人員不需要安裝或維護全局的開發依賴,且具有直觀的工作流/任務流)本地開發環境。

  • 利用包管理器來管理前端構建依賴。

  • 部署優化過的、基于功能特性的 bundles(已經打包了HTML、CSS和JS),為用戶提供更智能、更快速的分發和下載。結合 HTTP/2,可以獲得小投入大產出的效果,可以大大提高用戶體驗和產品性能。

新的技術棧

在這篇系列里,我們的關注點是前端開發技術棧的三個部分。對于每個部分,我們將了解下我們認為能夠為現代 JavaScript 應用程序開發的可靠性、高效性和可維護性提供最佳平衡的工具。

包管理器:Yarn

如何以可靠和持續重現的方式管理和安裝外部 vendor 或內部包的挑戰,對于開發者的工作流來說是至關重要的。同時,維護 CI/CD(持續集成/持續交付)也是至關重要的。但是,你選擇哪個包管理器來評估上述所有的功能呢?npm?jspm?Bower?CDN?或者說你只是從網上復制粘貼,然后提交到版本控制器上?

我們的第一篇文章將會簡單地了解下 Yarn,了解下它是如何專注于速度和提供穩定的構建流程的。Yarn 保證這次安裝的依賴的版本和下次安裝的依賴的版本是完全一致的。保證整個過程平滑、可靠、分布式和規模化是必需的,因為任何停頓都會影響到開發者編程或部署應用的節奏。Yarn 旨在通過為 npm cli 提供快速可靠的替代方案來解決這些問題、管理依賴,但是依然繼續使用 npm registry 來安裝公共 Node 包。而且,Yarn 是由 Facebook 來維護的,他們在開發這個工具的時候是有所規劃的。

應用打包:webpack™

我們構建的前端應用程序,通常是由 HTML、CSS 和 JS 以及圖像和字體等二進制格式組成的,可能難以維護,甚至會更具挑戰性。那么,如何將一個代碼庫轉換為一個優化過的、可部署的項目?Gulp?Grunt?Browerify?Rollup?Systemjs?這些東西都各有優缺點,但是我們需要確保我們的選擇能夠實現我們上述討論過的那些原則。

Webpack 是一個專門將 web 應用打包構建為一個優化過的載體傳遞給用戶而打造的一款構建工具,web 應用可能會包含 HTML、CSS、JS、圖片、字體等等。如果我們想使用最新的語言特性,比如 import/export 和 class,來使我們的代碼更整潔,讓工具來打包代碼,使其對瀏覽器和用戶都進行優化,那么 Webpack 可以做到這些,而且還可以做的更多!

語言規范:TypeScript

編寫整潔的代碼從盤古開天辟地時起就是一個巨大的挑戰。JavaScript 是一種動態、弱類型語言,為開發人員提供了應用于各種設計模式和規范的媒介。現在,通過最新的 JavaScript 規范,我們可以看到編程社區更加堅實的模式。支持使用 import/export 和 class 等功能給 JavaScript 應用程序開發帶來了一個基本的范式轉變,并可以確保代碼更容易編寫、閱讀和維護。但是,編程語言中仍然存在著缺陷,通常隨著應用程序的增長應用程序本身也開始受到影響:源代碼的可維護性和完整性以及系統的可預測性(運行時的應用程序狀態)。

TypeScript 是 JavaScript 的一個超集,增加了類型安全、訪問修飾符(私有的和公共的)和下一版 JavaScript 的新特性。強類型語言的安全性有助于代碼在應用到瀏覽器中之前通過編譯器來驗證代碼,促進并強化架構設計模式,這有助于縮短開發者的開發周期,同時也可以進行自我記錄。這是特別有利的,因為隨著應用程序的增長、代碼在代碼庫中發生變化,TypeScript 有助于保持回歸檢測,同時增加代碼庫的清晰度和置信度。同時,IDE 集成也是一個巨大的勝利。

如何選擇前端框架?

你可能也發現了,目前為止我們都在回避推薦前端框架或庫,比如 AngularReact。那么,現在我們該聊聊了。

不同的應用需要基于開發團隊經驗、規模、團隊偏好以及對于響應式編程或函數式編程等概念的熟悉程度等因素來選擇不同的開發方式。在 Kenzan,我們堅信,無論是 Angular2 還是 React,評估和選擇任何與 ES2015/TypeScript 兼容的庫或框架,都應該基于當時的開發場景下特定的特征來定奪。

如果我們重新審視早期的項目,我們就會看到一套新的在前端框架選擇方面提供了極大靈活性的技術棧。

 

在前端框架選擇方面提供了極大靈活性的現代開發技術棧

在上面的“視圖”層之下有一個共同的節點,我們可以通過包含一些關鍵原則的工具來進行構建應用。在 Kenzan,我們認為這個技術棧給用戶需求和開發者體驗都提供了一個選擇空間。這樣的結果可以使任何團隊、任何應用(大型應用或者小型應用)都受益匪淺。請牢記,這里介紹的工具是用于特定類型的項目開發的(前端 UI 應用程序),并不是一個可以應用到所有應用的一刀切方案。權衡能力、判斷力和團隊需求應該是決策的重要因素。

接下來要做的

到目前為止,我們回顧了過去幾年 JavaScript 復興如何導致了快速成熟的 JavaScript 生態系統的形成。我們制定了核心理念,幫助我們應對前端軟件開發時遇到的挑戰和機遇。我們概述了現代前端開發技術棧的三個主要組成部分。在本系列的剩余章節中,我們將會深入了解每個部分。我們希望,最終你將能夠更好地評估你的前端應用程序所需要的基礎架構。

我們也希望你能夠以一套核心原則、范式和理念為指導,認識到我們所提供的工具的價值。這個系列無疑已經將我們自己的開發經驗和開發流程都暴露到了眾目睽睽之下,并且在提及前端工具的時候也鞏固了我們的理念。希望你能夠喜歡我們分享的這些東西,我們也隨時歡迎你的任何想法、問題或反饋。

接下來在我們的博客系列中,我們將會使用 Yarn 來近距離觀察我們前端包管理的第一個核心組件。

Kenzan 是一家軟件工程和全面服務咨詢公司,提供通過數字化轉換來驅動的定制的端到端解決方案。Kenzan 結合領導力與技術專長,與合作伙伴和客戶展開合作,利用前沿技術,提供從理念到開發到交付的完整的解決方案。Kenzan 是一家技術驅動公司,專業從事應用和平臺開發、架構咨詢和數字化轉換。

責任編輯:張子龍 來源: 眾成翻譯
相關推薦

2017-08-07 18:45:51

前端JavaScript技術棧

2016-01-22 10:53:09

前端APP融合

2021-09-26 05:52:32

數據棧無代碼開發

2015-09-15 11:00:49

MEANWeb

2023-08-20 12:37:44

前端開發

2024-07-25 08:43:35

2016-06-14 09:59:17

Web開發技術

2024-11-29 08:35:38

2023-02-26 11:07:48

數據湖現代數據棧

2021-08-11 08:41:20

全棧開發技術架構前端

2022-03-08 14:23:38

APIWeb前端

2024-12-30 14:40:20

2017-05-02 22:38:44

前端開發JS事件循環機制

2022-07-18 20:03:55

DataOpsDevOps

2025-03-03 07:40:00

2025-03-24 13:11:58

2021-03-02 10:24:36

測試開發JavaPython

2022-03-02 16:05:16

Web前端代碼

2024-04-08 07:34:42

前端開發JavaScriptQuickJS

2025-06-18 09:34:42

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线a视频| 成人天堂噜噜噜 | 国产成人精品久久久 | 在线不卡视频 | 久草新在线 | 一区二区免费在线视频 | 色视频在线免费观看 | 欧美成人久久 | 日韩高清在线 | 久久亚洲欧美日韩精品专区 | 在线激情视频 | 亚洲欧洲日韩精品 中文字幕 | 狠狠操天天操 | 欧美人妇做爰xxxⅹ性高电影 | 国产99久久精品 | 中文字幕高清 | 久久精品国产99国产精品 | 亚洲精品二区 | 国产精品久久久久久久久图文区 | 欧美在线不卡 | 日日草天天干 | 老头搡老女人毛片视频在线看 | 狠狠色综合久久丁香婷婷 | 成人在线中文字幕 | 一区二区三区四区在线 | 中文字幕国产视频 | 国产日韩精品一区二区三区 | 欧美区在线 | 欧美美女二区 | 国产在线成人 | 日韩欧美在线不卡 | 最近中文字幕在线视频1 | 国产成人精品免费 | av网站免费观看 | 国产成人免费视频网站高清观看视频 | 午夜影视大全 | 在线播放第一页 | 久久久久久免费看 | 在线观看亚洲精品视频 | 东方伊人免费在线观看 | 国产欧美精品一区二区 |