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

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

相关文章

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)