简介
很多人认为「学技术」,就是学会用某一门编程语言来写程序,这是很大的误解,对于目前常见的产品形态来说,几乎没有能只靠一门编程语言就能写出来的。
当然,用一种语言完成尽可能多的工作,似乎也是不少人追求的目标,比如只使用 Javascript 这门常见的编程语言,就可以既写服务器端程序,又写客户端程序,但并不意味着只是「会写 Javascript 代码」就能完成这些工作,在现代的开发过程中,往往会使用某个成熟的开发框架(Framework),除了这门语言的语法之外,至少还需要掌握这些框架的用法和规则,才能实际进行开发。
在某些情况下,你不能只懂得「写程序」,还需要知道如何让写好的程序能够被用户使用起来,你必须学会和更多事打交道,比如「数据库」、「服务器」等这些过去常被划分为「运维」职责内的东西,但「开发」和「运维」职责的融合,应该会是趋势,如果对这个话题有兴趣,可以 Google 一下这个词:[DevOps]。
在产品开发的整个过程中,涉及到的「技术」主要包括以下几类:
- 写程序(或者更准确的说法应该是:设计程序)
- 使用开发框架
- 使用各种辅助工具
- 各种工具和系统的配置
所以我们说的「学技术」,其实指的是学习上面这些知识,并且知道如何把这些知识组合起来做出我们想做的产品,学会某个具体编程语言的语法,只是其中非常基础但所占比重很小的一部分。
在这个课程中,我们会学习一整套可以用来构建微信公众号这种产品形态的知识和技能的组合,术语叫做「技术栈」,由于微信公众号本质上属于 Web 开发,所以同样的一套技术栈,也可以用于电脑和移动设备上的网站开发。
这套课程中,不涉及移动设备上原生应用(Native App)的开发,但目前的常见产品形态基本都是服务器端(后端)+客户端(前端)的架构,而服务器端是通用的,所以学完本课程后,如果你想学原生应用的开发,只需要再去学习相应的客户端开发技能就可以了。