NerdDinner升级到MVC3,包括Razor,HTML5,GeoLocation,EF CodeFirst,jQuery Mobile,YepNope,Modernizr和固定的移动设备容量查看引擎

[原文发表地址] NerdDinner being updated to MVC3 with Razor, HTML5, GeoLocation, EF CodeFirst, jQuery Mobile, YepNope and Modernizr and a fixed Mobile Device Capabilities ViewEngine

[原文发表时间] 2011-08-26 20:11

两年前,我和RobPhil一起写了关于MVC1.0的书,Gu帮忙写了有力的简介。我创建了基本的Nerd Dinner 示例应用程序 (代码点击这里),并且免费提供了最开头的185页。从最初的1.0版本发布以来,我们获得了许多人的帮助,比如Dave WardAndrew AarnottJon Galloway,他们在许多琐碎的细节方面比如JavaScript和OpenAuth支持等给予了许多帮助。John V. Petersen帮我们完善了MVC3的Razor视图,Peter Mourfield则负责了许多JavaScript和新功能。这些人都是用业余时间开发了这个或那个功能。这是团队的力量,许多同行们加入我们之中,为之做出贡献,期间也经历过空白期。

John v.Petersen帮我们完善了MVC3的Razor视图之后,Peter Mourfield分离了一个功能,现在我们已经添加或更新了:

· Mvc 3 + Razor

· EF Code First (为已存在的数据库而设)

· 通过NuGet的所有库

· YepNope 新增Modernizr

· JQuery Mobile beta 2

· 更新后的MobileCapableRazorViewEngine,修复了我前些年介绍过的一个讨厌的缓存bug

· 这还需要进一步的测试,然后Pete和我会为MVC3做一个NuGet包。MVC4则会支持内置移动视图。

· Geolocation,适用桌面和移动设备。

· Scott Kirkland的MvcHtml5Templates

· ELMAHMiniProfiler即将问世)

· 51Degrees移动容量模型

· Andrew Arnott的DotNetOpenAuth

· 合适的Web Deploy Transforms

需要说明的是,这不是一次发布,而是试发布,称为Alpha版。就是说,https://www.nerddinner.com上有,源代码也会在Codeplex上的Trunk上继续推进。在移动网站和后退按钮上有些不一致,而地理定位在iPhone上的无法完全工作,不过在浏览器上还是不错的。我们正在尽力解决,不过亲爱的读者,如果你在trunk中发现了任何bug,或者明显的问题,请告诉我们,递交一个* cough *,或者至少留下你遇到的问题,让我们能继续跟踪。

我们不断完善这些功能,Pete和我还会发一系列博文,深入介绍在功能中哪些效果很好哪些不好。Pete已经发布了一篇很不错的博文,讨论用yepnope.js和Modernizr添加HTML5地理定位到NerdDinner。他使用一个非常好的库yepnope,就像说:“你想要支持这个功能?是的?那就获取这个JS。不是?获取另一个JS。”比如:

1

2

3

4

5

6

7

8

9

10

11

12

<script type="text/javascript">

    $(document).ready(function () {

        yepnope({

            test: Modernizr.geolocation,

            yep: '@Url.Content("~/Scripts/geo.js")',

            nope: '@Url.Content("~/Scripts/geo-polyfill.js")',

            callback: function (url, result, key) {

                getCurrentLocation();

            }

        });

    });

</script>

爱不释手。更多详情和代码请见Pete的博文。在下面的图片中你会看到IE9警告我的本地页面要追踪我所在的位置。