iVX本身使用的技术栈?

iVX整体技术

原子组件:(专利技术)抽象出超过200+前端和后台原子组件,每个组件都具备“不可拆分”特性,并表达独立具有特征的属性;同时每个组件都具备“属性”“触发条件”“功能(函数)”。
逻辑编辑框架:(专利技术)通过事件面板,以及内部的“条件”“循环”“回调”“延时调用”,实现了完成的“触发式逻辑控制”。例如:当“按钮A”被“点击”,“视频B”开始“Play”中;“点击”是对象“按钮A”这个对象的一个“触发条件”,而“Play播放”则是对象“视频B”的一个“函数”。
快速事件面板:(保密技术)由于要在Web环境下容纳超过10万行事件的快速编辑和响应,iVX需要对事件面板做很多算法优化,冲突检测。
应用预览模拟器:(保密技术)为了用户可以快速预览,iVX开发了一套基于WASM(网页汇编语言)的快速预览框架,由于不需要编译过程,大大缩短预览时间。
AST(抽象语法树):(专利技术)将所有对象在事件面板中的逻辑表达,转换为一个新的中间语言,这就是抽象语法树。随着AST的演进和发展,将可以独立生成各种基于代码的语言,例如Java、Python、C/C++等。
编译器:(保密技术)将AST抽象语法树,编译为目标语言执行代码,例如编译为WebApp、微信小程序、Windows应用等。
多人开发Git:(专利技术)由于iVX才有的对象存储的方式,并不是基于文本的代码,并不能直接使用开源的Git产品和框架,因此,iVX自行开发了一套自由知识产权的Git,专门用于对象的冲突检测、代码合并、代码拉取的算法。

iVX前端技术栈

自定义组件:用户可以根据iVX提供的组件标准,自行编写组件或采用现成库npm包等,上传自己的组件。
React Core:前端生成代码以及前端IDE都是通过React实现的。
吸收Vue特性:相当于是用React将Vue的简洁的很多特性重新实现了一遍,将Vue的简洁+React的高效融为一体。
3D组件:three.js,3D实现基于three.js,能实现强大的3D在线编辑功能,可能控制对象旋转、运动、镜头等;能实现720云相关效果。
Pixi

### 使用方法 在 ivx 中实现单选功能,通常有以下几种方式: 1. **下拉菜单组件**:可以通过添加一个下拉菜单组件来实现单选功能。该组件位于拓展组件的交互与表单类中。添加后,在选项列表中输入选项并用英文逗号隔开(数据绑定的话可以绑定一个一维数组)。或者选中下拉菜单,打开自定义选项,再点击拓展组件添加下拉菜单选项,定义好每个下拉菜单选项的内容。最后给下拉菜单添加事件,当我们选择一个选项后下拉菜单会返回给我们一个参数就是它当前的选中值[^3]。 2. **手机单项选择器组件**:使用手机单项选择器组件也可以实现单选功能。手机单项选择器也是拓展组件的一种,位于拓展组件中选择器类。跟下拉菜单类似,可以在选项列表输入选项并用逗号隔开,或者数据绑定一个一维数组。需要注意的是本身单项选择器是不显示的,其初始状态为隐藏。这里需要给文本组件添加了一个事件,点击文本组件使选择器显示。当选择器选中一个选项时,单项选择器会返回一个参数——当前选中值,就可以将该值赋给设定好的变量[^3]。 3. **循环创建**:使用循环创建需要数组来作为数据来源,先将数据写入一维数组之中,然后进行数据绑定。这样就可以把选项都创建出来。接下来给 for 容器下的文本组件添加一个事件,当点击文本的时候将当前文本的数据赋值给设定好的一个文本变量——“选中的内容”。这样每一时刻循环创建下的选项都只有一个选项和“选中的内容”是相同的。最后通过三元表达式来区分选中选项的显示果。 ### 实现方式 #### 下拉菜单组件 ```python # 示例伪代码 def add_dropdown_menu(options): # 添加下拉菜单组件 dropdown = DropdownComponent() dropdown.set_options(options) dropdown.add_event_listener('change', lambda event: print(event.selected_value)) return dropdown ``` #### 手机单项选择器组件 ```python # 示例伪代码 def add_mobile_radio_selector(options): # 添加手机单项选择器组件 selector = MobileRadioSelector() selector.set_options(options) selector.add_event_listener('show', lambda event: print("Selector shown")) selector.add_event_listener('select', lambda event: print(event.selected_value)) return selector ``` #### 循环创建 ```python # 示例伪代码 def create_options_with_loop(data_array): # 创建循环容器 loop_container = LoopContainer() loop_container.bind_data(data_array) # 为每个选项添加点击事件 for item in loop_container.items: item.add_event_listener('click', lambda event: set_selected_content(event.item_data)) # 使用三元表达式设置选中样式 def set_selected_style(item_data, selected_content): return '#5FA2DD' if item_data == selected_content else 'transparent' return loop_container ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值