Laf Assistant:云开发从未如此爽快!
工欲善其事,必先利其器。在编写代码时,IDE 也是我们不可或缺的。它可以让我们更高效地完成代码编写,提高开发效率。因此,IDE 是我们编写代码中最亲密的伙伴之一。
虽然 Laf 云开发有简洁的 Web IDE,只要能打开浏览器就可以随处编辑云函数。

但很多人还是希望能在 IDE 中编写云函数代码。
得益于 laf-cli 的开发和 API 的开放,Laf 也对本地代码编辑器没有任何强制性的要求,也就意味着 Laf 可以直接使用 VS Code 或者任何编辑器去完成云函数的编写和调试,以及发布和更新。
laf-cli 是一个 npm 模块,可以通过命令行去完成 Laf 云开发的云函数管理、云存储管理等等。借助命令行,我编写了一个 VS Code 插件:laf assistant
Laf 直接使用 VS Code 的体验并不那么完美
VS Code 是一款免费、开源、跨平台的代码编辑器,由 Microsoft 开发和维护,插件丰富,功能强大。并且很重要的一个原因是,我自己习惯用 VS Code。也有相当多的开发者也跟我一样习惯使用 VS Code。
在 laf assistant 出来之前,我尝试用了一段时间的 Laf-cli 模块。每修改一段代码,需要调试的时候,需要输入比较复杂的命令。
比如的云函数名为 :BatchTestDB ,那么我需要在命令行输入:laf func exec BatchTestDB -l 9

切换云函数,需要手动改命令。当如果出现大量的 log,体验是这样的。

另外一个比较麻烦的问题是,在终端里面输出的内容是不能编辑、也不能折叠代码的。对于输出比较大的 JSON 数据时,查看日志也是非常痛苦的一件事。同时经过一段时间的调试,终端的内容也会越来越多,看得眼花缭乱。
到了发布云函数的时候,也是手动修改命令行才可以完成。

而 Laf 云开发的 Web IDE 在云函数的调试、发布和管理上明显会比这种方式更加的方便和简单。为了让优秀的 Web IDE 的优势完美的和本地开发相结合。我动了开发 VS Code 插件的想法。
Laf assistant 的代码编写体验

在云函数的编辑框内,点击右键,即可发布、下载或者运行云函数,结合 VS Code 自带的改键功能,比如我自己把运行云函数改键成了 ⌘+F1,每次修改完云函数,保存云函数后,按快捷键 ⌘+F1 即可运行云函数。

我把日志输出到了一个全新的文本中,可以随意的编辑和折叠,用起来更加方便了。如果需要保存也可以直接保存到一个文件中,当然也可以关闭这个编辑器丢掉这个日志内容。
代码版本管理和协同
Laf 云开发的 Web IDE 没有代码系统和版本管理。Web IDE 并不会保存所有的修改版本,只是存在了浏览器的本地缓存中,也就意味着如果不小心清理了缓存或者切换浏览器,Web IDE 编辑器内的草稿可能就消失了。同时如果开发的项目有多人协同的需求也会相当麻烦。
在我看来,Web IDE 适合简单的云函数的快速开发和上线发布,以及临时的代码修改。如果遇到复杂的代码情况,就很难跟 VS Code 的本地开发体验相提并论来了。
同时 laf assistant 还可以让前端代码和 Laf 云函数代码在一个项目中管理,实现一个项目管理前后端的全部代码。而且 Web IDE 也无法搜索代码,而如果前后端的代码都在一个项目中,就可以很方便的全局搜索前后端中的代码。
结合 Git 的使用,很方便的就可以实现代码的版本管理。
另外如果需要协同开发,laf assistant 也支持针对不同电脑的同一项目去单独配置 Laf API 地址和 Laf 应用 Appid,每个开发人员就可以在自己的 Laf 应用里面去调试开发,代码上线发布的时候,可以发布到正式应用。避免了测试数据的污染。
laf assistant 的后续升级计划
1、AI 加持
目前接口已经基本实现,通过一段文字描述即可写出直接可用或简单修改即可用的云函数代码,并且如果遇到某个 JS 不会写,某个数据库语法不会写,都可以通过一句话去完成

