百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

对开源框架跃跃欲试,却在写的时候犯了难?

ccwgpt 2024-09-21 13:37 25 浏览 0 评论

本文涉及的开源框架,仅包含前端、后端和客户端三个方面

开源的世界里到处都是“奇珍异宝”,那些琳琅满目的开源项目,它们各有特色有的是简单清爽的小工具,有的是令人称奇的黑科技,还有的是解决痛点的技术方案。这些开源项目处处散发着“诱人”的气息,让人跃跃欲试、欲罢不能。

不知同为程序员的你,每每看到高星、高性能、高效、融合了新特性的开源框架时,是否也有过想要试试的冲动?当你怀着激动心颤抖的手,却在敲击第一行代码时犯了难:不知道写什么项目、不会搭建项目结构,此时此刻心里又不免打起了退堂鼓。

你可否不止一次痛苦的感慨道:“我只是想试一试,做个项目出来,怎么就那么难啊!”

今天 HelloGitHub 给大家带来的开源项目:RealWorld,就是为了帮助你解决“把玩开源框架难”的问题,让你忘记痛苦和遗憾,重新唤起那颗“蠢蠢欲动”、热爱技术的心。

一、介绍

RealWorld——我称其为「Demo 之母」

它是一个由多种不同开源框架,以单独(前端/后端)或相互组合(全栈)的方式,实现一个类似博客的知识分享平台——Conduit 的示例项目集合。

这些项目采用了不同的技术栈,实现的是同一个 demo 应用(Conduit),如下图所示:

该平台前后端分离,包含身份验证、会话管理、数据库 CRUD 等功能。

RealWorld 里面的项目覆盖前端、后端、客户端方向,它们采用不同编程语言的多种知名开源框架实现上述功能的类博客知识平台。

示例用到的开源框架,包括 React、Koa、Next.js、Express、Django、Gin、Laravel 等等,希望借此通过实际项目让你快速了解这些开源框架,从而能够轻松上手。

但是由于 RealWorld 里项目众多,再加上维护也不积极,导致里面的项目质量参差不齐,其中有很多项目都已经停止维护了。所以我分别从 前端、后端、客户端 分类中,挑选了几个相对不错的项目,方便大家参考和学习。

二、实战项目

下面是我翻遍了整个 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

由于篇幅问题,这里就不再给大家过多罗列了。更多内容可以查看:

github.com/search?q=realworld

三、最后

在整理这些开源项目的过程中,我发现了很多听都没听说过的开源框架,比如 Java 的 RESTful Web 框架:Dropwizard,这个项目竟然有 8.2k Star 之多!

地址:github.com/dropwizard/dropwizard

说回正题,虽然上面的这些项目实现的功能都一样而且很简单,但这样你就可以抛开业务逻辑,专于框架部分从而快速上手开源框架。又因为不同框架实现的都是一套功能,可以更直观地对比出框架间的区别和特点,还能有助于你做技术选型。

总而言之,不管你是新手学习新开源框架,还是老手做技术选型挑开源框架,RealWorld 的这些开源项目或多或少都能帮到你。但它们中有的用到的开源框架版本较低或已经过时,使用时得注意一下,开源不易还望多多包涵。

现在有了 RealWorld,当你再遇到那些让你摩拳擦掌的开源框架时,就知道从哪下手,不会再留有遗憾啦!


其实 Web 开发无外乎身份验证、会话管理、增删改查这些东西,不管多大的项目也离不开这些。正所谓

千里之行始于足下——《道德经》

也只有掌握了基础的功能,才能玩转这些开源框架,从而扩充你的武器库,在应对不同场景和多变的需求,能够做到举重若轻泰然自若。

最后,如果您觉得本期内容还不错:求赞、求收藏、求转发,您的支持是对我最大的鼓励!这里是 HelloGitHub 我们下期见~

相关推荐

分布式事务怎么做?Spring Cloud Alibaba Seata告诉你

如果觉得我文章对您有帮助可以关注公众号:极客挖掘机,获得每日干货推送SpringCloudAlibaba|微服务分布式事务之Seata本篇实战所使用Spring有关版本:SpringBoot:...

分布式事务最全详解(看这篇就够了)

在如今分布式盛行的时代,分布式事务永远都是绕不开的一个话题,今天就重点详解分布式事务相关的一致性,以及分布式事务的实战解决方案@mikechen为什么需要分布式事务在分布式系统中,需要使用分布式事务来...

面试官:谈谈你对分库分表的理解?(什么是分库分表,为什么要进行分库分表?)

面试官:谈谈你对分库分表的理解?这个问题在数据库优化中挺常见的。首先,我得回忆一下分库分表的基本概念和应用场景。分库分表主要是为了解决数据库的性能瓶颈,比如单库单表数据量过大导致的查询慢、写入慢等问题...

Java程序员手把手教你设计可扩展的分布式系统

Java程序员手把手教你设计可扩展的分布式系统嗨朋友们,今天咱们来聊聊分布式系统的那些事儿。作为一个Java开发者,构建一个可扩展的分布式系统绝对是你职业生涯中绕不开的一环。这就好比建造一座摩天大楼,...

面试官:如何解决分布式事务里面事务悬挂问题?

面试官:如何设计高效的分布式事务里面事务悬挂问题怎么解决?我:这是分布式事务中一个很常见的问题。事务悬挂是指在分布式事务中,二阶段的Cancel方法比一阶段的Try方法先执行,导致事务状态不一...

SpringCloud系列——TX-LCN分布式事务管理

  前言  SpringCloud分布式架构给我们带来开发上的便利,同时增加了我们对事务管理的难度,微服务的遍地开花,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生。分布式事务被称为世界性...

CAP在.NET中实现分布式事务(cap中的a与分布式事务)

随着微服务架构的流行,分布式事务的处理变得越来越重要。在.NET环境中,实现分布式事务有多种方法,但其中CAP(Consistent,Available,Partitiontolerant)框架...

Spring Boot中的分布式事务解决方案

分布式事务是在微服务架构中一个非常重要的问题,在传统的单体应用中,事务通常由数据库管理,而在分布式系统中,由于涉及到了多个服务和数据库之间的交互,所以就会导致事务操作变得非常复杂。下面我们就来介绍一下...

开源的分布式事务框架Seata(分布式事务处理框架)

Seata(SimpleExtensibleAutonomousTransactionArchitecture,简单可扩展自治事务框架)是一个开源的分布式事务框架,由阿里巴巴集团发起和维护。它...

分布式事务解决方案在Java中的奇妙应用

分布式事务解决方案在Java中的奇妙应用在这个数据驱动的时代,分布式系统早已成为互联网架构的标配。然而,随着系统的拆分和扩展,传统的单机事务管理方式已经难以满足复杂业务场景的需求。这时,分布式事务便成...

使用Seata彻底解决SpringCloud微服务架构的分布式事务问题

目录背景介绍什么是分布式事务什么叫做逆向补偿呢互联网最流行的分布式事务组件seata总结背景大家好,今天给大家分享一个在2022年出去面试Java几乎必问的一个技术,那就是seata。什么?...

Java中实现分布式事务的那些事儿(java 分布式事务解决方案)

Java中实现分布式事务的那些事儿今天咱们来聊聊Java中如何优雅地处理分布式事务。这个话题对于很多开发者来说就像是攀登珠穆朗玛峰一样具有挑战性,但其实只要掌握了正确的方法,你也可以像登山老手那样游刃...

什么是分布式事务?在Spring Boot中如何实现分布式事务处理?

分布式事务是指在分布式系统中多个独立的服务之间的数据一致性和完整性的管理机制,随着微服务架构的不断发展,应用程序中对于分布式事务的需求要越来越多。而分布式事务与传统的单体应用中的事务操作有所不同,涉及...

SpringCloud分布式框架&分布式事务&分布式锁

总结本文承接上一篇SpringCloud分布式框架实践之后,进一步实践分布式事务与分布式锁,其中分布式事务主要是基于Seata的AT模式进行强一致性,基于RocketMQ事务消息进行最终一致性,分布式...

Spring WebFlux vs. Spring MVC(springboot是什么)

背景随着异步I/O和Netty等框架的流行,响应式编程逐渐走入大众的视野。但是,响应式编程本身并不是太新的概念,这个术语最早出现在1985年DavidHarel和AmirPnue...

取消回复欢迎 发表评论: