Javascript 反射式Web应用程序(WebIDE) 序言

Javascript 反射式Web应用程序(WebIDE) 序言,javascript,reflection,Javascript,Reflection,所以,这个问题已经得到了回答,但因为这是我在这个项目中的第一个问题,我将继续在我为这个项目提出的其他问题中引用它 对于任何来自另一个问题的人来说,这里有一个基本的想法:创建一个web应用程序,它可以使创建其他web应用程序或网站变得更加容易。要做到这一点,您基本上需要创建一个带有“小部件”的模块化站点,然后将它们组合到最终的显示页面中。如果使用Prototype或.Prototype.fn,则每个小部件可能都有自己的一组函数组合在一个类中 目前 我正在做一些基础工作:编辑CSS,创建用户Java

所以,这个问题已经得到了回答,但因为这是我在这个项目中的第一个问题,我将继续在我为这个项目提出的其他问题中引用它

对于任何来自另一个问题的人来说,这里有一个基本的想法:创建一个web应用程序,它可以使创建其他web应用程序或网站变得更加容易。要做到这一点,您基本上需要创建一个带有“小部件”的模块化站点,然后将它们组合到最终的显示页面中。如果使用Prototype或.Prototype.fn,则每个小部件可能都有自己的一组函数组合在一个类中

目前 我正在做一些基础工作:编辑CSS,创建用户JavaScript函数,动态查找它们的名称/输入,以及项目的其他关键技术方面。很快,我将创建一个我希望创建的功能的大致时间表。在我这么做之后不久,我打算创建一个博客,让每个人都知道项目的状态


原始问题 大家好,我目前正试图正式确定我对个人项目的想法(以后可能会变成专业项目)。这个概念是一个反射式web应用程序。换句话说,可以构建其他web应用程序并积极用于构建和改进自身的web应用程序。可以将其视为创建webapp的webappide

因此,在我开始进一步解释之前,我要问大家的问题是:你们认为在这一过程中最困难的挑战是什么?从哪里开始最好?

现在让我在这里简单地解释一下这个概念的一些方面。我希望这个应用程序是尽可能接近所见即所得,因为你有一个显示区域,显示所有或部分的网站,因为它会出现。您应该可以自由地浏览它,找到您想要处理的区域,并使用JavaScript调试器/控制台询问“如果…?,会发生什么”问题

我打算通过组件构建webapps。换句话说,结果将是一个非常模块化的webapp,这样你就可以轻松地进行小规模或大规模的调整(一般来说,这应该比在
中手工编码更好)

完成网站/webapp后,此webapp应该能够生成安装和运行创建的网站/webapp所需的所有代码(因此,CSS、JavaScript、PHP和数据库的PHP安装程序)

以下是迄今为止我提出的几个主要挑战:

  • 动态更改CSS
  • 在JavaScript中实现反射
  • 准确而简洁的DOM树查看器
  • 允许用户选择JavaScript库(例如,等等)
欢迎提出任何其他意见和建议

编辑1:我非常喜欢AppJet的想法,我会在周末有时间的时候详细查看它。然而,我唯一担心的是,这应该会创建可以进入其他Web服务器的代码,因此,尽管AppJet可能是我更快开发此应用的一个好方法,但我仍然认为我必须生成PHP代码,以便我的用户将其放在服务器上

此外,当我觉得这是准备好了测试,我一定会释放它免费为每个人在这个网站上。但我想,在测试版之外,我应该遵循一个类似于git的方案:开源应用程序免费,私有/专有应用程序收费。

为什么要使用PHP

在客户端和服务器端使用100%的Javascript进行类似的操作


这使得程序员更容易使用您的服务,也更容易部署。事实上,甚至他们的数据存储技术也使用Javascript(简单的本机对象),这是一个非常强大的想法。

从概念上讲,您将构建小部件、小部件工厂和工厂制造工厂。

因此,您必须找到制作小部件、小部件之间、工厂内以及多个小部件制作工厂之间可能存在的所有不同类型的交互,才能获得想法

有些东西要保持在上面,有多远就太远而无法抽象

**我认为您需要能够为应用程序空间本身完全抽象出几个层。然后,您必须为所有这些构建一些管理工具。**

-演示文稿、工作流程和数据层。

演示:您要么收到反馈,要么输入信息。通常是单击或输入内容的结果。一个简单的例子是在数据库中生成动态web表单。您需要在数据库中存储哪些关于它的来源/去向的信息?这可能构成表示层。这可能是最好的开始练习,以了解你可能需要做什么

工作流:构建一个简单的工作流引擎是明智的。我构建了一个基于Windows工作流的引擎,我在2天内就建立并运行了它。它可以设置应该运行的初始事件,等等。从设计器的角度来看,我可以想象一个visio类型的程序来链接这些事件。工作流中的事件将驱动表示层

数据:您必须存储与应用程序中的数据一样多的应用程序数据。因此,表单、事件和数据结构可以通过存储xml文档来完成,具体取决于您是否需要处理表单中的任何数据。应用程序的数据也可以存储在您填写的空xml模板中,或者存储在实际的表中。在这一点上,您必须创建一个表创建例程,该例程将根据规范为应用程序维护一个表

希望有帮助。分享你最终的想法