比较推荐的学习过程应该是以兴趣为驱动的,用搜索做辅助:
1. 我想做一个个人网站,或者给我们团队或者小组做一些介绍页面。怎么做?搜索发现要学习:HTML、CSS。
2. 发现一个网站设计的好漂亮,交互真赞,动画效果真好。我想在我自己网站上也放上,可是我看不懂它的代码?搜索发现要学习:交互视觉、CSS3 动画等。
3. 他们网站上都有那种点击弹出浮层的功能,还有一些其他的更复杂的交互效果。怎么实现的?学习JavaScript。
4. 有小学同学说我的个人网站错位了,问了下他用的是 IE7 访问的,怎么办?搜索了解一些浏览器兼容性问题(不是很必要)、学习使用 jQuery。
5. 我想在微信朋友圈分享一下我的网站,结果缩放的好小,而且有错位。怎么解决这个问题?搜索发现要学习响应式相关。
6. 分享了之后,发现打开速度好慢啊,要等十几秒才能打开。怎么办?学一下前端性能优化相关。
7. 网站交互功能和效果越来越多,写的 JS 和 CSS 代码越来越多,感觉写起来好慢,出了 bug 很难定位问题。怎么办?搜索发现要学习:Emmet、Less、SCSS 等辅助工具用法,JS 模块化require.js、sea.js 以及对应的 AMD、CMD 以及 CommonJS 模块化规范等。
8. JS 更复杂了,而且要与其他同学合作开发。发现需要学习一些前端框架来提高开发效率,比如React、Angular、Vue,此外还需要一些打包构建工具,将 JS 编译之后发布使用。需要学习Webpack、Grunt、Gulp 等工具用法。
9. 网页和应用是开发好了,可是是静态的,没法有数据更新,怎么办?学习前后端数据沟通,Ajax 请求、JSON 数据格式、Fetch API。当然由此延伸,最好还要了解 PHP、Java Velocity、Nodejs 这些后端的知识,还要对HTTP 的一些状态码、请求类型等有所了解。
10. 应用部署到哪里?搜索了解:虚拟主机、域名注册、VPS、云主机、PaaS、IaaS、DNS 解析、在中国做网站要备案但是服务器放在国外就不需要等等。
11. 每次新创建应用,在我的服务器上都要配置一遍 PHP 环境、Nodejs 环境,有的应用对 PHP 版本要求还不同,怎么办?搜索了解虚拟化技术,Docker 帮你极好的解决这个问题。
12. 每次发布还要自己手动上传代码到服务器,而且要自己在本地打包、运行单元测试,好麻烦啊。搜索发现可以自己搭建一套持续集成系统,用 git push 代码,自动触发构建,运行单元测试,成功后自动 build 然后给你上传到服务器上面。你只需要写代码就可以了。推荐:gogs + drone + docker。
。。。。。。后面还有很多可以玩的