校友会多端项目开发笔记一:项目背景与方案选型

2024-02-22 16:40

本文主要是介绍校友会多端项目开发笔记一:项目背景与方案选型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 项目背景

我们的团队人员是河南大学大二学生,将于2022年参加大学生创新创业大赛,鉴于河南大学并没有校友会平台,由于河南大学长时间有6万在校生,并且在郑州校区投入使用之后,会有几万新增学生容量,河南大学校友在全国活跃的数量保守估计有50万人,急切需要一个校友交流的平台。

而目前成熟的解决方案只有 CC校友平台:

其价格偏高且对于大部分学校需要定制,所以希望开发一个多端多平台的校友会模板

让各大高校便于定制或利于此运营商扩展功能,故打算开发

二 前端技术方案选型

原生微信小程序:对性能苛刻 or 追求稳定 or 要用最新功能的人适合

  • ❌我们想多端运行,可打包app
  • ❌文件有一点不简洁了

KBone:kbone 是一个致力于微信小程序和 Web 端同构的解决方案,微信小程序的底层模型和 Web 端不同,我们想直接把 Web 端的代码挪到小程序环境内执行是不可能的。kbone 的诞生就是为了解决这个问题,它实现了一个适配器,在适配层里模拟出了浏览器环境,让 Web 端的代码可以不做什么改动便可运行在小程序里。

  • ❌我们没有Web代码,也没有想法

MPVue:是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。

WePY:腾讯团队开源的一款类vue语法规范的小程序框架,借鉴了Vue的语法风格和功能特性

Uni-app:使用 Vue.js 开发小程序、H5、App的统一前端框架。开发者使用 Vue 语法编写代码,uni-app 框架将其编译到 小程序(微信/支付宝/百度/字节跳动/QQ/钉钉)、App(iOS/Android)、H5等多个平台,保证其正确运行并达到优秀体验。

  • ❌我们学React的人多,并且react在大厂应用广泛,利于工作

有人想原生App开发/Javaweb 

  • ❌不符合我们的学习路线;
  • ❌重新学习成本高;
  • ❌无法转化小程序,登陆无法调用微信,不利于校友使用
  • ❌校友会App难以推广,商业上被判死刑

Taro: 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。

现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

(✅这是个综合各种情况的最优方案,“react+小程序+可转换app”三个优点

ps:现在做React的只有taro,anujs;RN好像不太行,且似乎停止维护了

三 前端UI技术方案选型

可能是taro-ui 或 CSS类ui 或 其他ui 

四 后端框架技术方案选型

 ThinkPHP(PHP):国人最引以为自豪的PHP框架,大概从200X年就开始流行,繁衍了N个版本,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。

Laravel(PHP): 号称宇宙中最简洁、最优雅的PHP Web开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

.NET Core WebAPI:微软为了通吃Linux/Win平台的得意之作,长期以来C#+SQLServer组合只活跃于企业级应用,或者古董应用中,无法飞入寻常百姓家(程序员家),为此推出了了.NET Core, 目标是跨平台

Java SpringBoot:设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置

小程序云开发:云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。

待定

五 数据库方案选型

MySQL:移动互联网创业大军的首选,免费,高效,适中

PostgreSQL:是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。

Oracle Database,是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。

小程序Json数据库:与小程序云开发紧密结合,而且基础版免费

待定

六 综合结论

Taro+xxUI+后端待定+Json数据库

不管选用那种框架,对微信小程序的基础知识,基础概念还是要花时间去学习

参考资料

Taro主页:https://taro.jd.com/
Taro文档:https://taro-docs.jd.com/taro/docs/
Taro-ui:https://taro-ui.jd.com/#/docs/introduction
React首页:https://react.docschina.org/
b站Taro视频:https://search.bilibili.com/all?keyword=taro%E5%B0%8F%E7%A8%8B%E5%BA%8F&from_source=webtop_search&spm_id_from=333.1007
b站React视频:https://search.bilibili.com/all?keyword=react%E9%A1%B9%E7%9B%AE&from_source=web_search

这篇关于校友会多端项目开发笔记一:项目背景与方案选型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735860

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca