管理系统其实是一个比较不错的练习基本功的项目,基本上 Web 开发涉及的基础知识都在里面。楼主觉得没有吸引力,可能是体会不到技术提升的感觉。但实际上完全可以深挖管理系统的。
比如最基本的 HTTP 协议需要熟练掌握吧,那么 HTTP 的 request 和 response 实质上是什么样的要做到心中有数。
以 request 为例,掌握 request 的格式可以更好地理解 request 的原始信息,同时从原始信息中区分 request method、request path、query string、headers 和 request body 也是需要掌握的。还有 headers 中常见字段的含义也属于必备的知识。
比如说 Content-Type 常见的是 application/json、 application/x-www-form-urlencoded 和 multipart/form-data(不常用的比如知乎目前使用的 application/x-protobuf),这三个分别应用在什么场景中,以及如何获取这些格式的值都是有必要掌握的。
这还只是 request 部分,response 也是一样的道理。在掌握这些知识之后,可以轻松应付不少工作中的类似问题:
1. 405 报错怎么回事
2. parse JSON 怎么取不到值
3. 如何以 GET 的形式传递 city=[1, 2, 3] 这样的数据
4. 如何发送一个文件(能发送文件就能发送 HTML 了,也就能清楚为什么 你见过哪些让你瞠目结舌的 Java 代码技巧? 里的做法是不可取的了)
实际上掌握这些,再加上网络编程,就可以开始写 Web Server 了,而且这些都是和语言无关的基础知识,换一门语言来实现也就是换一下语法的事。
说完 HTTP,再来说下 CRUD。楼主认为自己整天重复 CRUD,我猜是没有很好地抽象出 Model。实际上写一个基础的 Model 类,把 CRUD 操作放进去,其他类处理好自己的属性,使用的时候非常方便。实际上这些可以配合数据库驱动写一个基础版本的 ORM(当然搭配 mongo 实现会容易些,SQL 会麻烦点)。
写完这些之后会发现管理系统也没有那么无聊了,因为能很好地验证自己实现的东西是否正确。当然自己实现的毕竟很粗糙,但是掌握之后再去看其他框架就会轻松很多了。而且上面这些都是不限定语言的,哪天楼主想换语言来写 Web 也是很轻松的事情。
至于 HTML、CSS、JavaScript 这些之后再慢慢完善就好了。当然有正确的方向学起来也是很快的事情,如果没人指导,自己看书无非多花点时间,掌握了上面的基础,这几样至少不会成为 Web 路上的拦路虎。
我在其他答案中提到了前端相关知识的学习