前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用低代码平台开发比用IDEA还牛逼吗?

用低代码平台开发比用IDEA还牛逼吗?

作者头像
程序猿DD
发布于 2021-04-20 07:47:06
发布于 2021-04-20 07:47:06
5240
举报
文章被收录于专栏:程序猿DD程序猿DD

有没有发现,每隔几年总会有一些火热的前沿词汇出现在我们面前,比如:云原生、微服务、中台、Servless、低代码等等。那么你是否有想过,这些概念的背后是什么推动的呢?结论并不难发现,从各种概念的目标上去合并同类项,它们的本质目标都是:提高研发效率!

在提高研发效率的道路上,各种方案都有着不同的侧重点,有的着力于基础设施的完善,有的着力于系统架构的优化,有的着力于生产工具的更新。拿最近最为热门的低代码平台来说,更多的是站在生产工具这一侧重点之上。

不同于传统IDE的生产工具

说到生产工具的提升,我们往往第一反应想到的是IDE上的优化,比如:IDEA、Eclipse这些开发工具上所做的文章,而低代码平台与这些还有着本质区别。

在传统开发工具的产品迭代上,我们更多看到优化点是:更酷炫的界面、更友好的编码联想、更精准的错误提示、更方便的调试流程、更便捷的构建工具等面向传统开发者的完善方向。这方面的生产工具拥有更高的灵活性,因为我们可以根据团队偏好和管理需要去自由的构建我们的工程风格,来完成我们的开发目标。

而低代码平台的实现目标与传统开发工具产品不同,他们致力于让用户写更少的代码,以更友好的编码方式,降低数字化系统建设的人才门槛,让更多的人可以快速的上手并参与到企业信息化建设中去。那么为什么低代码平台可以降低开发人员的上手门槛,可以加速企业的数字化建设呢?

我觉得主要有以下几个方面:

可视化的编码方式

开发者对领域模型的设计、用户界面的实现、业务流程的规划等核心编码逻辑,都可以用拖拉拽的方式实现。

比如:我们以专注低代码领域多年的奥哲旗下产品云枢为例。假设我们要实现一个企业常规的请假流程,是如何实现的,来体会与传统开发之间的主要差异!

第一步:领域模型设计。传统开发模式之下,我们要做的是根据我们所用的数据库来完成表结构的创建,这里就需要我们维护好相关的创建脚本。而这里我们可以看到,我们只需要通过可视化的方式来完成领域模型的设计,同时并不需要考虑具体用的什么数据库,对于选择不同数据库之间的差异可最后依靠平台来自动完成适配。

第二步:操作界面设计。在所有的低代码平台中,几乎都提供了所见即所得的表单设计能力。其原理就是将各种常用的页面元素实现组件化,并与领域模型实现关联绑定之后,通过配置完成业务数据的输入存储与读取展现。所以,如果业务需求在已有的现成组件都可以满足的情况下,用户在实现的时候,是不需要编写代码就可以完成界面的设计与实现。

第三步:业务流程设计。对于流程化的业务需求,常规模式之下,简单的我们可以用状态模式或一些轻量级的状态机框架来编码实现,复杂或灵活一些的,我们需要引入工作流框架来实现,需要做很多复杂的前置配置并且需要较多的学习才能上手并用好。而通过低代码平台中的流程设计界面可以看到,流程开发配置过程被简化了很多。

从上面的几个产品开发核心步骤中,我们可以发现,低代码平台都在尽可能去封装各种常用编码操作,尽可能的让用户可以所见即所得的去完成各阶段的设计与开发步骤,尽可能的减少代码的编写,对于一些简单需求,甚至实现零代码完成的目标。

开发运维一体化

通过上面可视化的编码,我们是可以快速的完成一个业务需求的开发了。但开发过程对于一个需求的实现,只是前期过程,那么后续的项目打包、版本管理、产品上线又是怎么样的呢?

对于一个成熟的低代码平台来说,这些内容必须涵盖其中!这也是与传统开发模式存在较大差异的部门。但这里由于低代码平台的定位不同,可能会有几种不同的处理方案,常见的主要有两类:

