Building Modern Web Apps-构建现代的 Web 应用程序
Building Modern Web Apps-构建现代的 Web 应用程序
- 视频长度:1 小时左右
- 视频作者:Scott Hunter 和 Scott Hanselman
- 视频背景:Visual Studio 2013 最新版本发布
- 视频来源:MSDN - Channel 9
- 视频地址:Visual Studio 2013 为 Web 开发人员带来的新功能
一些感想
这段视频虽然标题设定为 Visual Studio 2013 最新版本发布,但其实并没有对 Visual Studio 2013 进行过多的介绍,而更多的是讲述微软对 ASP.NET 的发展规划,特别是对 Web 的重视,我觉得非常好,下面谈一下我的一些感想,当然只是个人观点,勿喜请喷。
其实说到 Web,就不得不提乔布斯在《遗失的访谈(1995)》中对未来十年技术发展的预言,没错,乔布斯就预言了 Web,而十年后,二十年后,确实如预言的那样,不得不说他是“神”一样的存在。但二十年的今年,现在的 Apple 并没有多重视 Web,反而把大把的精力放在 App 上,这就有点不应该,反观 Apple 的对手微软,仿佛是看了乔布斯访谈一样,越来越重视 Web 了,当然我个人觉得,一部分原因是 Windows Phone 的不给力。
视频中首先谈到的是 ASP.NET 不再那么神秘了,确实如此,现在我们可以在 CodePlex 上获取 ASP.NET MVC 、EntityFramework 等源代码,甚至可以进行修改提交,Scott Hunter 提到现在 ASP.NET MVC 中两个重要功能(属性路由和 Web API 的跨源支持),就是来自于社区代码的提交,这是开放的一种表现,对开发者,对微软都有好处。

ASP.NET 我们都很熟悉,Web Tools 是什么?简单的说,就是我们用的 Visual Studio,但其实只是 Visual Studio 中的应用之一,我们现在所开发的 ASP.NET 是离不开 Web Tools 的,为什么?因为从项目新建-前段设计-后端代码编写-程序调试-程序发布等等,这些操作都是使用 Web Tools 完成的,也就是说 ASP.NET 和 Web Tools 就像是一对连体婴儿,谁也离不开谁。但这种“紧密的关系”往往就失去了一些开发所独有的“创造性”,试想一下,如果 ASP.NET 和 Web Tools 可以独立运作,这又是一种怎样的场景?用 Text 编写 ASP.NET 应用程序?这个已经不是梦想了。

One ASP.NET,请注意在图中间部分的两边有两个“YOU”,这是什么意思呢?我们知道 ASP.NET 的运行必须建立在 .NET Framework 支持的基础上,也就是说必须是 Windows 环境,但是现在,我们可以在 ASP.NET 中融入任何我们想要的东西,比如自己喜欢的插件、框架、项目等,因为第三方的支持,我们可以想做任何我们想做的事,这不是爽一点的问题,而是爽到了极点。昨天在 YouTuBe 上看了一个哥们在 MAC OS 上开发运行 ASP.NET VNext 的视频(只需要一个编辑器和一个命令工具),很是激动啊,过几天我也尝试下。

在这段讲述中,Scott Hunter 除了强调 ASP.NET Identity 的改进之外,还说到了他最喜欢到 ASP.NET MVC 属性路由,来自社区代码的提交,可能是一些开发者厌烦了之前 URL 繁琐的配置,所以在 ASP.NET MVC 中增加了属性路由。关于 EntityFramework,他讲到了这样一个问题:
在一个 ASP.NET 应用程序中有两个页面,一个是静态页面,一个是需要数据库读取页面,如果我同时频繁访问这两个页面,你认为会发生什么?
Scott Hanselman:我猜静态页面与数据库无关。
Scott Hunter:不是的,鉴于这个原因,每次执行数据库操作和网络操作时,都应该使用异步支持,我们有一个基准测试表明,实际会发生的是,每次执行进行数据库调用的页面时,在等待该操作发生的整个期间,系统将在 ASP.NET 线程池中存留一个线程,因此如果你多次访问该页面,就会消耗掉线程池中的所有线程,就没有线程为静态页面提供服务了,因此一个数据库页面可能会在你不知情的情况下影响整个应用程序的性能,让线程池“挨饿”,通过使用权重,任何时候,当你使用 EntityFramework 时,都不会再让线程池“挨饿”,静态页面永远不会损失性能,因为另一个页面在运行并进行数据库调用。
后面提到 EntityFramework 的数据库迁移(主要时针对云)、Code First。。。

