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

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

一、背景


七镜近半年来非常热衷于写小程序,可能是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



目录
相关文章
|
29天前
|
运维 监控 负载均衡
动态服务管理平台:驱动微服务架构的高效引擎
动态服务管理平台:驱动微服务架构的高效引擎
26 0
|
3月前
|
存储 缓存 API
探索后端技术:构建高效、可扩展的系统架构
在当今数字化时代,后端技术是构建任何成功应用程序的关键。它不仅涉及数据存储和处理,还包括确保系统的高效性、可靠性和可扩展性。本文将深入探讨后端开发的核心概念,包括数据库设计、服务器端编程、API 开发以及云服务等。我们将从基础开始,逐步深入到更高级的主题,如微服务架构和容器化技术。通过实际案例分析,本文旨在为读者提供一个全面的后端开发指南,帮助大家构建出既高效又具有高度可扩展性的系统架构。
|
9天前
|
开发框架 人工智能 安全
Promptic:轻量级 LLM 应用开发框架,提供完善的底层功能,使开发者更专注于构建上层功能
Promptic 是一个轻量级的 LLM 应用开发框架,支持通过一行代码切换不同的 LLM 服务提供商。它提供了类型安全的输出、流式支持、内置对话记忆、错误处理和重试等功能,帮助开发者专注于构建功能,而不是底层的复杂性。
43 6
Promptic:轻量级 LLM 应用开发框架,提供完善的底层功能,使开发者更专注于构建上层功能
|
23天前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
29天前
|
机器学习/深度学习 运维 监控
动态服务管理平台:构建高效、灵活的微服务架构基石
动态服务管理平台:构建高效、灵活的微服务架构基石
50 0
|
7月前
|
缓存 分布式计算 负载均衡
构建高效可扩展的后端系统架构
【2月更文挑战第9天】本文将介绍如何构建一种高效可扩展的后端系统架构,以满足不断增长的用户需求和应对大规模并发请求。我们将讨论关键的技术要点,包括分布式计算、负载均衡、缓存和数据库优化等,帮助读者在设计和开发后端系统时做出明智的决策。
145 7
|
2月前
|
安全 Java 关系型数据库
探索后端技术:构建高效、安全的应用服务
在当今数字化浪潮中,后端技术作为软件架构的核心支柱,承载着处理数据逻辑、保障应用性能与安全等关键任务。本文旨在深入浅出地探讨后端开发的重要概念、主流技术栈以及未来发展趋势,为开发者提供一份指南,以助力构建既高效又安全的应用程序。
|
2月前
|
缓存 安全 测试技术
构建高效后端架构的关键技术与实践
【10月更文挑战第11天】 本文深入探讨了后端开发中的几个关键技术点,包括微服务架构、数据库优化、缓存机制、安全性保障以及自动化测试。通过这些技术的应用和最佳实践,可以帮助开发者构建出高效、稳定、安全的后端系统。
45 0
|
3月前
|
关系型数据库 Java 数据库
探索后端技术:构建高效系统的秘诀
在当今信息技术飞速发展的时代,后端开发作为软件架构中的核心部分,其重要性不言而喻。本文将深入探讨后端技术的各个方面,从基础概念到高级应用,帮助读者全面了解后端开发的世界,揭示构建高效系统的秘诀。
|
4月前
|
前端开发 JavaScript 数据库
从前端到后端:构建高效数据驱动应用的全栈策略
在构建现代应用程序时,前端与后端的高效协作至关重要。本篇文章深入探讨了如何将前端技术与后端架构相结合,以构建强大的数据驱动应用。我们将分析常见技术栈,包括React与Node.js的集成、Python与Django的应用,以及如何利用数据库优化数据处理。通过具体的示例和最佳实践,读者将能掌握如何在全栈开发中实现高效的数据交互与应用性能优化。