假设您有一个用 objective-c/cocoa 编写的相当大且复杂的桌面应用程序,并在 MVC 中正确编写。然后您希望替换 V 和 C 以使其成为 Web 应用程序?
除了 objective c 之外,还有什么类似 Tomcat 的东西吗?我能想到的最接近的事情是以某种方式将模型代码转换为 apache 模块以加载到 apache 中?
显然,我可以嵌入某种 HTTP 服务器并编写一大堆代码来管理 session 、请求和响应等,但是否有更简单的方法?
最佳答案
您几乎可以让服务器保持原样。我会在后台将其作为守护进程运行。
我会拆分 Controller 部分。它的一部分驻留在服务器上,作为 HTTP 请求和守护进程之间的连接。
- 您可以运行一个自制的 http 服务器。
- 您可以像您提到的那样将它构建到 Apache 模块中。
- 您可以通过 CGI 访问您的 Controller 。这是我认为最简单的选择。
Controller 的第二部分在浏览器中用 Javascript 编写,与服务器交换数据并更新 GUI。
View 部分完全用javascript编写。
如果您愿意,您可以省去服务器上的 Controller ,让模型理解 HTTP 请求。
对于 Controller / View 部分,考虑使用框架。
- jQuery仅用于光接口(interface)。 (或类似的框架。)
- 我还没有找到将所有模型内容留给服务器的框架。也许您可以相应地使用 SproutCore 或 Cappuccino。
- SproutCore ,Apple 使用的完全支持的 MVC 框架。 (至少这么认为。)
- Cappuccino ,另一个完全支持的 MVC 框架。
关于objective-c - 使用 objective-c 的 Web 应用程序编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1519324/