自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

邁向全棧開發(fā),程序員必須知道的19個框架和庫

開發(fā) 前端
在本文中,我們將討論可用于創(chuàng)建商業(yè)用途的、功能全面的Web和移動應(yīng)用程序的各種框架或庫,也許有的已經(jīng)位于你的常用堆棧序列,有的或可為你所用。

全棧開發(fā)是程序員圈子中最炙手可熱的話題之一,關(guān)于全棧應(yīng)用程序開發(fā)需要掌握哪些技能的討論從未間斷過。全棧開發(fā)者是指具有綜合能力的開發(fā)人員,他們掌握各種技能并使用這些技能來獨立完成產(chǎn)品。

那么,程序員就需要了解各種堆棧流,包括移動堆棧,Web堆?;虮緳C應(yīng)用程序堆棧。如果你是初學者,需要對編程語言有基本的了解,才能開始使用框架和庫。在本文中,我們將討論可用于創(chuàng)建商業(yè)用途的、功能全面的Web和移動應(yīng)用程序的各種框架或庫,也許有的已經(jīng)位于你的常用堆棧序列,有的或可為你所用。

一、前端開發(fā)

如果僅需要某些Web組件的可重用性,則小型js庫可能是你的最佳選擇。隨著前端的發(fā)展,庫可以節(jié)省編程時間并有助于代碼維護。當然,作為全棧應(yīng)用程序開發(fā)人員,你不能忽略時間管理和代碼的可伸縮性。

1. Mustache

當遇到復(fù)雜的項目時,你可能希望使用這個框架。大多數(shù)項目都需要在客戶端加載HTML和JavaScript操作。例如,一家發(fā)展迅速的代理商,希望將新的服務(wù)或產(chǎn)品組合動態(tài)添加到你的應(yīng)用中。可能想嘗試安全地修改DOM,類和屬性,以免其他組件自行移位。最好的辦法是創(chuàng)建可放入任何項目或頁面中的超輕DOM庫。這就是Mustache JS庫發(fā)揮作用的地方。

由于Mustache鼓勵使用多種語言,因此我們在服務(wù)器端不需要單獨的模板系統(tǒng)。

2. EJS

當你必須使用很多JavaScript輸出HTML時,或者要處理動態(tài)內(nèi)容時,或者提供與實時更新有關(guān)的內(nèi)容時,EJS可能是最佳選擇。

[[319412]]

3. HandleBars

如果通過REST API從服務(wù)器獲得的數(shù)據(jù)增長很快,或者從客戶端獲得的數(shù)據(jù)增長很快,可使用HandleBars.js。

[[319413]]

現(xiàn)在,需要進行巨大的DOM操作才能實現(xiàn)更改。為了輕松管理HTML內(nèi)容,你不需要JavaScript代碼即可保留較大的HTML標記。一個好主意是保持JavaScript和HTML充分的分離,并使用客戶端模板,因為它通常比服務(wù)器端模板執(zhí)行得更快。

4. Svelte

代碼越長,理解代碼所需的精力就越大,并且出現(xiàn)錯誤的機會也就越高。任何有助于以更少的代碼添加更多功能的工具,對于經(jīng)驗豐富的開發(fā)人員來說都是很好的助手。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

Svelte是在構(gòu)建步驟中向下編譯組件的工具和框架。這樣,你就可以在單個頁面上加載每個組件以呈現(xiàn)你的應(yīng)用程序。這意味著沒有虛擬DOM,沒有框架之上的框架,并且在運行時沒有額外的負載。

二、服務(wù)器端渲染

眾所周知,“JavaScript太多,你的應(yīng)用程序加載就會緩慢。” 當應(yīng)用同時接收大量流量時,情況更加糟糕。

現(xiàn)在,用戶可沒有更多時間等待應(yīng)用程序長時間來加載。針對類似情況,開發(fā)人員可以使用服務(wù)器端的解決方案。有了這個概念,JavaScript應(yīng)用程序就可以在服務(wù)器而不是瀏覽器上運行。

從技術(shù)上講,應(yīng)該在后端編程模板中實現(xiàn)這些庫。這樣,頁面是在服務(wù)器端生成的,但是與頁面的所有交互一旦加載,都將在客戶端進行處理。

5. Next.js

Next.js使事情變得簡單。盡管是客戶端平臺,React應(yīng)用程序仍存在一些與在客戶端上呈現(xiàn)所有內(nèi)容有關(guān)的問題。與應(yīng)用質(zhì)量相關(guān)的突出因素之一是你遇到了SEO的問題。

[[319414]]

盡管搜索引擎在運行和索引JavaScript應(yīng)用方面變得越來越有能力,但是如果可以更進一步呢?使用Next.js后,可以在將HTML發(fā)送到客戶端之前在服務(wù)器端呈現(xiàn)React組件。此外,Link用于將多個頁面鏈接在一起的組件還支持prefetch道具,該道具隱藏地預(yù)讀取頁面資源。

6. Nuxt.js

如果你是Vue.js開發(fā)者,現(xiàn)在你應(yīng)該可能已經(jīng)發(fā)現(xiàn)了Nuxt.js。你可以將Nuxt.js用作Vue編程的堆疊層。它簡化了通用或單頁Vue應(yīng)用程序的開發(fā)。那是Nuxt.js的獨特賣點-創(chuàng)建通用應(yīng)用程序的過程變得更加容易。JavaScript代碼可以在客戶端和服務(wù)器端執(zhí)行。通用應(yīng)用程序與單頁應(yīng)用程序(SPA)有關(guān)。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

使用SPA,必須在服務(wù)器端和客戶端都進行大量配置,Nuxt.js能解決Vue應(yīng)用程序的瓶頸。這看起來很簡單,讓框架完成其在客戶端和服務(wù)器之間共享代碼的工作,然后你專注于應(yīng)用程序的邏輯。

Nuxt.js的架構(gòu)圖如下:

邁向全棧開發(fā),程序員必須知道的19個框架和庫

三、CSS框架和庫

使用CSS框架的目的就是流暢,整潔地構(gòu)造布局。

7. Semantic UI

Semantic UI在兩個方面是獨特的:—是獲得結(jié)構(gòu)化的布局,并且它使用五個描述性類別來定義可重復(fù)使用的UI組件。如果你能夠以某種期望的方式操作組件的格式,那么將很快獲得真正的效果,而不必為創(chuàng)建組件本身而進行編程。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

另一個優(yōu)點是,它不僅在命名類方面而且在命名,定義和描述其組件方面都有優(yōu)勢。其次,你將獲得當代框架中不存在的各種現(xiàn)成的組件。例如,可以在UI Views組件中獲得Feed和Comment,或者從UI Modules獲得側(cè)邊欄和圖形。

8. Bulma

Bulma是基于Flexbox構(gòu)建的現(xiàn)代CSS框架。

9. Bootstrap

Bootstrap是專注于移動優(yōu)先的開發(fā)者。當CDN或在本地下載庫文件以使它們在HTML文件中排隊時,就可以訪問大量的預(yù)先編寫的類和屬性。要做的就是根據(jù)需要自定義它們。

四、后端開發(fā)

后端編程的一個典型示例是當你在博客上閱讀文章時。字體,顏色,設(shè)計等構(gòu)成了頁面的前端。文章的內(nèi)容是從服務(wù)器中提取的,并是從數(shù)據(jù)庫中提取的,這就是應(yīng)用程序的后端。如圖所示:

邁向全棧開發(fā),程序員必須知道的19個框架和庫

10. Django

Django是高級Python Web框架,可促進干凈的開發(fā)過程和實用的設(shè)計。以下是入門的基本要求:

  • Python(最新版本)
  • easy_install和Pip
  • Git
  • 虛擬環(huán)境
  • Django
  • 數(shù)據(jù)庫(SQLite,MySQL,PostgreSQL,MongoDB等)
  • South(適用于1.7之前的Django版本)
  • 文本編輯器(Sublime,vim,Komodo,gedit)

邁向全棧開發(fā),程序員必須知道的19個框架和庫

easy_install和pip是Python包管理器。這些使安裝和升級Python軟件包以及軟件包依賴關(guān)系變得更加簡單。通過Python Package Index獲取設(shè)置工具。找到packaged egg(.egg),然后直接從文件中安裝。然后,對于版本控制,可能需要利用到Git。

