少代码替代低代码(少代码替代低代码怎么弄)

少代码替代低代码(少代码替代低代码怎么弄)

目标是用尽可能少的代码实现尽可能多的价值。让我们来看看实现用更少代码做更多事的技术、工具和框架。

译自Less Code Alternatives to Low Code。

在我们系列文章的第一部分,我们分析了“低代码”和“少代码”在思想上的区别。我们明确了虽然低代码解决方案让更多人可参与软件开发,但它存在局限性,特别是在开发复杂系统时。

增加的每一行代码都会提高系统的复杂度和维护负担。因此,目标是让团队用尽可能少的代码实现尽可能多的价值。在本文中,我们将探讨实现用更少代码做更多事的技术、工具和框架。

改变思维方式

拥抱“最小化编程”理念非常重要。这种理念本质上倾向追求代码的清晰性,激励你识别代码中不可或缺的元素,然后抛弃其他部分。是否存在更简洁的解决方案?工具能否用更少的代码实现相同的结果?我正在构建独特且具有价值的东西,还是在重复解决已被解决的问题?

每一行代码都必须从它所提供的潜在价值和代表的未来负担进行审视。通过避免或删除不必要的代码,利用他人的工作来减少这种负担。

调整过程

这种对“少码”的倾向不仅仅局限于个别开发者,而应该渗透到整个软件开发生命周期。代码评审不应仅视为批评环节,而应作为精简、明晰和简化代码的团队协作工作。同样,重构应被视为利用新知识改进旧代码的常规练习。一个更简洁、流畅的代码库就像一个组织良好的工作空间: 它能提高工作效率。自动化测试与此相辅相成,起着安全网的作用。它允许你修剪代码库并替换组件,同时确保新版本的表现如预期。

从低代码向少代码迈进的框架和工具

现代框架通过减少执行常见任务所需编写的代码量,极大地提高了开发效率。框架的底层代码由社区进行了测试和维护,减轻了周边维护负担。代码生成器不仅避免了重复性的击键,还确保生成的代码本身具有一致性和高效性。此外,我们开始看到AI和自动化技术为开发者提供新的支持,使其工作更具生产力。

在本节中,我们首先查看一些辅助前端开发的工具。之后,我们再深入研究几个真正体现“少代码”方法优势的工具。

前端开发中低代码的替代工具

前端开发有许多选择,虽然几种工具广为人知,但这个领域发展迅速,新的工具层出不穷。这种工具的不断变化可能会让人觉得这块领域善变,好像团队只是追随潮流,但实际情况通常不是这样。这些新进入者往往解决新的问题,以新方式解决现有问题,或针对特定利基进行优化。它们借鉴现有工具的经验教训而构建,通常将它们作为增强或互操作性的基础以帮助采用。

例如,Next.js 在 React 的基础上增加了意见和功能,这些功能帮助创建 Web 应用程序。它可以帮助解决混合静态和服务器端渲染内容、基于页面的路由、数据获取、中间件等常见挑战。

Next.js 利用文件系统提供自动路由,消除了单独的路由配置的需要。这大大简化了代码,使其更易于理解和维护。

app/├─ page.js└─ about/ └─ page.js

在这个结构中,app/page.js和app/about/page.js文件自动成为应用程序中的页面路由(/和/about)。

Next.js 还通过允许开发人员为 API 创建自定义路由处理程序来方便后端开发;这些文件约定命名为[route].js。

// app/api/route.jsexport async function GET() { const res = await fetch('<https://mydata.example.com/latest>', { headers: { 'Content-Type': 'application/json' }, }); const data = await res.json(); return Response.json(data);}

相比之下,Astro更注重内容,具有确保博客、作品集、电子商务或营销网站等页面加载时间的功能。Astro的部分水合特性在减少发送到浏览器的代码量方面是一个突破。与传统的完全水合整个应用程序的框架不同,Astro仅向浏览器发送必要的JavaScript,从而极大地减少了加载时间。

// This component won't send any JavaScript to the client// Great for static sites or server-rendered pages <html> <body> <h1>Hello, world!</h1> </body></html> // This component sends a tiny amount of JavaScript to the client// Astro will automatically only hydrate the <Counter /> component, nothing else <html> <body> <Counter client:load /> </body></html>

虽然Astro提供了自己的组件框架,但它也与React、Svelte和Vue等多种其他框架互操作。

其他工具关注构建时间改进、托管和预览、无障碍性、自动化测试、类型安全等围绕开发网站和应用程序的许多其他任务。

探索和选择适合您情况的工具,而不是最熟悉的工具,可以在很少投入的情况下极大地影响您的应用程序。

后端开发的低代码替代工具

后端工具的变化节奏一度非常缓慢。然而,最近这个领域变得更加活跃,以至于很容易错过新工具的全貌。与前端开发一样,这些新选择通常解决新的问题,或在现有选项基础上进一步提高生产力和稳定性。

不去探索这些新选项,会导致团队从事低价值、没有差异化的工作,或认为过去的挑战至今仍未解决。

例如,Supabase在PostgreSQL基础上,结合其他一些开源工具,提供了一整套后端开发工具,用于构建和托管API、数据持久化、函数和认证等,所有这些都增强了PostgreSQL数据库。

