盘点2024年推荐的6个Web开源项目

下面一起盘点2024年推荐的6个Web开源项目。

1、Umbraco-CMS:一个Star 4.1K的.Net开源CMS项目

Umbraco CMS开发者团队是来源于丹麦,经过多年的发展,已经成为全球比较知名并被广泛使用的CMS,它以友好的用户体验和高度可定制性而出名,非常适合用于开发各种类型网站项目,比如开发企业网站、电子商务系统、企业管理系统等。

项目地址:

https://github.com/umbraco/Umbraco-CMS

2、FastEndpoints:轻量级、高性能的ASP.NET Core Web API开发框架

FastEndpoints是基于REPR设计模式(请求-端点-响应)的Web API框架,它旨在减少开发代码量,提升开发效率。

与传统的ASP.NET Core Web API相比,FastEndpoints通过内联处理程序和直接的数据访问,大大简化了开发流程。

该框架不仅支持中间件、认证、授权、日志和依赖注入等常用功能,而且在性能上表现优异,性能与Minimal API不相上下。它比我们的基准测试中的MVC控制器更快,使用更少的内存,每秒处理大约35k个请求。

FastEndpoints可以很好的替换Minimal API和MVC。

项目地址:

https://github.com/FastEndpoints/FastEndpoints

3、dotnet-starter-kit:一个Web API+Blazor多租户、模块化、简洁DDD架构!

dotnet-starter-kit是一个基于 .NET 8 的开源项目,架构构建基于 Clean Architecture 原则的解决方案。支持多租户、模块化,一个开箱即用的项目,方便我们快速开发项目。

数据库支持:PostgreSQL 、MySQL、MSSQL、Oracle。

作为学习项目也是不错的选择,从中可以学习如多租户、CQRS、洋葱架构、清洁编码标准、使用Terraform到AWS的云部署、Docker概念、CICD管道和工作流等。

项目地址:

https://github.com/fullstackhero/dotnet-starter-kit

4、Boxed:包含多个.Net项目模板,涵盖了ASP.NET Core API、GraphQL等。

.Net Boxed该项目为.NET开发者提供了一套包含基本代码的项目模板,涵盖了ASP.NET Core API、ASP.NET Core GraphQL、Microsoft Orleans以及NuGet Package的项目。

项目地址:

https://github.com/Dotnet-Boxed/Templates

5、Cofoundry:功能强大、扩展性强、支持插件的CMS系统

项目简介:基于.Net开发的、代码优先开发、具备可扩展且灵活的架构、简单易用的内容管理系统。

Star:836

项目地址:

https://github.com/cofoundry-cms/cofoundry

6、Piranha.core:轻量级的CMS开源项目

项目简介:Piranha CMS是一个轻量级且跨平台的CMS库,专为.NET 8设计。

该项目提供多种模板,具备CMS基本功能,也有空模板方便从头开始构建新网站,甚至可以作为移动应用的后端。

是一个完全解耦的CMS,意味着我们可以使用任何技术以任何方式构建的应用程序。

Star:2K

项目地址:

https://github.com/PiranhaCMS/piranha.core

什么是WEB?WEB起到什么作用?

WEB名词解释

\”Web\” 是 \”World Wide Web\”(万维网)的缩写,它是一个通过互联网访问的信息系统。Web 主要由以下几部分组成:

  1. 超文本文件:这是指网页文档,通常是用 HTML (HyperText Markup Language) 编写的。HTML 文件可以包含文本、图片、视频、音频和其他多媒体内容,并且可以通过链接相互关联。
  2. URL(统一资源定位符):每个网页都有一个唯一的地址,称为 URL。用户可以通过浏览器输入这个地址来访问特定的网页。
  3. HTTP/HTTPS(超文本传输协议/安全超文本传输协议):这是一种用于从 web 服务器向客户端(如浏览器)传输网页的应用层协议。HTTPS 是 HTTP 的安全版本,提供了加密的数据传输。
  4. Web 浏览器:这是用来显示网页内容并允许用户与之交互的软件程序。常见的浏览器有 Google Chrome、Mozilla Firefox、Microsoft Edge 和 Safari 等。
  5. Web 服务器:这是运行在互联网上的计算机,它们存储了网页文件并通过 HTTP/HTTPS 协议响应来自全球用户的请求。
  6. 超链接:这是 web 的核心特性之一,它使得文档和资源之间能够相互连接。超链接可以是文本或图像的一部分,点击它可以将用户带到另一个网页或同一网页的不同部分。
  7. 多媒体元素:除了文字,web 页面还经常包含图片、视频、音频等多媒体元素,以提供更丰富的用户体验。
  8. 脚本语言:像 JavaScript 这样的脚本语言可以在客户端执行,为 web 页面添加动态行为和交互性。
  9. 样式表:CSS(层叠样式表)用于定义网页的外观和格式,比如字体大小、颜色、布局等。
  10. Web 应用程序:随着技术的发展,web 不仅仅局限于静态页面,还包括了大量的 web 应用程序,这些应用程序可以通过浏览器访问,提供了类似桌面软件的功能和服务。

