gpt4 book ai didi

multithreading - 最终 Web 开发框架的功能要求?

转载 作者:行者123 更新时间:2023-12-03 12:50:57 28 4
gpt4 key购买 nike

随着可用的 Web 开发框架种类繁多,似乎总是有一种“尝试新事物”的永久动机。因此,我们中的一些人发现自己用一个框架换另一个框架,从来没有对最终结果完全满意。当然,总会有一个特定的 Web 框架可以完美服务的利基市场。但是,有很多人已经决定使用 C++、Java 或 C# 来构建桌面应用程序。对于 Web 开发应用程序,情况并非如此。 Joel Spolsky 在 link text 中谈到了这一点.

假设我要构建这样一个框架:功能需求是什么?这里的目标是列出 混凝土 功能期望(当然,为了stackoverflow发布而简洁地定义)。将根据其票数选择最佳答案。

只是为了让每个人都开始,以下是部分要求列表。请注意,这些项目是故意留下一些抽象的,目的是人们可以从中得出更具体的项目:

  • OOP 一致性:服务器端和客户端模块之间的无缝数据交换和 native 对象表示 : 也就是说,给定客户端的一个函数:clientFoo()和服务器端的一个函数:serverFoo()应该能够传递一个对象 obj任何类型的T无需任何编码:
    define clientFoo() {
    T obj = createObject()
    serverFoo(obj)
    }

    OR

    define serverFoo() {
    T obj = createObject()
    clientFoo(obj)
    }

  • 这增加了本地对象表示在客户端和服务器端必须相同的要求,包括所有组合、类间耦合和封装语义。基本上,给定的类或给定的实例是驻留在客户端还是服务器端应该是完全无关的。
  • 功能一致性:无缝的功能和线程执行 :应该能够在客户端/服务器端创建一个函数并将其传递到边界以执行。这包括对多线程的统一支持(在客户端和服务器端都应该一致地工作)。
  • 多应用程序 session 互操作性 : 这里一个完美的例子是跨应用程序的“剪切和粘贴”(如上面文章中提到的)。我不是在谈论将浏览器中的文本简单地复制到另一个浏览器实例(或选项卡)。如果想将 MySocialApp 中的联系人对象粘贴到 YetAnotherSocialApp 怎么办?这种应用程序间的数据交换很重要。
  • 一致的跨浏览器兼容 UI :创建 AJAX“对话框”、进度指示器、选项卡等都应该可以使用与框架的其余部分无缝连接的 API 来实现,就像上面讨论的客户端/服务器集成一样。哦,是的,它必须在所有浏览器上都一样(开发人员完全看不到浏览器的区别)。
  • 最佳答案

    就个人而言,我认为下一个伟大的 Web 开发框架本质上将是“功能性的”,即它将使用一种功能性语言,并且所有 View 、 Controller 等都将是功能等价物。我们已经使用 Linq 朝这个方向发展。

    超越平均线 Paul Graham 在其中描述了他如何通过在 Lisp 中构建 Web 应用程序来超越竞争对手:http://www.paulgraham.com/avg.html

    关于multithreading - 最终 Web 开发框架的功能要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759820/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com