Architecture 最灵活的web开发框架体系结构?

Architecture 最灵活的web开发框架体系结构?,architecture,frameworks,Architecture,Frameworks,编辑,2020/09:如果有人想知道,12年后,是的,到现在为止,我们都转向了JSON和Kubernetes。原文如下 显然,没有一个单一的解决方案能够满足每个人的需求;架构始终是一种权衡。我想创建一个框架,最初是针对网络游戏的RAD。目标语言是PHP,尽管该体系结构应该广泛适用 这个框架的目标是:在实现结果的方式上具有灵活性;为开发者提供最大的舒适度;连接模块,如LEGO®积木;多种输入类型,多种输出类型,一种处理格式 不是优先考虑的目标是速度、企业使用和赚钱。这应该是一个开源项目 此设计的基

编辑,2020/09:如果有人想知道,12年后,是的,到现在为止,我们都转向了JSON和Kubernetes。原文如下

显然,没有一个单一的解决方案能够满足每个人的需求;架构始终是一种权衡。我想创建一个框架,最初是针对网络游戏的RAD。目标语言是PHP,尽管该体系结构应该广泛适用

这个框架的目标是:在实现结果的方式上具有灵活性;为开发者提供最大的舒适度;连接模块,如LEGO®积木;多种输入类型,多种输出类型,一种处理格式

不是优先考虑的目标是速度、企业使用和赚钱。这应该是一个开源项目

此设计的基石是,在转换之前,所有内容都以XML进行处理(idea基于我使用过的EAI系统,EGAT)。数据抽象层——希望是某种智能ORM——现在并不重要。输出将使用XSLT或任何其他定制模块生成,用于几乎任何客户机-旧浏览器的HTML、现代浏览器的XHTML/HTML5、移动客户机的简单HTML、AJAX/XMLRPC的XML等

使用XML的主要原因是:

这是一个众所周知的标准
  • 用于导航和修改内容的现有工具,如XPath、SimpleXML和DOM
  • XSLT提供了一种强大而统一的方法来将代码转换为任何标记
  • 我发现XML标记非常容易阅读,因此我不认为JSON或YAML的优势在这里有什么不同
  • 内容可以很容易地堆叠,而且只要使用XSLT正确地转换内容,内容的顺序实际上并不重要
  • 页面生成过程包括以下几个阶段:

  • 预处理:初始化模块、处理GPCS数据、应用默认[XML]模板
  • 处理/生成:业务逻辑的主要部分,用最大的数据生成臃肿的XML(尽管希望优化后不会生成balast)
  • 处理:一些额外的业务逻辑,例如减少一些标记、准备转换、报告、统计等
  • 后处理:通过转换引擎解析XML(很可能只是XSLT),输出
  • 内容将使用大量元数据(例如标记、权限、重要性、必要性、目标输出类型)生成,这些元数据将在后处理过程中剥离


    所以,我的问题是:除了速度,这个解决方案的失败是什么?在开发/维护框架及其应用程序的过程中,它会在哪里出错?这种体系结构的缺点是什么?

    我过去曾开发过一些网络游戏,老实说,它们从来都不需要如此复杂和笨拙的东西。

    XSLT管理起来很笨重,本质上增加了一种开发人员必须使用的额外编程语言(至少如果我正确理解你的描述)。我的经验是,知道它的人相对较少,能够让它做他们想做的事情的人更少。

    我认为您正在寻找一个非常复杂的解决方案。简单地设计和构建您将要使用的模式是一项重大的工作。如果您的项目涉及的总人数超过5-6人,您可能需要n有组织的模式设计工作。我想这是你应该知道的一点

    我对前端PHP的选择提出了质疑,也可能提出了质疑。我还认为您在很大程度上错误地决定使用XML

    以下是我的工作:

  • 使用Grails.org构建服务层
  • 在rest中保留所有可以RESTFUL的资源
  • 使用Grails中的X-fire插件构建任何需要构建的SOAP服务
  • 利用Grails的GORM和RAD功能减少开发时间
  • 使用X或Y语言或平台构建客户端以使用这些服务
  • 我肯定希望纯Java能够以如此快的速度完成所有XML翻译/处理。如果您有大型文档,那么处理这些文档将需要相当长的时间

    你比任何人都更了解环境的力量,但我要提醒你,首先要做最简单的事情,不要超过架构师。

    我也不确定该向你推荐什么样的“灵活框架”。这在某种程度上取决于你对什么感到满意以及你的个人品味


    我确实知道的一件事是,从一开始看,远离XSLT是多么有吸引力。使用XSLT处理Hello World类型的内容和简单的示例非常简单。但是,更复杂的项目变得完全无法管理(更不用说无法阅读)使用XSLT。我的经验是,它给项目带来了巨大的压力。

    您所描述的可能可以使用。它使用混合体系结构。我看到的障碍是成本点,因为它依赖于Oracle。当然,因为它是开源的,所以您可以。

    我使用XSLT的经验没有显示任何问题关于掌握XSLT的人数,您提出了一个正确的观点;将PHP与XSLT结合在一起存在一些分歧,但它似乎是转换XML的唯一正式语言。我可能想提供XSLT的替代方案。谢谢。我使用XSLT的经验没有显示任何这些缺点。谢谢您的意见。但是,即使我的想法对于一个简单的CMS来说过于复杂,它也不会涉及冗长的文档处理——我确信用PHP中的XSLT处理我的XML会比调用一个使用另一个lang构建的web服务快得多,复杂得多。如果您对web服务的问题按钮tox有任何疑问,请告诉我它来找我