對開源框架躍躍欲試,卻在寫的時候犯了難?
本文涉及的開源框架,僅包含前端、后端和客戶端三個方面

開源的世界里到處都是“奇珍異寶”,那些琳瑯滿目的開源項目,它們各有特色有的是簡單清爽的小工具,有的是令人稱奇的黑科技,還有的是解決痛點的技術(shù)方案。這些開源項目處處散發(fā)著“誘人”的氣息,讓人躍躍欲試、欲罷不能。

不知同為程序員的你,每每看到高星、高性能、高效、融合了新特性的開源框架時,是否也有過想要試試的沖動?當(dāng)你懷著激動心顫抖的手,卻在敲擊第一行代碼時犯了難:不知道寫什么項目、不會搭建項目結(jié)構(gòu),此時此刻心里又不免打起了退堂鼓。

你可否不止一次痛苦的感慨道:“我只是想試一試,做個項目出來,怎么就那么難?。 ?/span>
今天 HelloGitHub 給大家?guī)淼拈_源項目:RealWorld,就是為了幫助你解決“把玩開源框架難”的問題,讓你忘記痛苦和遺憾,重新喚起那顆“蠢蠢欲動”、熱愛技術(shù)的心。
一、介紹
RealWorld——我稱其為「Demo 之母」。

它是一個由多種不同開源框架,以單獨(前端/后端)或相互組合(全棧)的方式,實現(xiàn)一個類似博客的知識分享平臺——Conduit 的示例項目集合。
這些項目采用了不同的技術(shù)棧,實現(xiàn)的是同一個 demo 應(yīng)用(Conduit),如下圖所示:

該平臺前后端分離,包含身份驗證、會話管理、數(shù)據(jù)庫 CRUD 等功能。
RealWorld 里面的項目覆蓋前端、后端、客戶端方向,它們采用不同編程語言的多種知名開源框架實現(xiàn)上述功能的類博客知識平臺。
示例用到的開源框架,包括 React、Koa、Next.js、Express、Django、Gin、Laravel 等等,希望借此通過實際項目讓你快速了解這些開源框架,從而能夠輕松上手。
但是由于 RealWorld 里項目眾多,再加上維護也不積極,導(dǎo)致里面的項目質(zhì)量參差不齊,其中有很多項目都已經(jīng)停止維護了。所以我分別從 前端、后端、客戶端 分類中,挑選了幾個相對不錯的項目,方便大家參考和學(xué)習(xí)。
二、實戰(zhàn)項目
下面是我翻遍了整個 RealWorld 項目,篩選出的精品項目。如果你看了覺得還不錯的話,就點個“贊”支持一下吧。
2.1 前端
Vue + Vite
地址:github.com/mutoe/vue3-realworld-example-app
Vue + Nuxt
地址:github.com/pocojang/nuxt-realworld
Angular + NgRx + Nx
地址:github.com/stefanoslig/angular-ngrx-nx-realworld-example-app
React + Next + SWR
地址:github.com/reck1ess/next-realworld-example-app
2.2 后端
Python + Django + GraphQL
地址:github.com/ramzitannous/medium-graphql-backend
Rust + ActixWeb + Diesel
地址:github.com/snamiki1212/realworld-v1-rust-actix-web-diesel
Go + Gin
地址:github.com/gothinkster/golang-gin-realworld-example-app
Java + Spring Boot + MyBatis
地址:github.com/gothinkster/spring-boot-realworld-example-app
Swift + Vapor
地址:github.com/iq3addLi/swift-vapor-layered-realworld-example-app
2.3 客戶端
Kotlin
地址:github.com/coding-blocks-archives/Conduit_Android_Kotlin
React Native
地址:github.com/Kisilov-Vadim/realworld
由于篇幅問題,這里就不再給大家過多羅列了。更多內(nèi)容可以查看:
github.com/search?q=realworld
三、最后
在整理這些開源項目的過程中,我發(fā)現(xiàn)了很多聽都沒聽說過的開源框架,比如 Java 的 RESTful Web 框架:Dropwizard,這個項目竟然有 8.2k Star 之多!
地址:github.com/dropwizard/dropwizard
說回正題,雖然上面的這些項目實現(xiàn)的功能都一樣而且很簡單,但這樣你就可以拋開業(yè)務(wù)邏輯,專于框架部分從而快速上手開源框架。又因為不同框架實現(xiàn)的都是一套功能,可以更直觀地對比出框架間的區(qū)別和特點,還能有助于你做技術(shù)選型。

總而言之,不管你是新手學(xué)習(xí)新開源框架,還是老手做技術(shù)選型挑開源框架,RealWorld 的這些開源項目或多或少都能幫到你。但它們中有的用到的開源框架版本較低或已經(jīng)過時,使用時得注意一下,開源不易還望多多包涵。
現(xiàn)在有了 RealWorld,當(dāng)你再遇到那些讓你摩拳擦掌的開源框架時,就知道從哪下手,不會再留有遺憾啦!
其實 Web 開發(fā)無外乎身份驗證、會話管理、增刪改查這些東西,不管多大的項目也離不開這些。正所謂
千里之行始于足下
也只有掌握了基礎(chǔ)的功能,才能玩轉(zhuǎn)這些開源框架,從而擴充你的武器庫,在應(yīng)對不同場景和多變的需求,能夠做到舉重若輕泰然自若。
最后,如果您覺得本期內(nèi)容還不錯:求贊、求收藏、求轉(zhuǎn)發(fā),您的支持是對我最大的鼓勵!這里是 HelloGitHub 我們下期見~
對開源框架躍躍欲試,卻在寫的時候犯了難?的評論 (共 條)
