2.2 选择开发商城系统的原因
程序开发人员是一个非常务实的群体,他们的性格用一句经典的话来概括就是“Talk is cheap,show me the code(废话少说,放‘码’过来)”,特别强调项目和实战经验。
大部分开发人员都特别注重项目实战。项目的种类很多,会随着个人技术的不断提升而不同,简单的项目可能是学生管理系统、工资管理系统等,难一点的项目可能是博客或论坛项目,大型的项目可能是商城系统。本书最终的实战项目新蜂商城就属于商城系统。
2.2.1 什么是商城系统
商城系统就是功能完善的网上销售系统,与传统的市场一样,商城系统也会提供在交易时所必需的信息交换、支付结算和实物配送等基础服务,它可以让用户通过网络实现购物行为。
线上商城为个人用户和企业用户提供人性化的全方位服务,可以为用户创造亲切、轻松和愉悦的购物环境。京东、唯品会、天猫、拼多多等都属于线上商城。线上商城通常包含会员模块、商品模块、订单模块和支付模块等。
当然,由于系统的完善程度不同,可能还会有仓库模块、物流模块、营销模块等。如图2-6所示是商城系统的抽象图。
图2-6 商城系统的抽象图
2.2.2 为什么要做商城系统
1.热度高
电子商务的高速发展加速了为电子商务服务的软件行业的发展,并随之诞生了很多与之密切相关的商城系统。无论是开源的还是商业性质的商城系统,其实现技术都非常丰富,热度也很高。因此,很多开发人员都会尝试开发一套商城系统。
2.知识点复杂
商城系统是一个比较复杂的系统,涉及的技术内容比较多,而且对功能和技术栈的要求也比较高。从零搭建一个商城系统,这个过程不仅考验开发人员的技术储备丰富度,更考验开发人员技术使用的熟练度,同时对开发人员的系统设计能力也有要求(系统如何切分、功能如何设计、页面结构和交互如何优化等),这些技术栈的掌握程度和项目整体的统筹规划都在一定程度上代表一名技术人员的能力。
开发和统筹一个完整的大型商城系统往往要求技术人员了解很多不同的技术或框架,比如常用的前端页面模板和基本的We b开发知识、Vue 3及相关技术栈、后端开发技术框架(如Spring Boot、ORM框架等)、服务器基础设施(如基本的shell命令,Nginx、MySQL等常用软件的搭建和使用)都需要进行全局考虑和选择。
3.产品流程完整
商城系统具有完整的产品开发流程,产品设计、原型设计、功能开发、功能测试、项目上线等环节都会涉及,如图2-7所示。开发人员一般不太关注完整的产品开发流程,但是掌握整个产品开发流程对日后的职业提升有极大的帮助。
图2-7 产品开发流程示意图