WEB应该学习什么?

作为前端开发人员,专注于Web前端技术的学习是非常重要的。以下是一个详细的学习指南,涵盖了前端开发所需的关键技能和工具:

  • HTML (HyperText Markup Language): 学习如何使用标签构建网页的结构。
  • CSS (Cascading Style Sheets): 掌握样式化网页的方法,包括布局、颜色、字体等。
  • JavaScript: 理解这门编程语言,它是前端交互性的核心。
  • 响应式设计: 学会创建适应不同设备和屏幕尺寸的网页。
  • 浏览器开发者工具: 使用 Chrome DevTools 或 Firefox Developer Tools 调试代码和优化性能。
  • 版本控制系统:
    • Git: 学习如何使用 Git 来管理代码版本,并了解 GitHub/GitLab 等平台。
  • React.js: 由 Facebook 开发的用于构建用户界面的 JavaScript 库。
  • Vue.js: 一个渐进式 JavaScript 框架,易于上手且功能强大。
  • Angular: 由 Google 维护的一个完整的前端框架,基于 TypeScript。
  • UI 框架:
    • Bootstrap: 流行的 CSS 框架,提供预定义的样式和组件。
    • Tailwind CSS: 实用优先的 CSS 框架,允许你直接在 HTML 中编写样式。
  • 模块打包工具:
    • Webpack, Parcel, 或 Vite: 用于将多个文件合并成一个或几个优化后的文件,便于浏览器加载。
  • 任务运行器:
    • Gulp, Grunt: 自动化重复性任务,如压缩图片、编译 Sass 等(虽然现在这些功能大多被 Webpack 等打包工具替代)。
  • 构建工具:
    • Babel: 编译现代 JavaScript 代码为向后兼容的版本。
    • ESLint: 静态分析工具,帮助发现潜在问题并保持代码风格一致。
  • Sass/SCSS, Less: CSS 预处理器,扩展了 CSS 的功能,支持变量、嵌套规则、混合等功能。
  • 懒加载: 推迟加载非关键资源以加快页面初始加载速度。
  • 图像优化: 使用适当的格式和大小来减少带宽消耗。
  • 缓存策略: 利用浏览器缓存来减少重复请求。
  • 单元测试:
    • Jest, Mocha: 写测试用例确保代码按预期工作。
  • 端到端测试:
    • Cypress, Puppeteer: 测试整个应用程序的行为,从用户的角度出发。
  • 可访问性 (Accessibility): 确保你的网站对所有用户都友好,包括那些有残障的人士。
  • SEO (搜索引擎优化): 让你的网站更容易被搜索引擎索引和找到。
  • 关注社区和技术博客: 例如 MDN Web Docs, Stack Overflow, Reddit 的 r/webdev 等。
  • 参加在线课程和教程: 如 freeCodeCamp, Codecademy, Udemy 等提供的课程。
  • 参与开源项目: 在 GitHub 上贡献代码,提高自己的技能水平。
  • Progressive Web Apps (PWAs): 学习如何创建类似原生应用的 Web 应用程序。
  • Web Components: 使用标准组件化的方式来构建 Web 应用。
  • TypeScript: 学习这个静态类型的超集,它可以帮助编写更健壮的 JavaScript 代码。

通过掌握上述技术和工具,你可以成为一名合格的前端开发人员。根据个人兴趣和市场需求,可以选择深入某些特定领域进行专业化发展。持续学习和实践是提升技能的关键。

Web就是现实世界

