大佬们,类似于菜鸟教程这样的在线代码运行平台是怎么开发的,万分感谢
就是用户把代码提交上传到网站服务器上, 在服务器上进行代码的编译运行,将运行输出的结果,传回到浏览器中显示
当然为了安全服务器中应该用类似虚拟机来运行代码.
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
常见的在线代码编辑器一般是弄一个隐藏的editarea来支持键盘输入,将编辑的内容存储在js对象中,然后再动态的创建html对象来展示着色的代码。采集到用户输入的代码片段后,上传到服务器编译渲染,再回传给前端回显
代码编辑器的一些功能实现
1.光标
代码编辑器需要自己实现光标的闪烁效果,这个很简单,就是间隔一段时间显示/隐藏div就行啦。
setInterval(function() {
tCursor.toggle();
}, 530);
当然光标的位置需要自己计算。
2.滚动条
滚动条实现的难易要看你想要怎样的功能,如果你不需要行号,或者不需要固定行号,则用html对象自带的滚动条就行了。
如果你和我一样想实现固定位置的行号,这就麻烦一些,需要自己实现滚动条的效果,并自己用代码来同步滚动条的状态和页面的scroll状态。
3.着色
个人感觉着色不是那么复杂,主要就是把一些需要着色的东东找出来就行了。
4.拷贝,剪切等
实现这个比较复杂的一点是ie不支持直接访问剪贴板,这样就只能曲线救国了,先把要拷贝,剪切的内容放到editarea里面,再弄到剪贴板里去。
5.打开本地文件
其实我本来想实现一种比较酷炫的功能,本地文件直接拖动到编辑器打开,然后快捷键ctrl-s保存文件。不过到实现的时候却发现拖动打开可以,但是保存文件不行,因为我找了一圈都没找到怎么获取被拖动打开文件的文件地址,就算用插件也貌似得不到。顶多得到文件名,具体地址得不到!
于是我只能做成那种通过插件浏览我的电脑来一步步打开文件,并进行保存的方式了。
https://www.cnblogs.com/studynote/p/4174488.html?
如有帮助,麻烦点个【采纳此答案】 谢谢啦~
结合个人低代码平台开发经验,这里推荐天鸿智能全栈低代码平台。
前段时间的世界智能大会上也可以看到这款优秀产品的身影。5月18日至21日,2023第七届世界智能大会在天津举办。会上,远光软件重磅发布了天鸿智能全栈低代码平台(升级版),并凭借其强大的技术能力和丰富的应用场景成功入选“第七届世界智能大会前沿科技成果”。
低代码平台是一种强大的工具,它为开发人员提供了一种快速构建应用程序的方法,而无需编写大量的代码。在这个领域,远光天鸿低代码平台是一个备受推崇的解决方案。以下是远光天鸿低代码平台的几个显著优势:
提高开发效率:低代码平台使开发人员能够使用图形化界面和拖放式组件来创建应用程序,大大减少了开发过程中的编码工作量。通过简化和自动化常见任务,开发人员能够更快速地构建应用程序,从而提高开发效率并缩短上线时间。
降低技术门槛:传统的应用程序开发通常需要深厚的编程知识和技能。然而,低代码平台提供了一种更加友好和可视化的开发环境,使不具备专业编程背景的人员也能够参与应用程序的开发。这使得业务人员、设计师和其他非技术人员能够更轻松地参与应用程序的构建,降低了技术门槛,提高了团队的协作效率。
促进创新和快速迭代:低代码平台允许开发人员快速创建原型和演示版本,以验证概念和想法。通过迅速构建和测试应用程序,开发团队能够更好地理解用户需求并进行快速迭代,从而推动创新。这种敏捷开发的方法有助于加快产品上市速度,使企业能够更快地适应市场需求。
强大的集成能力:远光天鸿低代码平台提供了丰富的集成功能,可以轻松地与各种现有系统和服务进行集成,包括数据库、API、第三方应用程序等。这种高度灵活的集成能力使开发人员能够快速构建与其他系统互联的应用程序,并实现数据的共享和流动,提高了系统的整体效能。
可扩展性和可维护性:远光天鸿低代码平台提供了一种基于组件和模块的开发模式,使应用程序的扩展和维护变得更加容易。开发人员可以通过添加或替换组件来扩展应用程序的功能,而无需重写大量的代码。此外,平台还提供了自动化的错误检测和调试功能,帮助开发人员快速发现和修复问题,提高了应用程序的可维护性。
提供全面的开发支持:远光天鸿低代码平台提供了丰富的开发支持和资源,包括开发文档、示例代码、培训资料等。这些资源可以帮助开发人员快速上手平台,并深入了解其功能和特性。此外,平台还提供了强大的社区支持,开发人员可以与其他开发者交流经验、分享问题和解决方案,加速开发过程。
适用于多种应用场景:远光天鸿低代码平台的灵活性使其适用于各种应用场景。无论是构建内部企业应用程序、移动应用程序还是面向客户的Web应用程序,平台都提供了丰富的组件和工具,以满足不同应用需求。开发人员可以根据具体场景的要求进行定制和配置,快速交付高质量的应用程序。
综上所述,远光天鸿低代码平台具有提高开发效率、降低技术门槛、促进创新和快速迭代、强大的集成能力、可扩展性和可维护性以及全面的开发支持等显著优势。这使得开发人员能够更快速地构建应用程序,提高团队的协作效率,并满足不同应用场景的需求。对于企业和开发团队来说,低代码平台是一种强大的工具,可以加速应用开发过程,推动业务创新和增长。