我非常喜欢MVC4发布的新特性Web。
我目前正在开发一个web应用程序,希望将其扩展到移动应用程序。
使用这个特性的最佳方法是什么?
有什么意见吗?
谢谢
发布于 2012-03-21 16:18:58
IMHO -- Web不应被视为特定于移动应用程序开发的特性。它是一个允许您通过HTTP轻松公开RESTful API的工具。这些API可以从桌面应用程序、web应用程序、移动应用程序等.当然,每种类型的应用程序的接口都将使用用于此任务的特定框架和工具(WPF、ASP.NET/MVC、WP7/iOS/Android、.)来开发。
Web只允许您以可互操作的方式公开业务数据和服务,以便不同的客户端可以使用它们。
发布于 2012-05-18 14:18:03
我更喜欢使用第二种方法。
一开始,我还认为.ajax调用可能会破坏视图。(没有人喜欢在视图中添加长<script>部分。)但是,在问了我关于Stackoverflow的问题之后,我很高兴看到这里的一些专家为这些javascript使用了一些“代码隐藏”。
其做法是:
创建一个单独的JS文件夹来存储所有的“代码隐藏”js文件。(默认脚本文件夹仅包含第三方包,如knockout.js、jquery.js等)
对于每个视图,生成一个.js文件,如home.index.js、form.add.js等,只要遵循一致的规则即可。将创建大量的js文件。最重要的是在MVC4中,我们可以将这个文件夹下的所有.js文件组合起来,生成一个缩小的、组合的、单一的文件,并且只在_Layout视图中加载它一次。
这样做的方法是:
在_Layout视图中,<head>部分:
<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/JavaScripts/js")" type="text/javascript"></script>在Global.asax、Application_Start中,注册包:
var bundle = new Bundle("~/JavaScripts/js", new JsMinify());
bundle.AddDirectory("~/JavaScripts", "*.js", true);
BundleTable.Bundles.Add(bundle);
BundleTable.Bundles.EnableDefaultBundles();
//BundleTable.Bundles.RegisterTemplateBundles();那你就可以走了。景色仍然很干净。所有的.js文件都是有组织的。不需要在每个单独的视图上导入不同的.js文件。
学习JS不是问题。由于它可能是唯一的客户端编程语言,我们现在有必要学习新的东西。我觉得既然我们现在有了jQuery,这就更容易了。是时候提升我们的知识了。我为我们能用这些新工具完成的事情感到高兴和兴奋。
https://stackoverflow.com/questions/9808540
复制相似问题