【平台开发】技术整合思考(四)前后端不分离

简介: 【平台开发】技术整合思考(四)前后端不分离

一、背景


七镜近半年来非常热衷于写小程序,可能是linux操作比较多的关系(数仓运维),对于自动化研究越发得多。想一想:花点时间,写个小程序,去替代重复性的工作,用的时候,心情要多美就有多美!


linux大多都是黑窗口操作,黑窗口中执行命令,黑窗口中输出结果,对于经常使用的程序员来说,用起来非常便捷,很适合把一连串的命令组合起来去完成一个复杂的任务。


但是,七镜的技术方向是应用开发(准确的说,是廉价快速的应用开发),意味着,七镜做的软件单单方便自己用还不够,七镜还需要降低所做的应用的使用门槛,这样才能让更多的人使用。



二、谈及前后端分离


作为一个大项目来说,现在都2023年了,肯定选择前后端分离,七镜的客户端技术栈主要是react,服务端技术栈主要是Gin,那么做大型项目时,定义好前后端交互的接口规范,就可以前后端分开开发了,也能把工作任务分配给其他人。


但是作为一个小项目来说(尤其是七镜其近半年来写的小程序),功能比较单一,很多时候,我的用户需要界面的地方只是几个参数的配置,七镜写一个客户端界面,即可把小项目完完整整的跑下来。比如说:一个文字转语音的小程序,用户配置一下发音人,上传一个文本文件,程序输出一个语音文件,整个流程就跑完了。


这种场景,如果七镜为了实现一个客户端界面,去使用前后端分离的架构,引入前端的各种技术栈(webpack、typescript、scss、react),简直就是大炮打蚊子了!不但增加了项目开发的复杂性,还使得最终使用的时候,增加了部署成本(毕竟前后端分离的项目,需要一个单独的web服务,比如nginx、apache、tomcat),可能由于这众多技术栈的原因,还需要下载安装其他的依赖(比如,jdk、gcc等等)。



三、引入前后端不分离


七镜想起来在最开始的时候学习java时,接触过jsp;在学python的时候,接触过jinja2;在学习golang的时候,也了解过html/template标准库。这是都是前后端不分离的技术,虽然增加了代码的耦合度,项目复杂了之后,不利于维护,但是七镜的使用场景是小项目。一个小项目,只有一个页面,总共就1000行代码,维护起来完全没问题。


而且引入开发语言对应的模板引擎之后,比如拿七镜现在最喜欢的golang开发语言来说,我通过使用html/template标准库,就可以实现一个简单的界面,既满足了降低用户使用门槛的需求,又降低了应用部署门槛。


由于golang的跨平台特性,七镜在windows上写的应用,既可以在windows上运行,又可以同时在linux上运行,还可以在mac上运行。而且解压即用,无需安装额外的依赖。


另外golang写的程序编译之后,体积非常小,基本上30M以内的大小,想象一下,这么点大的玩意,能提供一个用户界面,不需要用户安装额外的东西,解压即用,并且完成一个用户的实际需求,简直不要太值——太值啦!



四、写在后头


这个世界不缺少创意,也不缺少想法,发明技术的是一些人,推广出去的是另一些人,七镜在刻意培养一种让空中楼阁落地的能力。


image.png



目录
相关文章
|
10月前
|
数据采集 监控 调度
干货分享“用 多线程 爬取数据”:单线程 + 协程的效率反超 3 倍,这才是 Python 异步的正确打开方式
在 Python 爬虫中,多线程因 GIL 和切换开销效率低下,而协程通过用户态调度实现高并发,大幅提升爬取效率。本文详解协程原理、实战对比多线程性能,并提供最佳实践,助你掌握异步爬虫核心技术。
|
人工智能 自然语言处理 搜索推荐
声临其境!体验阿里云开源音频基座大模型——FunAudioLLM
阿里通义实验室开源了全新的音频基座大模型FunAudioLLM,包含SenseVoice与CosyVoice两大核心模型。SenseVoice专精于多语言语音识别、情感辨识与声音事件检测,支持50余种语言,中文及粤语识别准确率提升50%以上。CosyVoice则擅长语音合成,只需3-10秒原始音频即可克隆音色,并支持跨语言合成。FunAudioLLM的应用场景广泛,包括语音到语音翻译、情感语音对话、互动播客及有声读物等。CosyVoice的在线体验显示,其生成的语音自然流畅,支持定制化及高级情绪控制,超越竞品ChatTTS。SenseVoice在情感识别及长音频处理方面表现出色。
28598 28
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
475 6
|
人工智能 JSON 数据可视化
OpenAI调用接口多轮对话Multi Turn Multi Agent 多轮多角色对话调试和可视化工具Dialogue Visualization
伴随着生成式人工智能技术发展,进2年涌现出大语言模型LLM/Agent系统/AI推理等众多方向的技术项目和论文。其中对话系统,智能体交互是用户通过UX界面和AI系统进行交互,这种交互有时候也是多模态(用户输入文字/语音/图像)等等。在调用OpenAI 的对话接口时候,有时候需要把对话结果打印出来检查是否有bug,JSON数据格式就比较难看出来了,尤其是有多角色的多轮对话。这个时候可以借助一些在线的"对话"可视化的工具 (Online Dialogue Visualization Tool) DeepNLP Dialogue Visualization Tool,方便产品经理,算法研发,学术研究
OpenAI调用接口多轮对话Multi Turn Multi Agent 多轮多角色对话调试和可视化工具Dialogue Visualization
|
缓存 监控 负载均衡
一文讲明Hystrix熔断器
这篇文章详细阐述了Hystrix熔断器的原理和应用,解释了分布式系统中服务雪崩的问题,并展示了如何在Spring Cloud框架中使用Hystrix进行熔断和降级处理。
一文讲明Hystrix熔断器
|
JSON API 开发者
shopee商品列表API接口获取步骤
虾皮(Shopee)商品列表 API 接口用于获取平台商品信息,支持按店铺 ID、类目、关键词等筛选条件查询商品数据,包括商品基本信息、图片、描述等。接口具备灵活性、数据丰富及分页机制等特点,满足电商数据分析与管理需求。示例代码展示了通过 Python 请求 API 获取某店铺商品列表的过程,包含请求头设置、参数定义及异常处理等功能,便于开发者快速上手使用。
|
人工智能 JavaScript 前端开发
JavaScript:原型、原型链、继承
JavaScript:原型、原型链、继承
542 0
|
安全 Java API
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
225 2
|
数据库连接 数据库 数据安全/隐私保护
FlaskMigrate使用指南
**Flask-Migrate** 是一个整合 Flask、SQLAlchemy 和 Alembic 的扩展,用于管理数据库迁移。安装所需库:`pip install Flask mysql-connector-python Flask-SQLAlchemy Flask-Migrate`。
935 0
|
SQL 数据可视化 JavaScript
5款热门的图形报表推荐
5款热门的图形报表推荐

热门文章

最新文章