11. Laravel

Laravel是一個基于PHP的框架,它表現(xiàn)力強,優(yōu)雅。使用Laravel服務(wù)器管理不再是頭疼的事。已經(jīng)與DigitalOcean,Linode,Vultr和Amazon合作,以幫助你實現(xiàn)這一目標。所要做的就是提交Laravel forge。

諸如Artisan的CLI這樣的功能,對多個數(shù)據(jù)庫系統(tǒng)的支持以及遷移功能增加了框架的無縫性,使其在后端開發(fā)人員中倍受歡迎。此外,打包系統(tǒng)很強大,它具有多種支持軟件或庫,可幫助Web應(yīng)用程序?qū)崿F(xiàn)流程自動化。這樣,可以加快開發(fā)速度以提供快速功能。Laravel帶有一個稱為Blade Template Engine的內(nèi)置模板引擎。

所有這些使Laravel框架具有開箱即用的功能,并且適合于各種應(yīng)用程序開發(fā)。

12. Android SDK

從技術(shù)上講,它不是框架,而是完整的操作系統(tǒng)。它具有存儲訪問框架(SAF),使用戶可以在其所有首選的文檔存儲提供程序中輕松瀏覽和打開文檔,文件和其他圖像。SDK中包含以下內(nèi)容:

  • Android API:這部分構(gòu)成了SDK的核心。該API是一堆庫,可為開發(fā)人員提供對Android堆棧的訪問權(quán)限,這些庫與創(chuàng)建本機android應(yīng)用程序的庫相同。
  • 開發(fā)工具:為了將Android源代碼轉(zhuǎn)換為可運行的Android應(yīng)用程序,SDK利用了一些開發(fā)工具。這些使你可以編譯和調(diào)試Android應(yīng)用程序。
  • Android模擬器:該仿真器具有許多其他外觀,可以通過它們查看真實設(shè)備中應(yīng)用程序的外觀和行為。
  • 在線支持:可以利用Google網(wǎng)上論壇,通過Google Android開發(fā)團隊的定期輸入得到更新。

13. Phoenix

Phoenix框架與另一個Web開發(fā)工具Elixir結(jié)合使用,可提供最佳的后端體驗,有助于構(gòu)建具有高可用性,并發(fā)性和低延遲的解決方案。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

Elixir基于Erlang VM(BEAM),這使得Elixir和Phoenix都非常耐用。另外,語法確實變得清晰易讀。此外,Phoenix最令人興奮的部分之一是它使與數(shù)百萬個已連接客戶端之間以及彼此之間的軟實時通信成為可能。有聊天室和用于消息以及更多內(nèi)容的API。

14. Spring

如果查看下圖的Edureka,則表明Spring具有一個分層的體系結(jié)構(gòu),該體系結(jié)構(gòu)由具有其功能的不同模塊組成。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

創(chuàng)建Java應(yīng)用程序的最佳選擇。分層結(jié)構(gòu)具有巨大的優(yōu)勢,可以有效地組織你的中間層對象。這使配置在整個應(yīng)用程序中保持一致。

首先,必須創(chuàng)建一個Spring Boot,該Boot提供了一種快速的方式來創(chuàng)建可用于生產(chǎn)的基于Spring的應(yīng)用程序。對于執(zhí)行,所要做的就是構(gòu)建一個bean類,在其中將顯示最終輸出,生成XML文件,主類,并加載少量jar文件。此外,可以考慮start.spring.io來組成一個基本項目。

15. Rails

Ruby on Rails與Twitter,Basecamp,Airbnb,Github等眾多公司使用的框架相同?;A(chǔ)知識包括有關(guān)變量,控制流語句,循環(huán),通過數(shù)據(jù)結(jié)構(gòu)的數(shù)組以及其他類和對象函數(shù)的學習。

邁向全棧開發(fā),程序員必須知道的19個框架和庫

當打算組成一個Rails應(yīng)用程序時,并且要放棄配置和其他任務(wù)時,必須執(zhí)行三個主要任務(wù):

描述應(yīng)用程序的模型:這可能是音樂商店,大學,地址簿或硬件清單。

確定此域可能發(fā)生的情況:這意味著使應(yīng)用程序動態(tài)化,可以將地址添加到地址簿中,從音樂商店購買樂譜。

確定視圖的公共可用性:這意味著為用戶定制應(yīng)用程序的頁面視圖。

16. Tornado

Python結(jié)構(gòu)分為三部分:

  • 全棧框架,可為服務(wù)器和客戶端提供開箱即用的功能。
  • Microframeworks,主要提供服務(wù)器端支持,有時還提供客戶端支持。這樣就可以僅使用一個Python文件來創(chuàng)建Web應(yīng)用程序。
  • 異步框架,用于異步處理請求。

Tornado屬于python框架的最后一類。

可以使用它來創(chuàng)建諸如Router或WebSockets的SocketHandler之類的應(yīng)用程序。該文檔非常清楚,可以利用它來構(gòu)建下一個完整堆棧的移動應(yīng)用程序。

17. Grails

Grails是一個受Groovy和Java啟發(fā)的Web框架。開發(fā)人員可以將此框架部署到任何現(xiàn)有的Java Web服務(wù)器上,例如Tomcat或Jetty。關(guān)于grails的一件事很重要,那就是它采用了不合常規(guī)的方法,而不是通過配置思維。與使用XML文件之類的配置文件相比,這使應(yīng)用程序可以根據(jù)命名方案自動連接自身。

五、數(shù)據(jù)庫

18. MongoDB

如果想成為MEAN(MongoDB,Express,AngularJS和Node.js)的全棧開發(fā)人員,則需要學習一項非常需要的技術(shù)。作為開源跨平臺的數(shù)據(jù)庫,它將數(shù)據(jù)存儲在鍵值對中。這就像在JSON中使用二進制數(shù)據(jù)類型一樣。為了使你一目了然,MongoDB中的文檔類似于OOPS中的對象。

如果要管理具有數(shù)百萬個數(shù)據(jù)的大型表,MongoDB是最佳選擇。使用MongoDB,可以僅使用一個庫(例如JavaScript)來生成整個應(yīng)用程序。

19. MySQL/MariaDB

創(chuàng)建播放列表時,就是在創(chuàng)建數(shù)據(jù)庫。當拍攝照片并將其上傳到網(wǎng)站時,圖庫就是在網(wǎng)站服務(wù)器上的數(shù)據(jù)庫。當瀏覽電子商務(wù)網(wǎng)站以購買鞋子,衣服等時,正在使用購物車數(shù)據(jù)庫。

MySQL是允許你管理關(guān)系數(shù)據(jù)的數(shù)據(jù)庫。在我們的電子商務(wù)示例中,產(chǎn)品,類別,標簽正在使用表格,并且與購物車數(shù)據(jù)庫以及許多其他商品相關(guān)。那是數(shù)據(jù)庫的實時程序。

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2014-05-15 16:20:26

iOS程序員Android要點

2014-07-15 15:38:41

Android

2013-07-09 15:26:29

程序員算法

2020-04-28 10:03:12

前端開發(fā)Mac

2022-01-21 08:21:02

Web 安全前端程序員

2013-12-16 09:36:49

程序員編程語言

2024-09-03 13:24:12

2011-08-18 16:34:28

程序員必須知道

2014-09-02 10:29:24

程序員必備英語詞匯

2015-03-20 13:15:40

Java程序員JVM命令令行標志

2023-02-06 16:46:59

JavaScript程序員技巧

2023-11-01 08:01:48

數(shù)據(jù)結(jié)構(gòu)軟件工程

2015-10-29 13:06:44

Visual Stud快捷鍵

2014-06-20 16:16:32

程序員算法

2015-03-06 10:10:18

程序員基礎(chǔ)實用算法講解

2020-04-02 15:37:58

數(shù)據(jù)結(jié)構(gòu)存儲

2020-03-04 11:10:14

數(shù)據(jù)結(jié)構(gòu)程序員編譯器

2010-07-16 09:00:00

.NET

2020-04-14 09:26:43

開發(fā)工具Chrome

2014-09-01 09:53:50

Android框架
點贊
收藏

51CTO技術(shù)棧公眾號