Ben Thompson在分析消费者技术的断代时认为,现在正处于移动纪,智能手机的机动性把计算和联网延伸到我们日常生活的方方面面。因此谁能更好地打通线上和线下,谁就能占据主导。就这一点而言,他认为Uber有可能占得先机,因为Uber有可能成为能成为连接一切的实体网络。不过《大西洋》的Adrienne LaFrance的思考则更加开阔。她认为,实际上从2014年开始,线上与线下的界限已经开始模糊了:

2014年,400亿美元估值的Uber已经迈过了一道文化门槛。

“XX界中的Uber”已经成为了为随时随地提供服务/东西的简称。但是这也暗示了人类与世界的交互方式正在发生着更为巨大的转变,技术界今年最陈腔滥调的一个说法也许具有最深远的意义。

按照Alexis Madrigal 的说法,Uber的想法很简单,但其过人之处在于,你只需要在手机上点击一下,现实世界就会有事情发生。而Uber的早期用户VC Jon Callaghan 2010年写道:

本来只是按个按钮,仅仅过了3分钟之后却让我穿越了时空。

其影响是巨大的。因为现实世界与数字世界之间的界限正在以整条街道、整座城市的规模模糊化。全球各地都在发生着这种变化。Uber已经入驻全球200多座城市。它已经扎根在居民的词典里面,成为出行的基本方式之一。

要想理解这个,我们可以看看Google。Google成为网上搜索的同义词,其原因并不仅仅因为它是最知名的搜索引擎,而在于搜索引擎彻底改变了我们的行为。它把新商业模式与用户体验融合到一起,为我们寻找几乎一切问题的答案,Google不仅创造了新行为,而改变了我们与信息交互的方式。Uber对我们的改变也有一样的量级。智能手机的无所不在意味着web的无所不在,从而让我们可以用它来做一切事情。

所以区分线上线下才会变得越来越勉强。所以官方才会越来越严肃地对待网上的威胁。所以“新媒体”现在其实就是“媒体”。所以我们最终也会把“物联网”变成对“物”的讨论。

几年前,耶鲁大学正在对斯特林纪念图书馆进行重现设计。我问了Susan Gibbons馆长一个问题,面对着已经对在网上组织信息习以为常的这一代学生,图书馆如何利用物理空间才能更好地为他们提供服务?那样的图书馆应该是什么样子的?

馆长很快就有了答案:“就像你改改Facebook页面或者主页一样,物理空间的调整也将是可定制的,具有灵活性。”所以,耶鲁大学订购了一批可以快速组装和拆分的家具,以便搭建出协作性的学习环境,从而营造出能折射出网上世界的流动性的物理空间。“物理和虚拟未必就得非此即彼,” Gibbons说。

现在的世界就是这样的。

Gibbons发现了一件很有趣的事情,学生仍然在利用图书馆的物理空间。哥特风格的图书馆气势辉煌,安静肃穆,但是学生只是坐在那里,他们的工作完全都是在网上完成的。

我们不断地占据着物理空间和虚拟空间。只要在设备屏幕上按个按钮,现实世界就会有某个东西出现(materialize)。然而这种早已发生的整合并非从一开始就那么明显的。

大家讨论Web时仍然不把它当作现实世界的东西来看。但是在2014,web就是现实世界:在智能手机上按下按钮,几分钟后就能打的回家。自跟踪设备把走路的步数变成数据点。互联网造就了能挂在墙上的电子画框。跑步爱好者利用基于GPS的应用跟踪自己的跑步路线来作画。宇航员在外太空3D打印套筒扳手。Uber让空中写字就像发短信一样简单。

因此其更大的承诺是,它会重塑人们审视人与互联网以及相互之间关系的方式—得到你想要的东西的时空壁垒被打破了。动动口袋大小的屏幕,某个实体就会出现在你的旁边—让你搭车的人,或者是让你可以在低轨道修理3D打印机的扳手。这令人吃惊。但现在也变得稀松平常。

看看美国在线1996年对自己用户说的话吧:

当你第一次上网时,你未必知道它与你的生活会有多少交集。你会登录多少次?在这上面会度过多少时间?上网以后你会做什么呢?

将近20年后,答案已经很清晰了。我们可以足不出户。我们已经随时在线。而且似乎可以做任何想做的东西。

新版36氪iOS 客户端正式上线。该有的都有了,你想要看创业资讯,你想要分享,想看视频,想来活动现场,下载36氪iOS客户端,即氪触达。点击链接下载:http://t.cn/RZhjmNi

除非注明,本站文章均为原创或编译,

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。