引言
无数人在大学刚开始学编程课的第一天起,可能就开始幻想:能不能不写代码?拖拖拽拽程序就出来了。很多程序员或多或少可能都思考过这个问题,但时至今日,真正可用的工具非常少(某个领域内的DSL也许有),但是作为通用语言的“无代码”解决方案至今还没有出现。如果不算Scratch儿童编程(能够实现的功能太简单),iVX是我找到的非常nice的一个。
为什么只有一个“无代码”语言(也可以叫:通用解决方案或开发体系),我觉得主要原因还是,“确实非常难”,从综合技术角度来讲,要做出来,至少需要三个方面的突破:
1. 理论突破
理论代表构思“无代码”语言的可行性,现代编程体系中代码是如何产生的?哪些可以封装到对象里面?无法封装的业务逻辑如何表达?作为语言的颗粒度如何定义(能够做到精确表达对应代码)?如何实现语言迭代(如何构造抽象语言层)?如何调试如何编译?目标操作系统是哪些?编写代码是哪种?能够做多大规模的应用出来?理论的限制在什么方面?
所有这些问题,都要一个一个想明白。而且这一解决方案并不是靠我们一个团队就能单独完成,这里意思是说要配合相关基础技术的整体进步才能够实现;例如,CPU每年都比以前性能提升50%左右;操作系统和浏览器技术的快速进步;4G甚至5G为手机系统提供更快的网络访问。这些都为“无代码”语言理论可行性提供了有力支撑。要知道,如果在十几年前,IE6/7/8的年代,无论如何也是不可能做出来的。
2. 技术突破
我觉得要做出来“无代码”语言,技术上首先一定要继承现有的一些“技术成果”,当然主要是软件技术/软件工程领域的。 例如,这套语言应该是面向对象为基础的,还可以面向别的,但是基础一定是面向对象;应该结合云计算技术去实施,云计算已经提供了优秀的后端基础设施的解决方案,这部分直接用就好了(例如serverless CDN redis Docker 对象存储 弹性计算等等);当然,前后台分离,数据驱动,组件化这些最好都有。
另外,技术上肯定也是需要突破的,这套思路以前没有人实施过,可以想象肯定有很多技术上的坑要去踩!尤其是在编译上,数据绑定处理上,逻辑控制,代码生成等方面。(内部人士透露哦)。
3. 工具突破
做出来的无疑是一套IDE,是一套完整的工具。如果让这个工具尽可能简单?如何符合开发者的习惯?能够快速打开和加载大规模的应用?工具如何布局可以使窗口尽可能的少?如何能最大限度减少操作次数?如何构造表达逻辑的面板(而且是图灵完备的)?
好啦,说了那么多,迫不及待地,让我们一起看看这个工具长什么样的吧……
iVX工具的简介
1、iVX工具是什么
文档中心:https://www.ivx.cn/docview
Demo:https://demo.ivx.cn/
iVX属于首款零代码开发语言,它去掉了程序语法,但保留程序逻辑。它拥有着简单的界面和开发环境(纯web):
1.1、舞台编辑界面
前端和后台,都可以开发(看右侧,而且是前后台分离的);前端所见即所得,组件不够可以自己写。
1.2、逻辑编辑界面
触发式的逻辑编写,每个对象后面都可以添加逻辑。支持“循环” “分支” “回调” “延迟”调用等。如果想看,已经开发的项目,可以简单查看 www.ivx.cn/videocenter (有一些解决方案在上面)。如果是程序员(无论前端后台还是iOS或其它)学习这套全新的开发方式,非常迅速,几天就可以上手,因为开发逻辑和方式几乎一摸一样。
1.3、iVX工具的组件体系