项目式编程学习资源汇总
一句话简介
精选按项目实战学习编程的中英文教程合集,涵盖Python、Web、数据科学等多个方向,适合初学者到进阶者动手练手。
标签
适用应用场景
- 零基础学习编程
- 通过实战项目提升技能
- 为面试准备作品集
- 自学全栈开发
README 中文摘要
项目概述
Project Based Learning 是一个面向软件开发学习者的教程资源汇编,按主要编程语言分类整理。每个教程都带领读者从零开始构建一个完整的应用程序,部分教程横跨多种语言与技术栈。读者可直接 Fork 本仓库开始学习,贡献规范参见 CONTRIBUTING.md。
支持的语言分类
仓库涵盖 20 余种语言与技术方向,包括 C/C++、C#、Clojure、Dart(Flutter)、Elixir、Erlang、F#、Go、HTML/CSS、Java、JavaScript(React、Angular、Vue、Node)、Kotlin、Lua、OCaml、PHP、Python、Ruby、Rust、Scala、Swift,并附有"Additional resources"补充资源。
C/C++:系统与底层方向
C/C++ 教程侧重操作系统、编译器、虚拟机与图形渲染:
- 系统编程:手写 Shell、FUSE 文件系统、引导加载程序、内核、键值存储、Redis 克隆版、Linux 容器(500 行)、x86-64 JIT 编译器。
- 编译器与解释器:《Crafting Interpreters》、从零编写 C 编译器(共 10 篇)、基于 LLVM 实现一门语言、
db_tutorial手写数据库、LC-3 虚拟机。 - 图形与游戏:tiny 3D 系列(软件渲染、256 行光线追踪、BMP 解析、FPS 原型)、CHIP-8 模拟器、SDL/C++ 入门、OpenGL Breakout 克隆、Tetris 与 Space Invaders 系列教程。
- 调试器:基于 Linux 的调试器系列(断点、寄存器、ELF/DWARF、源码级单步、栈展开等 10 篇)。
- 网络编程:自研 TCP/IP 栈(ARP/ICMP/TCP/重传)、并发服务器系列(线程/事件驱动/libuv/Redis 案例)、MQTT Broker 从零实现。
Java 与 JVM 生态
Java 教程数量较少但覆盖解释器(Crafting Interpreters 第 4–13 章)、基于 ServerSocket 的简易 HTTP 服务、Android 闪光灯应用,以及 Spring Boot 用户认证 Web 应用。
前端与移动端
- HTML/CSS:加载动画、HTML 计算器、纯 JS/CSS 实现的贪吃蛇。
- React 生态:无服务架构、Trello 克隆、Medium 克隆、Chrome 扩展、Webpack 配置、Puppeteer/Jest 测试、Redux 源码解读、实时聊天(含情感分析)、WebSocket + Serverless GraphQL。
- Angular:Instagram 克隆、Angular 2+ 离线优先 HN 客户端、Angular 8 完整应用系列、Bootstrap 4 响应式布局。
- Vue:Firebase 认证、预算应用、GraphQL+Apollo 博客、MEVN 全栈、Pub/Sub 实时游戏平台。
- Node.js:TDD 与 Postgres/Knex、Twitter Bot、爬虫搜索 Bot、Uber-for-X 应用。
- React Native 与 Flutter:Todo、新闻、TikTok/Netflix/WhatsApp/Twitch 克隆等大量实操项目。
Python 全栈应用
Python 教程按主题细分:
- 爬虫:Twitter 数据、Scrapy+MongoDB、Selenium WebDriver、BeautifulSoup 电影推荐。
- Web 应用:Flask Mega-Tutorial、Django Girls、Flask+RethinkDB、Django TDD、Docker+Flask+React 微服务、Streamlit 数据应用。
- 机器人:Reddit、Facebook Messenger、Telegram、Twitter 机器人。
- 数据科学与机器学习:线性回归手写实现、sklearn 入门、神经网络从零构建、KNN 音乐推荐、TensorFlow Deep Dream、遗传算法。
函数式与脚本语言
- Clojure:Twitter Bot、拼写检查器、JIRA 集成、Tetris in ClojureScript。
- Elixir/Erlang:Phoenix 聊天应用、短链服务、Erlang/OTP 多用户聊天室。
- F#:100 行 Excel 实现。
- Lua + LÖVE:BYTEPATH 完整游戏开发系列(游戏循环、房间系统、敌人、技能树等 15 篇)。
使用建议
仓库本质是链接导航:每个条目都是外部教程链接,不包含可直接运行的代码或 CLI 工具。建议读者先选定目标方向(如编译原理、操作系统、Web 全栈),再按对应章节顺序逐步实现对应项目,从而获得完整的工程实践经验。
摘要更新于 2026-08-12 00:31:33
· 原文 52340 字符
· md5 4e3e0075130a…