第一类SaaS化的部署能力。这种低代码平台往往提供较为轻量级的实现能力,比如:在线化的Excel工具。用于实现一些简单的问卷调查数据采集与统计等功能。这类需求不需要太复杂的界面交互、流程控制或数据处理的情况。比如:奥哲旗下的另一个产品:有格

这一类产品,由于定位于轻量级低代码平台,所以他的应用范围会更偏向于一些常见的模型,所以平台也会提高一些模版,便于用户快速上手,基于行业固有模版去做二次定制来快速实现符合自己团队需要的一套应用。

而整个开发过程也相较上面提到的云枢也更为简单,比如:下面是用该工具完成的一个敏捷研发管理应用

由于这类平台所面向的应用场景较为简单,往往它们具有临时性、周期短等特点,它们并不需要部署到特定的环境,自然也没有与私有资源的对接,所以这类平台往往直接就可以在平台侧实现对用户应用的部署与使用。

第二类:提供DevOps与私有化资源的整合能力。相较于上面的轻量级低代码平台来说,这种就是比较重量级的了。在可视化的编码方式一节中,我们所举的云枢]就是这样一个兼备了运维能力整合的低代码平台。

它涵盖了从产品版本的构建构建:

到基础设施的维护:

再到产品的发布:

涵盖了一个需求从开发到上线的完整流程。所以,我们可以看到对于一个业务需求的时候,通过低代码平台的应用,整个产品研发过程,都被整合到了一个平台之中。这与我们应用传统生产工具有着非常大的差异,我们不需要再去自己设计代码库的版本管理、构建包的管理、部署资源的管理等一系列的架构管理设计。通过这类低代码平台提供的整体管理方案就能支持产品的开发、测试、上线全流程管理。

虽然强大,但也不是银弹

在看了上面介绍的第二类低代码平台,是不是感觉这东西非常强大,那么它会是开发效率提升的银弹吗?未来会像有些厂商说的:未来人人都是开发者,程序员都要失业了?

对于宣传“未来人人都是开发者”这样的观点,我是不认同的。因为我还是相信软件开发不存在银弹!虽然低代码平台看上去已经很强大,但不论是轻量级、还是重量级的低代码平台来看,也都是针对一些特殊客户群体的。并不存在一款低代码平台能够适应所有的开发团队与业务场景,所以低代码平台也不能被笼统称作为提升效率的银弹,应该说在更符合个性化需求的前提下,来帮助开发团队或者企业提升效率。

对于轻量级的低代码平台而言,因为功能相对简单,对于复杂多变、需要更多创新元素的互联网C端产品来说,就不太适合使用。我认为这一类平台更适合应用于一些业务逻辑更为稳定的场景,或一些临时性的数据采集、统计类需求,就像奥哲有格中的那些模版应用,这些经过行业长期沉淀,大部分团队都类似,最多有一些小变化的应用方向。或者一些类似问卷等临时性的需求,就特别适合使用。选择一些产品易用性好的平台,甚至都不需要开发介入,一些聪明的产品和运营都能自己通过配置实现一些简单需求。

对于重量级的低代码平台而言,因为功能更为专业,可以满足比轻量级平台更为复杂的业务需求,并能适配更多不同团队的管理模式。但这类平台使用中涉及的概念还是非常众多的。所以,只能说这类平台对于开发人员来说会更容易上手。对于没有开发思维的纯业务人员来说,还是具备一定的门槛。这类平台更适合应用于大型开发团队对大企业内部系统的开发,对于人员配置上,相较传统开发要求更低,但对于开发速度表现更快。

但目前这类平台对于一些复杂场景,尤其对于一些高并发的业务场景还有提升空间。因为在这些场景中,我们往往需要动用很多中间件、缓存、限流、熔断等技巧来保障系统的良好运行。因此,虽然我认为低代码平台是一个很好的工具,不论轻量级的还是重量级的,都能解决部分场景的开发效率问题。但如果想让业务开发人员专注于业务功能实现,并覆盖所有场景,那么在性能架构方面要做出强化。

总的来说,我建议我们在选型与应用低代码平台时,一定要充分理解自身业务场景的特点与各低代码平台优势之间的关系,必须有的放矢,才能让低代码平台发挥最大的价值!切勿拿了平台看到需求就到处推,不要因为好工具用错场景,被喷的一无是处!

