和chatgpt学架构01-搭建项目脚手架

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 和chatgpt学架构01-搭建项目脚手架

今年3月份以来,chatgpt就热度不减。有了这种聊天机器人,就可以很方便的帮助我们提高。无论是我们独立创业还是做项目外包,拥有一套自己可以把握的脚手架还是必备的能力。

过去如果靠自己摸索,组装这么一套脚手架还是费事费力的。一个是涉及技术比较多,既要架构前端也需要架构后端。而且有的开源技术文档比较丰富,有的就比较简陋。


如果是靠搜索引擎看别人写的技术文章,因为每个人的视角不同,有的风格是只是记录知识点有点类似于笔记。这种无疑大大增加了我们在做技术选择时候需要筛选的周期。


为了解决上述说的技术架构难、周期长的问题,我们可以借助现在大火的chatgpt,和机器人进行结对编程,来缩短我们架构的周期。

1 技术路线的选择

我们要设计一套自己用的趁手的架构方案,技术路线是必须要选择的。目前技术粗略的分为前端和后端,因此我们首先问一下chatgpt。

我现在想自己开发一套软件,怎么选择前后端技术

1.项目需求:了解项目的功能需求和性能要求。如果需要实时交互和动态内容展示,可以选择使用前端框架如React或Vue.js;如果需要处理大量数据和高并发请求,可以选择后端框架如Node.js或Django。

2.技能和经验:评估团队成员的前后端技术背景和熟悉度,选择他们熟悉的技术栈可以提高开发效率和质量。如果团队成员在某些特定技术上有较多经验,可以利用他们的专业知识。

3.生态系统支持:考虑前后端技术的生态系统是否成熟,是否有大量的文档、社区支持和第三方库可用。这将对开发过程中的问题解决和功能实现提供很大帮助。

4.可扩展性和未来发展:选择具备良好扩展性和灵活性的前后端技术,以便在未来能够容易地添加新功能、处理更高负载或适应新的业务需求。

5.安全性和性能:考虑项目的安全性需求,并选择具备良好安全机制和性能优势的技术。前端可以选择使用HTTPS协议、跨站脚本攻击(XSS)防护等;后端可以选择使用ORM框架、缓存技术等来提高性能。

6.社区支持和拓展性:选择具备活跃的社区支持的技术,这样可以更容易获得帮助和分享经验。此外,考虑技术的拓展性,是否支持插件、扩展和定制化开发。


2 前端框架的选择

chatgpt已经对技术路线的选择给出了具体建议,我们在接着进行提问

有哪些比较流行的前端框架,他们的优缺点是什么

目前比较流行的前端框架包括React、Vue.js和Angular。这里是它们的优缺点:


1.React:

优点:


高度灵活:React供了组件化的开发模式使得代码可重用性高,易于维护和扩展。


虚拟DOM:使用虚拟DOM可以提高性能,在数据更新时只更新必要的部分,减少DOM操作次数。


大型社区支持:React拥有庞大的社区和丰富的生态系统,有许多成熟的第三方库和工具可供选择。


缺点:


学习曲线较陡峭:对于新手开发者来说,理解和掌握React的概念可能需要一些时间。


需要其他库的配合:React只负责视图层,如果需要构建完整的应用程序,可能需要额外选择和集成其他库。


2.Vue.js:

优点:


易于上手:Vue.js具有简单直观的API和文档,容易学习和使用。


渐进式框架:Vue.js允许逐步采用,可以根据项目需求选择使用其核心库或配套库。


具有良好的性能:Vue.js通过虚拟DOM和响应式数据绑定等机制来提高性能。


缺点:


社区相对较小:与React和Angular相比,Vue.js的社区规模较小,可能在某些方面缺乏一些成熟的解决方案。


生态系统相对较小:尽管Vue.js有一些常用的插件和工具,但其生态系统相对React和Angular来说还不够完善。


3.Angular:

优点:


完整的解决方案:Angular是一个完整的框架,提供了许多功能和工具,包括路由、表单验证、状态管理等。


强大的类型检查:Angular使用TypeScript进行开发,提供了强大的类型检查和编译时错误捕捉能力。

支持大型应用程序:Angular适用于构建大型的企业级应用程序,提供了模块化和组织架构的支持。

缺点:


学习成本较高:相对于React和Vue.js,Angular有一个较为复杂的概念和学习曲线,需要一定的时间来掌握。


性能相对较低:由于Angular提供了许多功能和抽象层,可能在性能方面相对React和Vue.js略有劣势。


说一说我的架构需求,我的目标是开发小程序,而后端主要是给管理员或者运营人员提供一个维护数据的地方。人员不会太多,因此肯定是选择学习周期比较短的方案,按照描述我们可以先按vue来进行尝试。

3 后端框架的选择

有哪些流行的后端框架,该怎么选择

