动态

详情 返回 返回

12 分鐘介紹所有主流 (Web) 框架 - 动态 详情

本內容是對 Every Web Framework Explained in 12 Minutes 內容的翻譯與整理。


Ruby on Rails

Ruby on Rails 是一個基於 Ruby 編程語言開發的服務器端 Web 框架。它誕生於 2004 年,主要用於構建網站。你可以通過它創建和管理數據庫、構建網頁,並在後端進行整體管理。這種架構被稱為 MVC(模型-視圖-控制器)。它還使用可重用的代碼,稱為 gems。

像 Ruby on Rails 這樣的 Web 框架通常的工作方式是將編程語言嵌入到 HTML 和 CSS 中。這不僅縮短了開發時間,還使得構建網站變得更加容易。使用 Ruby on Rails 的知名平台有 Crunchbase、GitHub、Twitch 和 Airbnb。

ASP.NET

ASP.NET 是一個 Web 框架,它允許你使用 C# 編程語言來創建網站。它支持創建所謂的 CRUD 應用,即創建(Create)、讀取(Read)、更新(Update)和刪除(Delete)。它由微軟在 20 多年前創建,與 Ruby on Rails 一樣,採用 MVC 架構設計。

.NET 平台用於開發多種類型的軟件,如桌面應用、移動應用和遊戲,但 ASP.NET 是專門用於開發網站的。儘管 .NET 框架通常使用 C# 語言,但它實際上也可以使用其他編程語言,例如 Ruby、Python、C++ 和 Java。

Vapor

Vapor 是一個用 Swift 編寫的 Web 框架,主要由 iOS 開發者使用。它允許你構建網站和 API 的後端部分,從而使用户界面(前端)可以與存儲和管理數據的後端進行通信。

Django

Django 是一個使用 Python 編寫的 Web 框架,它與 Ruby on Rails 有很多相似之處,不同的是它使用的是 Python。它允許你創建和管理稱為模型(Model)的數據庫,設計視圖(View),並創建控制器(Controller)來管理數據的流動及網頁的路由邏輯。

Flask

Flask 也是一個使用 Python 編寫的 Web 框架。那麼它和 Django 有什麼不同呢?Django 被認為是一個高級的全棧 Web 框架,意味着你可以從零開始構建一個完整的網站,內含數據庫管理、管理面板和用户認證等功能。而 Flask 則沒有 Django 那樣的“全套功能”,但它更適合初學者,可以更快速地創建小型網站。

不過別誤會,使用 Flask 同樣可以構建大型和功能強大的網站,只是學習曲線會更陡一些。

Phoenix

Phoenix 是一個使用 Elixir 編寫的 Web 框架,主要用於構建後端,同樣採用 MVC 架構。Phoenix 通常與一個名為 Phoenix LiveView 的庫配合使用。

那麼什麼是 Phoenix LiveView 呢?在過去,當網頁上的某個內容需要更新時,整個網頁都必須重新加載,這種方式效率低下。後來使用異步 JavaScript(AJAX)來解決這個問題,只更新頁面的局部內容,而不是整個網頁。再後來,開發者使用在網頁與服務器之間傳輸 JSON 文檔的方式進行通信,但這仍顯得有些繁瑣。

這時,LiveView 出現了。它通過在網頁和服務器之間保持持續連接來實現實時更新,當網頁內容發生變化時,信息會立即發送到服務器,然後返回到網頁上,無需使用 JavaScript 或傳輸文檔。這使得網頁更新更快、性能更高。

Laravel

Laravel 是一個使用 PHP 編寫的 Web 框架,它配有一個命令行工具,叫 Artisan。Laravel 還提供一個名為 Blade 的功能,允許你使用可重用的 HTML 和 PHP 代碼,這些被稱為 Blade 模板。它使得網頁中的代碼更簡潔、開發更高效。

Next.js

Next.js 是一個常與 React 一起使用的 Web 開發框架。它的主要功能是解決搜索引擎優化(SEO)問題,同時讓你的網站運行更快。它通過在服務器端渲染網頁,再將其發送給用户來實現這一點。它還優化了圖片加載,並能夠生成靜態網頁構建,因此運行速度更快。

Astro

Astro 是一個允許你結合多個 Web 框架開發的框架。它的主要特點是隻在必要時才在網頁上使用 JavaScript。網頁運行速度是 Web 開發中的重要考慮因素,而 JavaScript 的使用越多,網頁通常越慢。但 JavaScript 又能實現更復雜、交互性更強的網頁體驗。

Astro 的解決方案是隻向用户渲染 HTML,並僅在用户與網頁交互時使用 JavaScript。這使得網站在性能、SEO 和用户體驗方面表現更佳。

Spring Boot

Spring Boot 是 Java 編程語言的一個框架,不僅可以用來構建 Web 應用,也可以用於 Android 和 iOS 的開發。Spring Boot 主要用於處理後端任務,如服務器和數據庫。它是 Spring 框架的一個變體。

Express.js

Express.js 是一個用於構建 API 的後端框架。API 是應用程序編程接口,它允許不同類型的程序彼此通信。舉一個簡單的例子:你在餐廳點餐,不會直接跑到廚房告訴廚師你要吃什麼,而是通過服務員傳達你的需求。在這個比喻中,你是一個程序,廚房是另一個程序,服務員就是 API。

你是否曾經在別的網站上使用 Google 賬號登錄?那就是 API 的一個例子。