最后,做个小调研:你们开始使用低代码平台了吗?你觉得低代码平台给你们带来了效率的提升吗?留言区一起交流下吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mpg123学习进阶2------mp123的使用总结
mp123  移植总结 1../configure 选项  配置环境,产生makefile。这里是在pc默认为gcc和oss架构驱动,如果是其他平台或其他架构驱动,要修改makefile或./configure 在选项中传入 2.sudo make  在src目录下产生一个mpg123镜像就是一个可以执行的镜像。 3.sudo make install 可以将mp123生成的动态库安装到相应的目录下。默认在/usr/local/lib.可以在./configure是通过--prefix来修改路径 4.跑mp123demo   ./mpg123 1.mp3 2.mp3 3.mp3    ./mpg123 http//192.168.1.108/myserver/love.mp3   注意mpg123 除了支持多列表本地播放,还支持网络播放,还支持wav等格式输出。   使用方法;   -v 打印播放时间                             -q  不打印标题,默认是打印的   -t  测试程序,没有输出                     -s  解码后的pcm输出到屏幕(默认是送到声卡驱动播放)   -w  将播放的pcm打包成wav输出,而不是播放   -k n skip多少帧播放,用于seek用              -n n  只解码多少帧   -c 测试过,没看出来什么效果                  -y 显示同步错误   -b 改变输出buf的大小(不常用)               -f  10000 改变声音系数,可以用来调节声音大小    -os,-ol,-oh  output to built-in speaker,line-out connector,headphones    -d k  每隔k帧播放一次,用于跳帧,实际当中可以用来快进快退       -C  产生热键校园: s 应用pause ,pp用于换房播放 q用于退出    详细使用说明:    usage: lt-mpg123 [option(s)] [file(s) | URL(s) | -] supported options [defaults in brackets]:    -v    increase verbosity level       -q    quiet (don't print title)    -t    testmode (no output)           -s    write to stdout    -w <filename> write Output as WAV file    -k n  skip first n frames [0]        -n n  decode only n frames [all]    -c    check range violations         -y    DISABLE resync on errors    -b n  output buffer: n Kbytes [0]    -f n  change scalefactor [32768]    -r n  set/force samplerate [auto]    -os,-ol,-oh  output to built-in speaker,line-out connector,headphones                                         -a d  set audio device    -2    downsample 1:2 (22 kHz)        -4    downsample 1:4 (11 kHz)    -d n  play every n'th frame only     -h n  play every frame n times    -0    decode channel 0 (left) only   -1    decode channel 1 (right) only    -m    mix both channels (mono)       -p p  use HTTP proxy p [$HTTP_PROXY]    -@ f  read filenames/URLs from f     -T get realtime priority    -z    shuffle play (with wildcards)  -Z    random play
用户4148957
2022/06/14
1.3K0
让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24 -bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。
杨永贞
2020/08/04
2.8K0
HarmonyOS学习路之开发篇—多媒体开发(音频开发 一)
HarmonyOS音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音频采集、音量管理和短音播放等。
爱吃土豆丝的打工人
2023/10/15
4000
【FFmpeg】ffmpeg 命令行参数 ③ ( ffmpeg 音频参数解析 | 设置音频帧数 | 设置音频码率 | 设置音频采样率 | 设置音频通道数 | 设置音频编解码器 | 设置音频过滤器 )
在 ffmpeg 命令中 , -aframes 参数用于设置 要输出的 音频帧 帧数 , 通过该参数 设置 一个 指定的 音频帧数 , 输出完 该 指定音频帧数 的 音频帧 之后 , ffmpeg 将会停止处理音频流 , 通过该参数 可以 精确控制音频输出长度 ;
韩曙亮
2024/02/29
5.2K0
【FFmpeg】ffmpeg 命令行参数 ③ ( ffmpeg 音频参数解析 | 设置音频帧数 | 设置音频码率 | 设置音频采样率 | 设置音频通道数 | 设置音频编解码器 | 设置音频过滤器 )
ffmeg_facet的意思
由于底层识别使用的是pcm,因此推荐直接上传pcm文件。如果上传其它格式,会在服务器端转码成pcm,调用接口的耗时会增加。
全栈程序员站长
2022/11/09
2K0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
打开图形界面之后,按下F6,即可查看系统默认的声卡。在我的电脑上插了一个USB摄像头,带音频输入,在下图里就能看到两个声卡。退出图形界面按下Esc按键(键盘左上角)。
DS小龙哥
2022/01/12
23.6K1
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
FFmpeg进行音频的解码和播放
上一篇FFmpeg 内容介绍 音视频解码和播放 介绍了FFmpeg进行解码的常见函数和,解码的过程。相关的函数介绍忘记了,可以参考上一篇。
包子388321
2020/07/27
6.6K2
FFmpeg常用命令行讲解及实战一
上图红框内为编译选项,编译选项支持编解码的格式、封装的格式及网络协议等等第三方包。其中比较常用的:
Gnep@97
2023/11/21
1.8K0
FFmpeg常用命令行讲解及实战一
FFmpeg推流命令总结
今天考虑一个mcu混合的实现,也就是接收多路过来的rtp流,然后转发出去一路的rtmp流,使用ffmpeg测试做的记录,刚开始一直通过ffmpeg推送的文件流不能满足要求,还是对参数配置不熟悉;
呱牛笔记
2023/05/02
6.8K0
FFmpeg推流命令总结
OSS--跨平台的音频接口简介
OSS(Open Sound System)是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供一个自己专有的API,用来处理音频。这就意味着为一种Unix平台编写的音频处理应用程序,在移植到另外一种Unix平台上时,必须要重写。不仅如此,在一种平台上具备的功能,可能在另外一个平台上无法实现。但是,OSS出现以后情况就大不一样了,只要音频处理应用程序按照OSS的API来编写,那么在移植到另外一个平台时,只需要重新编译即可。因此,OSS提供了源代码级的可移植性。
知忆
2021/06/11
1.4K0
Android多媒体之SoundPool+pcm流的音频操作
零、前言 今天比较简单,先理一下录制和播放的四位大将 再说一下SoundPool的使用和pcm转wav 讲一下C++文件如何在Android中使用,也就是传说中的JNI 最后讲一下变速播放和变调播放 ---- 一、AudioRecord和MediaRecorder,AudioTrack和MediaPlayer 0.到现在接触了四个类: 第一天:AudioRecord(录音)、AudioTrack(音频播放) 第二天:MediaPlayer(媒体播放器--音频部分) 第三天:MediaR
张风捷特烈
2019/02/25
2.9K0
Android多媒体之SoundPool+pcm流的音频操作
音视频入门之音频采集、编码、播放
今天我们学习音频的采集、编码、生成文件、转码等操作,我们生成三种格式的文件格式,pcm、wav、aac 三种格式,并且我们用 AudioStack 来播放音频,最后我们播放这个音频。
Android技术干货分享
2019/04/18
3.7K0
Android音频播放(本地/网络)绘制数据波形,根据特征有节奏的改变颜色
上一期刚刚掀完桌子没多久<a href="http://www.jianshu.com/p/2448e2903b07">《Android MP3录制,波形显示,音频权限兼容与播放》</a>,就有小伙伴问我:“一个音频的网络地址,如何根据这个获取它的波形图?”··· WTF(ノಠ益ಠ)ノ彡┻━┻,那一瞬间那是热泪盈眶啊,为什么我就没想到呢···反正肯定不是为了再水一篇文章就对了<( ̄︶ ̄)>。 </p> <a href="https://github.com/CarGuo/RecordWave">我是DEMO
GSYTech
2018/08/22
3.7K0
Android音频播放(本地/网络)绘制数据波形,根据特征有节奏的改变颜色
音视频八股文(3)--ffmpeg常见命令(2)
* 播放本地 MP4 视频文件 `test.mp4` 的命令,从第 2 秒位置开始播放,播放时长为 10 秒,并且在窗口标题中显示 "test time":
福大大架构师每日一题
2023/04/22
2.1K0
Convert m4a/mp3 to 8bit WAV using ffmpeg
By HKL, on Tuesday 2023-08-01 12:44, tagged: 🏷️ffmpeg 🏷️Music 🏷️ChatGPT
hiplon
2023/10/18
3300
libmad学习进阶3-----基于oss音频驱动架构的一个mp3播放器
以上就是通过libmad将mp3先解码成pcm,然后将pcm直接扔到/ dev/dsp音频设备中,但dsp音频设备属于oss架构,已经逐渐被alsa驱动取代,后续会介绍基于alsa驱动架构的mp3播放器
用户4148957
2022/06/14
7120
波形音频(WAVE)底层接口的学习与使用
在WINDOWS下,音频函数有多种类型,如MCI、多媒体OLE控制、高级音频等,使用方法都比较简单。 但如果想编写一个功能较强大的音频处理程序,那就必须使用低级音频函数和多媒体文件I/O来控制音频设备的输入和输出。 因为低级音频函数可直接与音频驱动程序交互,通过窗口消息或回调(CALLBACK)函数来管理音频数据块的记录和播放,控制非常灵活。重要的一点是,低级音频函数为我们提供了一个设备无关的接口。   Header: Declared in Mmsystem.h; include Wind
_gongluck
2018/03/08
5.4K0
波形音频(WAVE)底层接口的学习与使用
FFMPEG音视频开发指南(一)
FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图 片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件, 早已经被各行各业的不同公司所广泛使用。
DS小龙哥
2022/10/06
3.3K0
FFMPEG音视频开发指南(一)
【FFmpeg】SDL 音视频开发 ⑦ ( SDL 播放 PCM 音频数据 | 提取 PCM 格式数据 | 设置音频参数 | 打开音频设备 | 设置播放回调函数 | 播放音频数据 | 关闭音频设备 )
博客源码下载 : https://download.csdn.net/download/han1202012/89734548
韩曙亮
2024/09/17
9210
【FFmpeg】SDL 音视频开发 ⑦ ( SDL 播放 PCM 音频数据 | 提取 PCM 格式数据 | 设置音频参数 | 打开音频设备 | 设置播放回调函数 | 播放音频数据 | 关闭音频设备 )
使用 pocketsphinx 做中文语音识别时报错 ERROR: Input audio file has sample rate [44100], but decoder expects [...
今天在使用 pocketsphinx_continuous 识别中文 wav 文件是,报如下错误:
kongxx
2019/01/03
8560
推荐阅读
mpg123学习进阶2------mp123的使用总结
1.3K0
让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
2.8K0
HarmonyOS学习路之开发篇—多媒体开发(音频开发 一)
4000
【FFmpeg】ffmpeg 命令行参数 ③ ( ffmpeg 音频参数解析 | 设置音频帧数 | 设置音频码率 | 设置音频采样率 | 设置音频通道数 | 设置音频编解码器 | 设置音频过滤器 )
5.2K0
ffmeg_facet的意思
2K0
Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
23.6K1
FFmpeg进行音频的解码和播放
6.6K2
FFmpeg常用命令行讲解及实战一
1.8K0
FFmpeg推流命令总结
6.8K0
OSS--跨平台的音频接口简介
1.4K0
Android多媒体之SoundPool+pcm流的音频操作
2.9K0
音视频入门之音频采集、编码、播放
3.7K0
Android音频播放(本地/网络)绘制数据波形,根据特征有节奏的改变颜色
3.7K0
音视频八股文(3)--ffmpeg常见命令(2)
2.1K0
Convert m4a/mp3 to 8bit WAV using ffmpeg
3300
libmad学习进阶3-----基于oss音频驱动架构的一个mp3播放器
7120
波形音频(WAVE)底层接口的学习与使用
5.4K0
FFMPEG音视频开发指南(一)
3.3K0
【FFmpeg】SDL 音视频开发 ⑦ ( SDL 播放 PCM 音频数据 | 提取 PCM 格式数据 | 设置音频参数 | 打开音频设备 | 设置播放回调函数 | 播放音频数据 | 关闭音频设备 )
9210
使用 pocketsphinx 做中文语音识别时报错 ERROR: Input audio file has sample rate [44100], but decoder expects [...
8560
相关推荐
mpg123学习进阶2------mp123的使用总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档