我刚学完 Python 语法那会儿,手痒想写个项目检验自己的学习成果。但却不知道写个啥,经过几次失败的尝试和碰壁后认清了现实,发现到自己只是刚学会基本语法,想要从零写个项目还差得远。不知道有多少朋友和我一样,手痒想写个项目。但:
不知道能写什么
知道写什么,但无从下手
如果刚学完语法想写个项目,可以先从 Web 方向入手。因为这方面有很多现成的框架和资料,但不要上来就去学习框架(看文档)不然你“手痒”的冲动和仅有的那点激情,可能就全部消耗在了啃框架上。我建议你去找一个 感兴趣的 Web 开源项目,然后把它跑起来,先不要去探究每行代码的意思,就跟着部署说明一步步执行命令就好。在运行项目的过程中不可避免会遇到三方库的安装、运行报错等情况,这个时候就必然要去看文档,带着问题去看文档能够把文档读“薄”。但不管怎么样想把一个项目跑起来都是件十分痛苦的事情,这也是必经之路没有什么捷径可言。你需要做的是 不断解决眼下的每一个报错直到没有任何问题,让项目顺利地跑起来 这可比学会一个框架,然后用它写一个项目简单多了!
当你成功运行起来一个项目,相信 Web 框架和项目的文档也零碎地翻了几遍了。这时候再去学习框架就不再是枯燥的学框架和背代码,而是把你在运行项目时积累的知识碎片串起来融会贯通,另外运行时遇到的问题也会随着学习的深入迎刃而解。最后,站在“大佬的肩膀”上照猫画虎地修改项目代码增加功能感受 DIY 带来的乐趣,一定要多动手运行+调试才能吃透项目,从而看懂项目结构和架构。随着把玩的开源项目多了,再遇到手痒的时候就能自己写个“玩意儿”啦。
写项目先从跑起来一个开源项目开始!下面就给大家介绍 7 个有趣的 Web 开源项目和 3 个桌面软件,跑起来就能用!涵盖多种主流编程语言:C/C++、Java、Python、JavaScript、PHP 等,希望你在 HelloGitHub 找到感兴趣的开源项目。
1、novel-plus(小说)
Star 数:1.5k|语言:Java
这是一个功能齐全的原创文学平台。类似起点中文网:看小说+写小说,它由前台门户、作家后台管理、平台后台管理、爬虫等多个子系统构成,采用 SpringBoot、MyBatis、MySQL、Redis 等技术实现。功能强大不仅支持多端的小说阅读,还有新闻模块、作家专区以及会员充值和订阅模式等功能。
演示:http://47.106.243.172:8888/
地址:https://github.com/201206030/novel-plus
官网:https://201206030.github.io/
2、homeland(论坛)
Star 数:3.4k|语言:Ruby
一款开源不限制商用的精致社区/论坛系统。国内最大的 Ruby 社区 Ruby China 开源的项目,值得一提的是该系统拥有完整的实时通知和社交功能:关注的人和话题动态通知、@提及通知、丰富的表情系统等。如果你能把这个项目跑起来,就立刻拥有了一个“社区”。
演示:https://ruby-china.org/
地址:https://github.com/ruby-china/homeland
官网:https://homeland.ruby-china.org/zh-CN/
3、nopCommerce(电商)
Star 数:6.3k|语言:C#
免费开源基于 ASP.NET 电商购物平台。习惯了用 Java 写的电商平台,换个口味来看看这个用 ASP.NET 构建,适合中小型企业和个人的商城项目。它始于 2008 年由专业团队开发和维护,支持 Windows、Linux、macOS 平台,还有开箱即用的 Docker 部署方式。让 nopCommerce 跑起来,开启电商的大门。
演示:http://frontend.nopcommerce.com/
地址:https://github.com/nopSolutions/nopCommerce
官网:https://www.nopcommerce.com/zh
4、filebrowser(文件)
Star 数:10k|语言:Go
在线文件管理系统。安装成功后直接指定目录即可运行起来一个 Web 文件管理系统,支持文件浏览、生成分享链接、批量上传、文件夹管理、用户系统等功能。
安装:https://filebrowser.org/installation
地址:https://github.com/filebrowser/filebrowser
官网:https://filebrowser.org/
5、humhub(社交)
Star 数:5.4k|语言:PHP
开源的社交平台。相信看过《社交网络》的小伙伴都知道,大名鼎鼎的 Facebook 最早就是扎克伯格用 PHP 语言写的。这个项目基于 Yii 2 框架实现,包含了社交平台所需的基本功能而且运行简单,跑起来后来个二次开发,搞一个有特色的社交平台。
地址:https://github.com/humhub/humhub
官网:https://www.humhub.com/en
6、wiki(维基)
Star 数:13.2k|语言:JavaScript
强大且漂亮的开源维基平台。项目采用 Vue.js+Node.js+Git 实现,可直接部署用于团队内部多人协作下的写作和知识管理。想要做全栈的小伙伴,快拿下这个项目吧。
演示:https://docs.requarks.io/demo
地址:https://github.com/Requarks/wiki
官网:https://js.wiki/
7、explainshell(有趣)
Star 数:9.4k|语言:Python
一个用于解析 Linux 命令的网站。输入命令就能解析出对应的命令说明和参数解释,属于比较新颖的 Web 项目。
演示:https://www.explainshell.com/
地址:https://github.com/idank/explainshell
8、DungeonRush(贪吃蛇)
Star 数:1.3k|语言:C
不一样的单机贪吃蛇游戏。作者受到元气骑士的启发,在原版的贪吃蛇玩法上进行一些创新。该项目适用于 C 语言初学者,尝试使用跨平台图形库开发软件的同学。参考本项目可以写出一个可玩性高的游戏,收获满满的成就感
地址:https://github.com/Rapiz1/DungeonRush
9、chinessChess(象棋)
Star 数:1.3k|语言:C++
基于 Qt5 开发的中国象棋网络对战平台。实现了联机、单机、AI 等功能,边玩边学吧。
地址:https://github.com/xmuli/chinessChess
10、eul(工具)
Star 数:5.8k|语言:Swift
一款极简免费的 macOS 状态监控工具。使用 SwiftUI 编写,先体验它的好,再剖析它的妙。
- 安装:brew install --cask eul
- 或 App Store 搜 eul
地址:https://github.com/gao-sun/eul
以上就是本期推荐的 10 个适合实战的开源项目,更多有趣、入门级的开源项目尽在 HelloGitHub 在这里找到让你感兴趣的开源项目吧。