我有一个服务器端Web服务,可以为多个客户端提供服务。客户端包括网络浏览器,iPhone,黑莓,Android等。我的问题是,我需要能够为这些客户生成视图的动态内容。无论是完整的HTML模板,HTML片段,JSON,XML等。根据请求客户端的用户代理,Web服务器生成并吐出不同的“视图”模板。
我的问题是,是否有任何优雅的“视图”框架或样式适应,以简化管理所有这些片段/片段/完整模板到一些有序的方式?我一直在寻找一种优雅的方式来管理这种无数的客户端处理,通过简单的维护和简单的手动程序开发给用户界面开发人员。
答案 0 :(得分:1)
您需要的是模型和演示之间的明确分离。如果您编写了许多以与表示无关的方式(模型)提取数据的通用组件,那么您可以拥有许多适配器,这些适配器为每个特定目标(视图)呈现输出。有一些框架将所有这些都捆绑在一个大包中;它们通常标记为 MVC-framework 。但如果不符合你的口味,你真的不需要这个。对于大多数类型的输出,您可以使用模板引擎来帮助您编写视图。对于更多数据的东西 - 更少的表示 - 例如JSON或XML以及用于机器消耗的一般输出,你可能会使用其他东西来生成输出。
答案 1 :(得分:0)
我认为你在寻找模板引擎。我已经使用Smarty很长一段时间了,非常喜欢它。它创建了逻辑和页面设计之间的分离。您需要做的就是为发出请求的用户代理加载模板文件。其余的逻辑将保持不变。
答案 2 :(得分:-2)
首先,您不应该通过Web服务返回HTML。恕我直言,web服务应返回通用/客户端独立形式。我建议使用一个简单的ASPX网页,为一些客户端获取一堆XSL布局转换。
使其可自定义,即使新客户端出现或您的可视化更改,您也不必长时间触摸代码。