目前比较流行的后端框架包括Node.js(Express.js、Koa.js)、Django、Ruby on Rails、Spring Boot等。选择后端框架时,可以考虑以下几个方面:


编程语言:选择一个你熟悉或有兴趣学习的编程语言,因为后端框架通常是基于特定的编程语言开发的。例如,Node.js使用JavaScript,Django使用Python,Ruby on Rails使用Ruby,Spring Boot使用Java。


社区支持和生态系统:一个活跃的社区和丰富的生态系统可以提供更多的资源、插件和工具,有助于开发效率和问题解决。可以通过查看文档、GitHub上的Star数量、社区活动等来评估框架的社区支持情况。


功能和特性:不同的框架提供不同的功能和特性,例如路由管理、数据库集成、身份验证、缓存等。根据项目需求,选择一个提供所需功能的框架。


性能和扩展性:考虑框架的性能和扩展性,特别是对于高并发和大规模应用。一些框架可能更适合构建小型应用,而另一些框架则更适合处理大型、复杂的应用程序。


学习曲线和开发体验:选择一个易于上手的框架,可以减少学习成本并提高开发效率。可以通过查阅文档、教程和示例代码来评估框架的学习曲线和开发体验。


因为我们前端框架使用了vue,而vue使用的编程语言是javascript,为了技术上的统一,就统一采用javascript 进行架构,因此后端框架选择express

4 数据库的选择

我现在想为小程序提供一套管理后台,应该选择什么数据库

对于小程序的管理后台,选择合适的数据库主要考虑以下几个方面:


数据模型:根据你的数据结构和业务需求,选择适合的数据库模型。如果数据之间存在复杂的关联关系,关系型数据库(如MySQL、PostgreSQL)可能更合适。如果数据是非结构化或者需要灵活的模式变更,文档型数据库(如MongoDB)可能更适合。


数据量和性能:考虑你的小程序的预期用户量、数据量和访问频率。如果预计有大量用户和数据操作,需要选择一个能够处理高并发和大规模数据的数据库。


数据安全性:数据安全是一个重要的考虑因素。选择一个提供良好安全性控制机制的数据库,包括用户身份验证、权限管理等。


开发工具和文档支持:选择一个有成熟开发工具和广泛文档支持的数据库,这样可以提高开发效率和便捷性。


根据以上考虑,以下是几种常见的数据库选择:


MySQL:关系型数据库,具有良好的性能和可靠性,适合处理结构化数据。


PostgreSQL:关系型数据库,提供更高级的功能和复杂查询,适合对数据进行复杂操作和分析。


MongoDB:文档型数据库,适合存储非结构化或半结构化数据,具有灵活的模式和可扩展性。


Firebase:Google提供的云数据库服务,适用于快速开发和扩展,支持实时同步和身份验证。


这里我是使用过两类数据库,MySQL和MongoDB。MySQL呢语法比较自然,尤其是做表连接的时候比较自然。但是就是字段需要提前建好,不能随意更改。


MongoDB呢,字段可以任意发挥,缺点是表关联语法比较复杂,而且有个问题是如果你表单提交的时候是非必录的,那么入库后就存在某些字段不存在的问题,尤其在统计查询比较费劲。


因为我们是小的方案因此选择mysql上手。

最终选型

经过和chatgpt的一系列交流,我们最终选择前端框架使用vue、后端使用express,数据库选择Mysql。

选定好方向,后续我们就可以继续和chatgpt来深入了解每一个框架该如何搭建

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
29天前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
30 3
|
2月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
122 2
|
27天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
100 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
53 6
|
1月前
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
2月前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
51 2
|
2月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
60 2
|
3月前
|
负载均衡 数据库 开发工具
|
3月前
|
Java 数据库 Maven
谷粒商城笔记+踩坑(1)——架构、项目环境搭建、代码生成器
项目介绍、项目环境搭建、docker配置mysql,redis,jdk,maven、人人开源、快速开发、安装nodejs、逆向工程搭建,人人开源代码生成器
谷粒商城笔记+踩坑(1)——架构、项目环境搭建、代码生成器
|
2月前
|
缓存 前端开发 JavaScript
前端架构思考:代码复用带来的隐形耦合,可能让大模型造轮子是更好的选择-从 CDN 依赖包被删导致个站打不开到数年前因11 行代码导致上千项目崩溃谈谈npm黑洞 - 统计下你的项目有多少个依赖吧!
最近,我的个人网站因免费CDN上的Vue.js包路径变更导致无法访问,引发了我对前端依赖管理的深刻反思。文章探讨了NPM依赖陷阱、开源库所有权与维护压力、NPM生态问题,并提出减少不必要的依赖、重视模块设计等建议,以提升前端项目的稳定性和可控性。通过“left_pad”事件及个人经历,强调了依赖管理的重要性和让大模型代替人造轮子的潜在收益
下一篇
DataWorks