欢迎光临散文网 会员登陆 & 注册

想开发一个全栈型的项目,我会去写一个系列文章

2021-05-25 13:31 作者:李东bbsky  | 我要投稿

想了想,要让更多的人享受技术创造的魅力,最重要的不仅仅快速学会技术,还要用技术做出一点东西来,做什么才能最体现一个人的创造力呢?那就是全栈项目。

为了让更多零基础的技术小白,能够快速学会全栈开发小程序、网站、移动端App、桌面端软件,我将会去写一个系列型的文章。

市场上九成以上的程序员都是业务型程序员,也就是能够根据个人或企业的需求,将软件开发上线,因此项目开发经验既是面试的重点,也是程序员进阶的方式,还是个人开发者将idea落地实现创意的途径。从今天开始,我们就来教大家如何进行全栈项目的开发,这会是一个系列的课程,欢迎多关注。


什么是全栈项目

什么是全栈项目?比如一个可以每天发发文章供他人阅读的博客,一个方便管理企业信息并展示的网站,一个可以进行交易的小商城等等,这些博客、网站、小商城,既可以是PC网页版,又可以是小程序,移动App或者桌面端。

全栈项目可以让个人将自己的idea落地成为一个创意类技术产品,享受到技术创造的乐趣;也可以让中小企业做出商业级别的软件,从而获取到收益。

之所以会去录制这样一套课程,就是我们不希望大家学编程只是停留在对理论、概念或者算法的学习上,更多的是希望大家能够展现出“创造力”、“产品力”,能够做出一些有益于自己生活、工作,甚至有益于社会的一些技术作品。


前置条件

在进行全栈项目开发之前,首先你要能掌握编程语言的基础语法和生态,还要了解前端和后端的基础概念。

这里比较推荐的全栈开发方案从前端来说比较推荐:Vue、React等JavaScript网页开发,小程序的原生开发,Electron、React Native等桌面端开发,Flutter等跨多端解决方案等等,还有QT、移动App原生开发等这里就不多做介绍了。除了Flutter是Dart编程语言以外,JavaScript始终是前端开发的重中之重,无论你后端采用的是什么编程语言或框架。

而后端编程语言可以选择的编程语言和框架有很多,你既可以用后端编程语言的框架从零开始写起,比如:

  • PHP的Laravel、ThinkPHP,甚至原生开发;

  • Java的Spring;

  • JavaScript的express,koa;

  • Python的Django、Flask;

也可以依赖一些已经开源的项目比如Wordpress,比如Github上有很多开源的项目,你可以基于这些项目做“二次开发”。除此之外,我们也比较推荐使用腾讯云云开发。

很多人学了编程之后,还不明白项目到底是什么,一个网站、小程序、App到底是怎么开发的。这里既有自学编程的人,也有一些计算机专业的学生,他们很多人往往学了两三个月也还不能做出一个全栈项目,依然停留在对编程语言的语法、理论的学习上。

两三个月的学习周期是很漫长的,很多技术爱好者很容易中途就放弃了。考虑到市面上大多数教程并不是教技术小白怎么开发出项目,因此,我会把新手最容易掌握的全栈开发路线的教材都会去写一遍。即使是零基础的小白,也能在业余学习一两个月的时间就能掌握。要开始学习全栈项目开发,也建议大家先看这些小册。


项目到底是怎么开发的

要开发一个全栈性的项目,除了要有一定的技术基础外,还需要掌握一些简单的软件工程方法,它会指导你如何更好的进行项目开发。


1、瀑布型

你需要先了解软件开发的生命周期,也就是企业里面接到一个项目需求或者你去接一些私活,开发一些外包项目时,你不能直接上来就写代码,而是大致会经过以下几个流程:

  • 业务、需求分析,这个软件要实现哪些功能,实现时具体有什么要求等等,这些会跟客户反复沟通,最终会形成一个详细的关于功能、交互等要求的需求文档

  • 然后产品经理或设计师会根据需求文档将项目的原型图勾勒出来,设计师会拿着原型图进行页面的设计,从而出一个PS或Sketch的设计稿

  • 技术项目负责人再去根据需求文档,会写一些项目迭代排期、人员分配的项目文档,技术选型与配置的部署文档,接口地址、调用方式等的接口文档,前端后端沟通的模板文档模块文档数据库设计文档等等技术文档;

  • 然后才是程序的实现、集成与部署、运行与维护

这是一个全栈项目最为传统而经典的开发方式,个人在自学开发项目时会扮演多个角色,既要是产品经理梳理需求,又要是设计师去涉及项目,还要是项目经理跟进项目的开发,最后才是程序员角色里的开发、测试与运维。在这个系列教程中,我们也会涉及到这种开发方式。


2、增量式开发

有时候一个完整的项目并不需要自己从零开始开发,我们可以借助于一些模板、开源项目或者公司已有的代码,在已有的基础上去做增量式开发。

从程序员做全栈项目的角度讲,这个往往相对来说会比较容易。比如即使是零基础的小白,也能在一两天的时间内,在对软件开发处于完全不懂的状态下,也能参考技术文档的步骤说明,用PHP里的Wordpress、Discuz搭建一个商业级别的网站,用Vuepress搭建一个博客,或者在Github上面去找一些star量比较多的项目,基于这些项目来进行增量开发。

利用已有的开源项目能大大节省我们开发一个完整的全栈项目的成本,是我们入门项目开发时的一个不错的方式。因此,在教学的过程中也会去整理一些优秀的开源项目,并对这些项目进行拆解式教学。


3、MVP最小可行性产品

瀑布型的软件开发模型里,需求都是客户、公司给的,增量式开发只能在已有的项目上修修改改,但是当我们想自己开发一个实现自己idea的项目时,整个技术产品的需求都是自己想的,自己既是甲方又是乙方,这个时候MVP最小可行性产品的思维就显得尤其重要了。

无论你是个人做项目,还是自己去拉工作室创业,只要是想用编程的方式实现自己的创意,就一定要记住MVP,也就是先把最简单但又是最核心的功能给做出来上线了再说,正如以下配图里面,你要开发一个代步工具,就不要想着一上来就做一个“大东西”,把啥功能都往里面塞,而是要小步迭代。




程序设计方法

也就是说你要做一个全栈项目,由于项目需求来源的不同,可能在你开发过程中要先有产品经理的思维,最后才是程序员需要掌握的程序设计方法。

很多人编程语言的基础语法以及一些前后端的知识已经掌握了,但是还是写不好程序,还是不知道一个程序到底是怎么设计的。在接下来的视频里面,我们会整理一些项目,并对这些项目进行讲解,而贯穿这些项目讲解始终的就是程序设计方法里最重要的过程思维数据思维构件模块思维


想开发一个全栈型的项目,我会去写一个系列文章的评论 (共 条)

分享到微博请遵守国家法律