做为一名 Android 开发者,伯特毕业后一直在从事相关开发工做,平时接触最多的也是 Android 技术,但我一直在关注着大前端领域,也就是 Android/iOS + Web 前端。毕竟,大学时期使用 Html + CSS 作过静态网页,还会一点 iOS 开发,仍是有一点底子的。但都很久没碰,早已生疏了。前端
在我看来,技术都是相通的,工做上因各司其职能够分开,但就学习而言,不该该划分界限。只有平时多接触,才能提高你的编程编程思惟和看问题的视野,而这,是不分领域和语言的。平时,我会关注其它领域都有什么新的动态,保证本身紧跟互联网发展趋势,拥抱先进生产力,不至于脱节。git
接下来,伯特就想与你们分享我在了解 Web 开发时看到的一张路线图。该路线图来自 Github 开源项目《developer-roadmap》,其早在 2017 年就分享出来了,最近一直在更新且活跃于 Github Trending。路线图的内容,来自国外一位教授分享给他的学生的。主要包含四个方面:github
下面,分别展开介绍。算法
首先,该路线图向咱们展现了 Web 开发所必需的技能,以及 Web 开发涉及的方向:编程
必需技能部分(左侧),能够理解为通用的、基础的技能,无论你选择哪一个方向都是通用的,包括但不限于 Git 使用、HTTP/HTTPS、数据结构和算法等。固然了,学习能力是必须具有的。后端
方向部分(中间),将 Web 开发分为 Web 前端和 Web 后端,后端日后还衍生出 DevOps。在这里,咱们能够将 Web 前端理解为用户可见的前端页面,是用户直接交互的部分;而 Web 后端,就是提供前端所需的数据和响应逻辑;DevOps 能够理解为运维开发,具体后面再解释。设计模式
接下来,就是 Web 前端(Front-end)路线图。数据结构
从图中能够看出,从一开始,咱们就必须具有 HTML + CSS + JavaScript 技能,日后继续深刻,就须要咱们围绕基础技能继续深刻学习,包括一些开发框架、经常使用工具和设计模式等。架构
而对于 Web 后端(Back-end),须要掌握的知识体系就更加复杂了:框架
做者补充说:
For the backend, personally I would prefer Node.js and PHP 7 for the full time. Plus, I have been experimenting lately with Go and I quite like it. Apart from these, if I have to choose another one, I would go for Ruby. However this is just my personal preference, you can choose any of the shown languages and you will be good.
能够看出,做者推荐使用 Node.js 和 PHP 7 做为主线。同时,Go 和 Ruby 也是不错的选择。固然,做者表示这只是一家之言,你能够从路线图中选择任意一门你喜欢的语言,均可以作得很好。
好比,近期很火的 Python~
最后,就是 DevOps 路线图:
对于 DevOps ,你们或许会比较陌生,从字面上看,就是 “开发”与“运维”,一块儿来看看 Wikipedia 给出的定义:
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合做的文化、运动或惯例。透过自动化“软件交付”和“架构变动”的流程,来使得构建、测试、发布软件可以更加地快捷、频繁和可靠。
而实际上,能够把 DevOps 看做开发(软件工程)、技运营和质量保障(QA)三者的交集:
上述路线图涉及的知识点是很是全面的,经过简单的介绍,相信你对 Web 开发有了大致的认识,并对其所涉及的方向及基础知识有所了解了。若是你选定了一个方向,并沿着路线图展开学习,随着学习的深刻,你必定会对路线图中的知识体系逐渐有本身的看法。
最后,附上 developer-roadmap 地址:
同时,有一份中文版的,但更新的有些脱节,你也能够参考下:
最后,欢迎关注个人公众号「伯特说」