Supabase可以以极少的代码实现用户认证:

import { createClient } from '@supabase/supabase-js' const supabase = createClient('<https://your-supabase-url>', 'your-public-api-key') async function signUp(email, password) { const { user, error } = await supabase.auth.signUp({ email: email, password: password, }) if (error) console.error(error) else console.log(user)}

另一个进步领域是基础设施即代码,也称为自我配置运行时。这些是工具、框架或平台,尽可能减少构建应用程序的重复工作,让团队只关注特定产品的代码。这类新兴选项包括Nitric、Encore、Shuttle、Ampt和Wing等,每种方法针对这个问题及其适用场景各有不同。

以下是一个使用Nitric构建的API示例,它消除了使用传统IaC工具构建部署项目的需要。相反,要部署必要的基础设施,Nitric CLI会自动创建资源规范,然后配置和设置运行应用代码所需的API网关和文档存储。

import { api, collection } from '@nitric/sdk'import { v4 as uuid } from 'uuid' const profileApi = api('public')const profiles = collection('profiles').for('writing', 'reading') profileApi.post('/profiles', async (ctx) => { const id = uuid() // Store the new profile in the profiles collection await profiles.doc(id).set({ name: ctx.req.json().name, age: ctx.req.json().age, homeTown: ctx.req.json().homeTown, }) // Set a JSON HTTP response ctx.res.json({ msg: `Profile with id $[id] created.`, })})

适应变化

在敏捷和效率至关重要的时代,“少代码”不仅是编写更少的代码,而是利用最好的工具、实践和思维方式,以更少的努力交付更多价值。随着技术格局不断发展,开发者和团队保持好奇心和适应变化至关重要。

工具和产品格局的变化并非简单追随潮流,而是关乎抽象、效率和提供构建更好系统的新方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月14日 下午1:35
下一篇 2024年5月14日 下午1:47

相关推荐

  • 培训经费管理 高校

    高校培训经费管理的重要性 随着现代教育的不断发展,高校的培训经费管理变得越来越重要。高校培训经费管理的目的是为了确保培训经费的正确使用,提高培训效果,促进高校的教学和科研发展。 首…

    联系我们 2024年12月3日
    0
  • 商品房预售资金监管迎新变局 多地已先行优化(加强商品房预售资金监管)

    证券时报记者 张达 继今年2月全国性商品房预售资金监督管理办法出台后,4月29日,中央政治局会议对房地产的表述中又提出“优化商品房预售资金监管”,这是中央首次对备受关注的预售资金监…

    联系我们 2022年5月22日
    232
  • 科技创新实践指导简要说明

    科技创新是推动社会进步的重要力量,其实践指导简要说明如下: 1. 科技创新实践需要以市场需求为导向。科技创新的目的是满足市场需求,因此必须了解市场需求并在此基础上进行创新。 2. …

    联系我们 2024年12月8日
    2
  • 内部控制看不看流程实质

    内部控制看不看流程实质 内部控制是企业管理中至关重要的一部分,其重要性不言而喻。然而,对于企业而言,是否建立了完善的内部控制流程并非关键,关键在于这些流程是否符合其业务实质。 举个…

    联系我们 2024年12月2日
    0
  • 「华夏实战训练营」华为软件质量管理(华为公司培训实践的信息)

    “质量好、服务好、运作成本低“是华为取得一定成就的三大法宝 ——任正非 引言 质量管理作为众多管理领域的一块常常被忽视,在大多数高层潜意识里这属于技术管理的一个小分枝。然而事实真是…

    联系我们 2022年5月22日
    336
  • 中船科研管理中心

    中船科研管理中心简介 中船科研管理中心( China船舶工业研究院 )成立于1988年,是中船集团公司领导下的研究机构,是船舶工业领域重要的技术创新和人才培养基地之一。中心总部位于…

    联系我们 2024年12月1日
    4
  • jira敏捷项目管理工具操作指引

    Jira敏捷项目管理工具操作指引 随着敏捷开发方法的普及,Jira敏捷项目管理工具已经成为许多敏捷开发团队的首选工具之一。通过使用Jira,团队可以更好地管理项目进度,协调团队成员…

    联系我们 2024年9月16日
    19
  • 科研项目人员承担任务怎么写

    科研项目人员承担任务怎么写 在科技不断进步的今天,科研项目人员作为科技创新的重要推动力量,承担着重要的任务。这些任务不仅仅是为了推动科学研究的进展,更是为了推动社会的进步和发展。因…

    联系我们 2024年12月8日
    0
  • 试制设备费预算后还能预算材料费加工费吗

    试制设备费预算后还能预算材料费加工费吗 在制作产品时,预算试制设备费是非常重要的。这是因为试制设备费是购买或租赁试制设备的费用,它决定了试制设备的性能和效率。如果预算包含试制设备费…

    联系我们 2024年12月10日
    0
  • 驻马店市文明教师2024年公示情况

    尊敬的各位领导、老师、家长和同学们: 大家好!我是驻马店市文明教师2024年公示情况的的一名工作人员。在这个特殊的时期,我想向大家公示一下我市文明教师的情况和成绩。 作为一名文明教…

    联系我们 2024年12月10日
    5