【问题标题】:Language-independent tutorial or book on web-apps与语言无关的网络应用教程或书籍
【发布时间】:2010-09-17 00:00:56
【问题描述】:

是否有任何独立于语言的教程或书籍用于开发 Web 应用程序?

例如实现登录程序、相册制作等,不专注于任何特定语言?

【问题讨论】:

    标签: language-agnostic web-applications


    【解决方案1】:

    我会推荐一本像Web Application Architecture: Principles, Protocols and Practices 这样的书。它对开发 Web 应用程序的各个部分进行了高级概述,并在需要时提供了一些真实示例。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 和 PoEAA 一样,很棒的书,但不是 PO 要求的那种
      【解决方案3】:

      Martin Fowler 的企业应用架构模式是一个好的开始。

      示例代码使用 Java 和 .Net 编写,但其模式超越了任何特定的编程语言。它涉及诸如如何实现服务器端会话、用于创建模型-视图-控制器框架的模式、用于创建对象关系映射框架的模式以及如何将它们串在一起等主题。

      自编写以来,其他一些范式也加入了竞争,但没有涉及到,例如依赖注入。没有介绍 NoSql 数据库以及何时使用它们。它还缺乏对更多复古主题的覆盖,例如 CGI,以及使用此标准的旧框架/语言(即用 Small talk 编写的 web 应用程序)。这本书还早于 Rails 等“约定优于配置”框架的广泛使用。交易处理得当,但覆盖面不完整,请读者参考 Bernstein 和 Newcomer 的交易处理原理,以获得更深入的信息。

      通过对 Unix 套接字的深入了解以及它如何与您编写 Web 应用程序的语言提供的线程和共享内存设施相关联来补充阅读 PEAA 可能是值得的。运行的并发特性 -您的应用程序部署的时间环境将影响您处理请求和实现服务器端会话的方式。如果您需要提醒自己有关套接字的信息,请阅读 Goralski 的“插图网络”的第 12 章。如果您真的想阅读 Bryant 和 O'Hallaron 的“计算机系统:程序员的视角”中关于网络和线程的章节,尽管这可能有点过头了。只需了解您选择的编程语言的并发能力以及它如何与网络层对话即可。

      对 HTTP 协议有很好的理解是必不可少的。这将为学习其他基于HTTP的重要标准如REST和AJAX打下坚实的基础。有关 HTTP 的深入信息,请参阅 Gourley 和 Totty 的“HTTP: The Definitive Guide”。还有W3C。有关 REST 的介绍,请查看

      http://www.infoq.com/articles/rest-introduction

      有关 HTTP 和套接字的广泛概述,请查看 Wikipedia。

      关于可用性,我推荐 Pragmatic 书架上的以下两本书:

      http://pragprog.com/titles/bhgwad/web-design-for-developers

      http://pragprog.com/titles/jsaccess/design-accessible-web-sites

      关于安全性的最后一个好起点可能是 Howard、LeBlanc 和 Viega 的“软件安全的 24 大罪”。第 1 部分专门处理 Web 应用程序,第 4 部分一般处理网络安全。如果您要生成存储在 cookie 中的“记住我”令牌,那么关于密码学的第 3 部分也很好,这样用户每次使用您的应用时都不必登录。

      我不知道有任何一本“食谱”可以为您在开发 Web 应用程序时可能遇到的每一个问题提供解决方案,但如果您阅读了以上所有内容,您将获得相当好的定位。

      【讨论】:

      • PoEAA 不是一个好建议,至少对于 PO 给出的示例而言
      • 我不打算对此投反对票,但用户正在询问制作照片库,而您谈论的是 Unix 套接字...
      • "例如实现登录程序、相册制作等,不专注于任何特定语言?"
      • 关于登录部分,您可能需要存储某种服务器端会话,该会话必须处理多个可能并发的请求。这就是我提到套接字和并发的原因。
      • 这不是我要找的,但无论如何都是一份不错的书单。谢谢:)
      猜你喜欢
      • 2010-09-06
      • 1970-01-01
      • 2012-03-21
      • 2011-04-26
      • 2010-09-24
      • 2013-02-24
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多