vlambda博客
学习文章列表

前后端分离的软件开发

    本文想从自己最近的学习探索中讲下自己对前后端分离的开发模式的理解和实践。

     我本人从事相关计算机软件相关行业到今年有二十年了。毕业后大概有五年多是在软件公司里,从事程序员工作。当时都是用的Delphi,Borland系列,后来用了些PB ,Java 。之后进入工厂企业从事产品的附带软件系统的定制开发工作,算是有点软硬结合了。用的是VB开发工具。也主要是传统的C/S 模式开发。事件驱动型的,数据库操作单独分开来类模块,用了些工厂模式factory, 应该是M/V , 基本没有C(路由控制)。 传统的桌面开发比较容易切入,也容易理解,但是可维护性和团队开发比较差。往往代码量会随着项目的扩张,越来越大。

    大概在2014年转换了软件工程师的角色,变成了系统运维,从那时候开始接触了MES系统,一直到现在。由于长期从事系统运维,开发也越来越生疏了,去年下半年有时间,就开始碰了下.net,微软系的开发工具。 做了些C/S的demo例子,之后转向web开发,用.net framework 4的Asp.net 开发了一些小的web项目,都是自己做的玩玩的。感觉.net还是希望把web开发变成之前桌面开发那种事件驱动型的开发。有一些比较大的成熟的控件(datagridview),一个aspx页面文件,一个对应的cs文件,可以做事件编程。但是每次都是用的form刷新页面,效率比较低。控件也比较大。我的数据库后台用的是postgresql, 用了sql sugar的ORM工具,比较方便操作数据,做了些分层。我个人感觉只能算是M/V, C 还是有点耦合在V的界面层。

前后端分离的软件开发

     2022年过年后,我开始看了前端,Vue.js 及上层的UI框架 Ant Design Vue ,基本前端就是H5 + Vue (UI框架)(路由加axios类似ajax方式接受接口数据)   后端是asp.net core 编写的restful (web api接口)。这样就彻底前后端分离了。 

前后端分离的软件开发

     Vue.js 我用的是 Vue3 ,官网大家都可以查到。但是本着拿来主意,我选了一款UI的框架,提供很多组件,比如table ,button, 进度条等等。页面上引用跟H5的标签一般非常方便。

    最后说下开发工具, 前端用VS Code,这款开发工具可以安装很多免费的插件扩展你环境,真不错。 后端用VS.net 2019 。当然现在是最新的2022了。