Rocket

Rocket 是 Rust 編程語言的 Web 框架。通常來説,Rust 並不適合用於 Web 開發,但自從 WebAssembly 的出現,讓使用 Rust 進行 Web 開發成為可能。

Ktor

Ktor 是 Kotlin 編程語言的 Web 框架,是 Java 開發者在不喜歡 Spring 框架時的替代選擇。

FastAPI

FastAPI 是一個使用 Python 構建 API 的框架。

NestJS

NestJS 是一個使用 TypeScript 編寫的服務器端 Web 框架,它運行在 Node.js 環境中。它採用 MVC 架構,支持網站安全、數據庫管理等後端功能。

Gin

Gin 是 Go 語言的 Web 框架,像其他框架一樣,它允許你構建 API 和處理網站後端。

React

React 是一個使用 JavaScript 的 Web 框架,也可以和 TypeScript 一起使用。它是世界上最流行的 Web 框架之一,主要用於構建用户界面(前端)。

React 使用名為組件(Component)的可複用代碼構建網頁,極大地簡化和加快了開發過程。其代碼格式稱為 JSX,看起來像是 HTML 和 JavaScript 的結合體。React 由 Facebook 於 2013 年發佈,還推出了移動版本 React Native,可用於開發跨平台的移動應用。

Vue.js

Vue.js 是一個與 React 類似的 Web 框架,也使用 JavaScript 構建用户界面。它同樣使用可複用的組件,並採用虛擬 DOM 技術——即網頁更新時只更新需要變動的部分,而不是整個頁面。儘管 Vue 的人氣不如 React,但它在頁面渲染速度上略勝一籌。

Angular

Angular 是由 Google 開發的 JavaScript 和 TypeScript 框架,和 React、Vue 一樣,也使用組件構建應用。Angular 更適合企業級大型應用開發,能夠完成從頭到尾的網站構建,這一點區別於 React,需要藉助第三方庫來擴展功能。

Svelte

Svelte 是另一個 JavaScript Web 框架。是的,又是一個 JavaScript 框架,這在圈內甚至成了笑談——幾乎每天都有新的 JavaScript 框架發佈。

Svelte 也使用組件構建網頁,但與 React 和 Vue 使用虛擬 DOM 不同,Svelte 使用編譯器將代碼直接轉換為原生 JavaScript,從而實現更小的文件大小和更快的性能。

Jamy

Jamy 是一個用於構建數據庫應用的 JavaScript 和 Python 框架,主要面向數據庫驅動型企業,被稱為低代碼或無代碼框架。

Fastify

Fastify 是一個為 Node.js 開發的框架,用於構建後端服務器和 API,正如其名,專為高性能而設計。

CakePHP

CakePHP 是一個受 Ruby on Rails 啓發、用於 PHP 的 Web 框架。它是一個後端框架,採用 MVC 架構,以簡潔著稱,主要用於開發小型應用。

Catalyst

Catalyst 是 Perl 編程語言的 Web 框架。

ColdBox

ColdBox 是 ColdFusion 編程語言的 Web 框架,它使用可複用代碼模塊,稱為 ColdBox 模塊。令人驚訝的是,至今仍有一些公司使用 ColdFusion。

WebKit

WebKit 是一個 C++ 的 Web 框架,有時也被稱為 Wt(Witty)。由於 C++ 相較其他語言更快,因此 Witty 受到青睞,但它的學習門檻也更高。Witty 是一個服務器端框架,用於構建 API。

Yesod

Yesod 是一個用於 Haskell 編程語言的 Web 框架,它採用函數式編程,而非面向對象編程。

Remix

Remix 是另一個 JavaScript Web 框架,值得一提的是它的流行程度。它於 2020 年發佈,主打性能優勢,原因是它採用服務器端渲染技術,特別適用於擁有大量網頁的網站。Remix 可作為 Next.js 的替代方案,最近還被 Spotify 收購。

Grails

Grails 是 Apache Groovy 編程語言的框架,也被稱為 Groovy on Rails,它集成了 Java 平台。

Lift

Lift 是 Scala 編程語言的框架,也受到了 Ruby on Rails 的啓發。

Solid

Solid 是最後一個要介紹的 JavaScript 框架。和許多 JavaScript 框架一樣,它使用可複用組件。但和 Svelte 類似,它不使用虛擬 DOM,而是使用編譯器將代碼轉換為原生 JavaScript,因此更為輕量。

Bootstrap

Bootstrap 是一個用於 CSS 的 Web 框架。CSS 是負責網頁設計和美化的語言。Bootstrap 提供預製組件(如按鈕、網格和佈局),而且可以自定義,還支持可選的 JavaScript 功能。

Tailwind

Tailwind 是另一個 CSS 框架,但與 Bootstrap 不同,它沒有預製組件,而是提供預設的類,你可以將這些類添加到 HTML 元素中。這使得 Tailwind 的可定製性更高,但學習曲線更陡。一個常見的抱怨是它的 CSS 類名可能會非常冗長。

Flutter

Flutter 是 Dart 編程語言的框架,雖然它也可以用於 Web 開發,但更常用於開發 iOS、Android 和桌面應用。Flutter 提供了預製組件,稱為 Widget,尤其適用於構建移動應用。Flutter 會編譯為機器碼,因此用它開發的應用非常快速。

Add a new 评论

Some HTML is okay.