视频的最后就是讲述 Visual Studio 2013 的具体更新了,关于这一部分我不是很感兴趣,只是大概的看了下,主要将了亮点内容:
- 精简 ASP.NET 模块:新建 ASP.NET App 的模版,由原来的 20 个减为 6 个,另外 Web Forms、MVC、Web API 之间更好的“混搭”。
- 云的支持(Windows Azure):关于 Visual Studio 2013 中使用 Windows Azure,Scott Hunter 进行了详细的演示,一个新建,一个勾选,一个 Windows Azure 下的 ASP.NET 就这样创建好了,如此简单。我比较感兴趣的是 Windows Azure 运行下,Visual Studio 2013 中调试 ASP.NET,有机会可以尝试下。
最后
看完这段视频(昨天晚上),我个人觉得 MSDN 应该是 .NET 程序员常去的社区,为什么?当你还在纠结 ASP.NET Web Forms 和 ASP.NET MVC 时,你所不知道的是,人家已经在 MAC OS 中使用 ASP.NET VNext 了。
Building Modern Web Apps-构建现代的 Web 应用程序的更多相关文章
- office web apps 部署-搭建office web apps服务器
二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...
- PWA(Progressive web apps),渐进式 Web 应用
学习博客:https://www.jianshu.com/p/098af61bbe04 学习博客:https://www.zhihu.com/question/59108831 官方文档:https: ...
- Office Web Apps Server 概述
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
- Office Web Apps安装部署(一)
来源于:http://www.cnblogs.com/poissonnotes/p/3238238.html 系统要求为Windows Server 2012, 注意:安装Office Web App ...
- Module 3 - Azure - Web Apps
Module 3 - 微软云 Azure - Web Apps 1. Create new Web application in the Azure Portal Azure Portal -> ...
- Office Web Apps Server 2013与PDF(一)
好吧--这个消息有点旧,迟了将近4个月. Office Web Apps是微软各大服务产品系列中的一个基础服务,可以为SharePoint 2013.Exchange 2013.Lync 2013提供 ...
- Office Web Apps Server 2013与PDF(二)
在上一篇文章(Office Web Apps Server 2013与PDF(一))中,曾经介绍了Office Web Apps Server 2013在更新后,可以直接对PDF文档进行在线的查看.不 ...
- office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答
该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...
- office web apps安装部署,配置https,负载均衡(六)配置负载均衡
owa可以采用任何的负载均衡方案,我们这里采用阿里云提供的负载均衡解决方案 前提条件,你已经配置了一台域控制器,两台域服务器[即安装了owa相关软件,并将计算机隶属于域]: 如果您不清楚怎么做,那么请 ...
随机推荐
- mysql压力测试
1.采用 mysqlslap 压力测试 mysqlslap --defaults-file=/etc/my.cnf --concurrency=200 --iterations=1 --numbe ...
- 在sd卡,创建目录和文件
在本文中,sd卡的情况下创建的文件和目录,介绍如何创建目录和文件的重点. 1. 路径问题(以下的样例是在Java中測试的,在Android中相同适用) 1.1 假设须要在目录中创建文件的目录存在,直接 ...
- requirejs实现模块化
使用requirejs实现模块化编程 > 序言 - -# 公司大了,业务多了,前端代码量也逐渐增大,我们渐渐的依赖js实现的交互越来越多,长期以来会导致我们的代码维护越来越困难,所以依赖的插件也 ...
- Json.NET提供依赖注
Json.NET提供依赖注 [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection) 前言 在一些小型项目的开发情景里,系统不需要大型DI Framework所提 ...
- SpringMVC + Spring 3.2.14 + Hibernate 3.6.10
SpringMVC + Spring 3.2.14 + Hibernate 3.6.10 集成详解 注:此文档只说明简单的框架集成,各个框架的高级特性未涉及,刚刚接触框架的新人可能需要参考其他资料. ...
- 最新Oracle 和 mysql 的对比参照----开发篇(转)
Oracle mysql 对比版本 Release 10.2.0.1.0 XE windowsXP 5.0.45-community-nt-log MySQL Community Edition ( ...
- js之面向对象----封装篇
学习了一天的面向对象总结一下,共分为三类 - -! 老规矩 第一部分是概念性知识!!! 面向对象编程,我们可以把他想象成我们在造人.一个对象便是一个人,这个人有胳膊有腿,这便是一个对象的属性或者方法. ...
- 大数据系列修炼-Scala课程09
Option使用和实现内幕源码揭晓 1.Option中的sealed关键字解析:Option中用了sealed,定义的case class与case object必须在同一个文件中.Option在模式 ...
- jquery选择器基础知识
$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("di ...
- 【淡墨Unity3D Shader计划】四 热带雨林的文章: 排除、深度测试、Alpha测试和基本雾编译
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1222/163.html 作者:毛星云 ...