后续在 VS Code 中,仅需要点点鼠标或者快捷键即可通过 AI 去自动完成云函数代码。
2、增加云存储的管理
本地编译的前端代码,可以一键托管到 Laf 的云存储。
3、云函数会增加更多的调试模式
自定义调试的参数。后续还会加上实时日志监听,方便在前端调试时,去查看日志。
4、独立管理面板
点击侧边栏 Laf 的图标,Laf 云开发相关的内容都会集中显示在这里。
5、更多细节优化
所有的开发者也可以给我提优化意见,让 laf-assistant 更加好用,让云开发更加爽快!
Laf Assistant:云开发从未如此爽快!的更多相关文章
- 云开发中的战斗机 Laf,让你像写博客一样写代码
各位云原生搬砖师 and PPT 架构师,你们有没有想过像写文章一样方便地写代码呢? 怎样才能像写文章一样写代码? 理想的需求应该是可以在线编写.调试函数,不用重启服务,随时随地在 Web 上查看函数 ...
- 用小程序·云开发两天搭建mini论坛丨实战
笔者最近涉猎了小程序相关的知识,于是利用周末时间开发了一款类似于同事的小程序,深度体验了小程序云开发模式提供的云函数.数据库.存储三大能力.关于云开发,可参考文档:小程序·云开发. 个人感觉云开发带来 ...
- Web开发者的10个最好的云开发环境
1. Cloud9 IDE cloud9 Cloud9是我最喜欢的一个最好的云开发环境,它可以让我在任何时间任何地点进行代码编写.运行和调试.Cloud9对Node.js 和 JavaScript代码 ...
- Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)
Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是c ...
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- 聚焦“云开发圆桌论坛”,大前端Serverless大佬们释放了这些讯号!
4月14日,由云加社区举办的TVP&腾讯云技术交流日云开发专场,暨"腾讯云-云开发圆桌论坛"在北京.深圳两地同步举行. 当天下午,一场主题为"基于大前端和node ...
- 【微信小程序云开发】从陌生到熟悉
前言 微信小程序在9月10号正式上线了云开发的功能,弱化后端和运维概念,以前开发一个小程序需要申请一个小程序,准备一个https的域名,开发需要一个前端一个服务端,有了云开发只有申请一个小程序,一个前 ...
- 小程序云开发--云函数上传文件或图片 base64
云函数开发遇到的问题 在微信云开发环境当中,普通的用户并没有往云存储内写入文件的权限 所以普通用户想要使用wx.cloud.uploadFile显然是不现实的 但是我们同时也知道,云函数是后台服务端, ...
- 微信小程序云开发更换云开发环境
小程序云开发环境初始化默认是第一个环境,但是我们可以指定环境id //app.js App({ onLaunch: function () { if (!wx.cloud) { console.err ...
- 基于wepy和云开发的动漫资讯小程序----233次元
233次元小程序 # 233次元小程序 项目描述- 基于微信小程序的动漫咨询小程序,采用`wepy`框架开发:- 后台数据采用小程序的云开发存储: 线上体验 部分截图 ...
随机推荐
- tuxedo How To Disable Server Side Trace Which IS Enabled BY Client?
影响版本: Oracle Tuxedo - Version 8.1 to 11.1.1.2.0Information in this document applies to any platform. ...
- 关于Spring注解的基础详解(补充上次并不清楚的内容)
注解,需要在.xml文件里面加这么一句话:<context:component-scan base-package=""/>(组件) Component注解 主要用于接 ...
- Java并发小结01
Java并发小结01 主要参考自<实战Java高并发程序设计>. 需要知道的概念 - 同步与异步 - 并发与并行 - 临界区 - 阻塞与非阻塞 - 死锁.饥饿.活锁 同步与异步 同步:同步 ...
- Linux & 标准C语言学习 <DAY11>
一.指针 1.什么是指针 指针是一种特殊的数据类型,使用指针可以定义指针变量,指针变量存储的是整形数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存 ...
- 从源码彻底理解 Prometheus/VictoriaMetrics 中的 relabel_configs/metric_relabel_configs 配置
背景 最近接手维护了公司的指标监控系统,之后踩到坑就没站起来过.. 本次问题的起因是我们配置了一些指标的删除策略没有生效: - action: drop_metrics regex: "^e ...
- java网络编程--3 TCP
java网络编程--3 TCP 1.6.TCP 客户端 连接服务器 Socket 发送消息 package com.ssl.lesson02; import java.io.IOException; ...
- MyBatis 源码
一.准备工作 MyBatis 工作流程:应用程序首先加载 mybatis-config.xml 配置文件,并根据配置文件的内容创建 SqlSessionFactory 对象:然后,通过 SqlSess ...
- .NET周报 【4月第1期 2023-04-02】
国内文章 探索 SK 示例 -- GitHub 存储库中的机器人 https://www.cnblogs.com/shanyou/p/17280627.html 微软 3月22日 一篇文章" ...
- PDF打开后显示的名称不是其文件名怎么办?
本文介绍打开PDF文件时,PDF阅读器所显示的文件名称与文件实际名称不一致的解决办法. 就在刚刚准备一篇空间三维建模相关的博客时,偶然发现了如下一个问题: 在打开这个图中名称为空间三维建模 ...
- php7的一些新特性
php7的一些特性 打破一切 PHP7要打破一切. PHP开发人员应该接受打破版本之间向下兼容的定律.只要不允许大量的向后兼容,PHP7将是一个高度尊重的语言. 1.创建一个具体的核心语言 删除所有库 ...