前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >本地云开发最高效

本地云开发最高效

作者头像
云云众生s
发布2024-03-28 15:08:32
770
发布2024-03-28 15:08:32
举报
文章被收录于专栏:云云众生s云云众生s

在现代本地环境中优化速度、灵活性和调试。

译自 The Fastest Cloud Development Happens Locally 。作者David Moore是Nitric的工程主管,是一位技术娴熟的软件架构师。他专长于创新产品开发和开源软件解决方案。David在领导重大金融科技和政府项目方面有着出色的记录,他曾领导UX框架开发,指导团队并建立最佳实践。在工作之余,David热衷于现场音乐、足球、远足,并探索澳大利亚悉尼令人叹为观止的海滩。

在我初涉云应用开发之时,努力高效编写、测试和调试代码遇到了不小困难。将代码推送到远程环境运行需要等待云端构建和部署,严重拖慢了开发效率,打乱了编码节奏。

随着时间推移,我意识到云开发者应该尽可能利用本地环境。相比远程云开发,本地构建和测试速度更快。作为Nitric的工程主管,我着迷于通过支持快速、灵活的本地编码来优化云开发工作流程。在开发我们面向云的应用程序框架过程中,我们不断追问自己:"如何让开发者在本地高效工作?"

本地开发的诸多优势

以下是本地开发对高效云开发极为重要的一些要点:

快速反馈循环

最重要的是快速验证更改,无需等待远程构建周期。我经常说:"迭代越快,开发体验越好。" 现代环境支持本地构建、测试和运行服务,缩短了反馈循环。我还清楚记得20分钟的云构建周期带来的无力感;它们导致上下文频繁切换,严重拖累生产力。亚秒级的本地执行可以保持注意力和效率。

在提供快速反馈方面表现突出的框架包括像Astro这样使用Vite实现快速模块热更新的新Web框架。无论应用大小,此速度始终如一。

节省成本

无需云账单!我常开玩笑地对财务团队说:"我们只需一些披萨就可以开发一整天,成本很低。" 我曾在一家创业公司工作,由于调试循环的云成本暴涨最终倒闭。通过本地优化,我们可以随心创新,不用担心预算,像Supabase这样的工具及其本地数据库驱动Web应用开发环境有助于控制开支。

容易调试

本地逐步调试可以更轻松定位Bug。我告诉初级工程师:"让调试器成为你的好朋友。" 不需要解析日志,我可以设置断点、检查变量并逐步跟踪执行路径来快速修复问题。早期我的首次Bug修复需要重新部署添加打印语句 - 本地调试改变了这一切。

在今天的开发环境中,Playwright端到端测试和Vitest快速本地测试等工具进一步增强了调试过程,使开发者可以高效发现并解决问题。

离线开发

您不需要始终联网才能编写代码。我在国外旅店遇到的不稳定Wi-Fi问题实在太多。本地执行支持在任何地方灵活编写代码。我告诉团队:"务必做好离线开发准备。" 我记得在长途飞行中调试连接问题而不是产品Bug。我们的本地设置意味着我现在可以在3万英尺的高空构建功能,世界上的任何地方。

利用本地资源

本地环境可以充分利用本地文件系统、CPU、内存和缓存获得速度优势。我提醒工程师:"你的本地机器功夫大,请善加利用。" 职业生涯早期,我仅限于小数据样本和受限的云资源。凭借高端笔记本强大的SSD、多核CPU和充足RAM,我们可以在本地构建复杂系统并快速迭代。

安全性

保持数据本地可以避免云暴露来提高安全性。我经常说:"本地数据保持本地。" 我见过太早复制敏感数据到共享云账户引入漏洞的情况。只要所有开发者和设备严格遵守最佳数据安全实践,本地开发可以加强整个生命周期的安全性,从原型到生产。

定制

调整工具和配置可以提升个人效率。我告诉新员工:"让本地开发环境个性化。" 刚开始,我不得不使用团队指定的IDE和混乱脚本。可配置工作流程让我可以根据个人习惯和状态调整本地设置。每位开发者的环境都不同,像VS Code这样可定制的代码编辑器成为自定义的典范,通过扩展、主题和配置开发者可以精确调整环境,以完全匹配偏好和需求。

本地与远程云开发之比较

并非所有团队都认可本地开发的优势。以下领域仍有积极讨论:

  • 云仿真: 有观点认为本地开发不适合云开发,因为无法获得足够高保真的云模拟/仿真。如果不在本地开发,可以模拟更多云服务。我认为构建简单性的优势值得在本地构建,可以快速构建然后在高保真环境做端到端测试。那种保真度会拖慢活跃开发。
  • 标准化: 有观点认为本地机多样难以控制标准。我认为合理指南、代码复审和流程审批就足够了。只要方便开发者遵循标准,适度自定义可以提高效率和满意度。
  • 隔离: 有观点认为本地开发可能导致隔离,限制沟通带来误解和延误。我认为本地开发鼓励所有权、自主性和专注,促进创新和创造性问题解决,同时通过结构化协作可以解决潜在弊端。
  • 数据集: 有观点认为本地开发无法获得某些项目所需的大数据集。我认为可以利用 ChatGPT、Faker、数据库补全和 Snaplet等工具模拟数据,无需大量真实数据也可以进行有效测试和开发。
  • 集成测试: 有观点认为涉及集成时需要在云环境构建,以确保可以正常工作。我认为确实要在云中测试,但不需要在那里构建。本地集成更快,出现问题再修复,最后再做端到端测试。云构建比较慢。只测试的话会快很多。

本地云开发的未来

尽管现在本地云开发已非常高效,我对可能进一步优化本地工作流程的未来前景感到兴奋。

例如,先进的虚拟化和容器技术将实现在本地模拟云环境的更高保真度,同时不损失速度。开发者可以在本地验证面向真实云场景。

AI助手可以自动配置量身定制的本地设置,以优化每个开发者的需求和工作方式。智能工具可以分析我们的流程并自动自定义匹配环境。

改进的快照和分支功能可以更轻松地在本地隔离功能,同时跨团队协作。开发者可以封装工作不会引起隔离。

随着硬件发展,我们可以在本地机器上模拟乃至大规模云系统,并在本地运行强大的集成测试。整个平台可以本地模拟。

目标是为开发者提供无缝的编写、测试和调试工作流,只要本地环境正常,就可以专注构建。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-162,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本地开发的诸多优势
    • 快速反馈循环
      • 节省成本
        • 容易调试
          • 离线开发
            • 利用本地资源
              • 安全性
                • 定制
                • 本地与远程云开发之比较
                • 本地云开发的未来
                相关产品与服务
                腾讯云服务器利旧
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                http://www.vxiaotou.com