当前位置: 首页 > 科技观察

什么是低代码?能威胁到专业程序员吗?

时间:2023-03-19 13:34:52 科技观察

周六晚上10点30分,张胖子在微信上给我发来震惊的表情:鑫哥,你知道吗?找到低代码平台了,我们专业程序员可能要下岗了!大家程序员的时代来了!我的心一紧:什么是低代码?有高码和低码?张大发:英文是LowCode,应该是指少代码的意思!张大发给我发了一个谷歌的链接,我看了一下科学上网的神器,里面介绍了一个叫做AppMaker的低代码平台。我好奇地看了一会,泪流满面地发给张胖子:我多年的梦想实现了,终于可以像当年的VisualBasic那样通过拖拽来开发web应用了!张胖子:好像和VisualBasic一样?我可以!您从未使用过VB。VB是快速应用程序开发(RAD)的典型例子。用VB写程序很容易。绘制一个窗体并在其上拖动多个控件,例如标签。输入框,按钮,定位,然后写事件代码(比如点击后的onClick),很方便。对了,还有很多数据控件,可以方便的和数据库中的表进行绑定,增删改查的功能不需要写代码!很容易实现分页和过滤这些基本功能。张胖子兴奋不已:太爽了!作为一名全职工程师,一直在努力写一个web程序,配置数据库,配置服务器,HTML,JavaScript,CSS,编写前端和后端,累死了。你现在为什么不用VB?我:哦,那是C/S时代的大杀器。现在是B/S时代,移动时代,用来开发桌面程序的VB已经落伍了。张胖子:鑫哥的意思是这个AppMaker有点像Web时代的VB?我:粗略看一下,有点那个味道,可以看到拖拽也能生成界面:张胖子撇撇嘴:这没什么,我用过XX窗体,这些是最基本的功能.我:不一样的,这个LowCode平台还可以创建一个数据模型,这个数据模型就像是关系数据库中的一个表,里面包含了一些字段(列),然后你可以把表单和数据模型绑定起来,添加、删除、修改、检查等功能都是自动实现的,分页、排序、过滤等功能,真像VB中的数据控件。张胖子:果然比XX式高级一点。我:不止一点点,它的数据模型很强大,还可以支持数据模型之间的关联,比如1对1,1对多等等,是不是有点像Hibernate?张胖子:那我猜数据模型数据应该存储在云端,开发者不需要知道是用MySQL、PostgreSQL还是NoSQL数据库。我:对,不用管理数据库连接,不用写SQL大胖张:你看信哥,它也可以直接把表单中的字段作为输入参数传给谷歌地图,然后定位到地图。我:是的,Google的那些API肯定是可以相互调用的。张大胖:既然是LowCode,那肯定是要写点代码的。如果前端应用需要调用后端服务怎么办?很明显,张大胖一直在拿现在的开发方式和LowCode平台做对比。我浏览了AppMaker教程,找到了相关代码,都是JavaScript。比如下面的代码就是后台提供的服务脚本。它会根据论坛ID找到论坛版主,然后给他发邮件functionnotifyForumOwnerServer(forumID,messageID){//根据论坛IDvarforum=app.models找到论坛对象。Forum.getRecord(forumID);//根据消息ID找到消息对象varmessage=app.models.Message.getRecord(messageID);//给版主发邮件MailApp.sendEmail({to:forum.Owner,subject:'Newmessageinyourforum:"'+forum.Title+'"by'+message.Author,htmlBody:message.Text});}前端调用也很简单,使用google.script.run加个服务器即可-side函数,当然也支持成功和失败回调:google.script.run.withSuccessHandler(function(result){console.log('Emailsent');}).withFailureHandler(function(error){console.log('Emailnotsent'+error.message);}).notifyForumOwnerServer(forumID,messageID);张胖子:明白了,这个AppMaker已经用图形化的方式完成了应用开发中最烦人的工作,你可以定义“数据库表”,然后轻松绑定到表单上进行显示、增删改查、上报、客户端和服务器端交互,这个应用的开发一定要快!我:对,还有一点。当您在LowCode平台上开发好应用后,您只需要点击一个“发布”按钮,它就会被部署到云端,立即可以使用。张胖子:开发、部署、监控是一体的。我:也许这就是软件发展的趋势吧。原来,软件公司为企业开发定制项目。每个项目都要搭建数据库、服务器,用Java等语言编写后端程序,用JS/HTML/CSS编写前端程序,费时费力,不能满足灵活多变的需求。企业和单位多变的业务需求。一个需求从提出到实现需要很多天。现在有了LowCode平台,很多企业的应用都可以通过拖拽的方式生成,开发起来非常快捷方便。更重要的是,即使是没有很多开发经验的人也能做到。张胖子:我废寝忘食学到的IT技能,有没有可能被谷歌颠覆?我:哈哈,肯定不行,这个LowCode平台只能做简单的应用,比如整个问卷,项目跟踪,人员招聘,差旅审批,公司论坛,公司商城……张大发:这个已经很吓人了,这不就是我成天做的吗……我赶紧转移话题:想想看,LowCode平台能搭建秒杀系统吗?张胖子:应该不会吧!我:能不能开发个淘宝、京东、天猫、微信、抖音、快手、拼多多、12306?张胖子:那肯定不行!但这是一个超级庞大的系统,而我们日常的工作就是一个小系统。我:即使是小系统,如果业务复杂的话,还是需要大量的代码去实现,好的抽象和设计。在LowCode平台上用几个简单的数据模型和表单是做不到的。我觉得整个LowCode平台赋予了企业这样的能力:1.根本不用关心底层的计算设施,不需要购买任何硬件,甚至不需要虚拟机。关于少量代码生成的应用。2、更适合开发所谓的“快应用”,即需求来了,几天就可以开发出来,快速上线,马上使用。张胖子:听你这么说我就放心了,我继续搬砖。【本文为专栏作家“刘欣”原创稿件,转载请通过作者微信获取授权coderising】点此查看该作者更多好文