<iframe src="http://channel9.msdn.com/Series/MVA-China/Web20140611A01/player?h=540&w=960&format=html5" style="height:540px;width:960px;" allowFullScreen frameBorder="0" scrolling="no">

一些感想

这段视频虽然标题设定为 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 的具体更新了,关于这一部分我不是很感兴趣,只是大概的看了下,主要将了亮点内容:

  1. 精简 ASP.NET 模块:新建 ASP.NET App 的模版,由原来的 20 个减为 6 个,另外 Web Forms、MVC、Web API 之间更好的“混搭”。
  2. 云的支持(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 应用程序(一些感想)的更多相关文章

  1. office web apps 部署-搭建office web apps服务器

    二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...

  2. PWA(Progressive web apps),渐进式 Web 应用

    学习博客:https://www.jianshu.com/p/098af61bbe04 学习博客:https://www.zhihu.com/question/59108831 官方文档:https: ...

  3. Office Web Apps Server 概述

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  4. Office Web Apps安装部署(一)

    来源于:http://www.cnblogs.com/poissonnotes/p/3238238.html 系统要求为Windows Server 2012, 注意:安装Office Web App ...

  5. Module 3 - Azure - Web Apps

     Module 3 - 微软云 Azure - Web Apps 1. Create new Web application in the Azure Portal Azure Portal -> ...

  6. Office Web Apps Server 2013与PDF(一)

    好吧--这个消息有点旧,迟了将近4个月. Office Web Apps是微软各大服务产品系列中的一个基础服务,可以为SharePoint 2013.Exchange 2013.Lync 2013提供 ...

  7. Office Web Apps Server 2013与PDF(二)

    在上一篇文章(Office Web Apps Server 2013与PDF(一))中,曾经介绍了Office Web Apps Server 2013在更新后,可以直接对PDF文档进行在线的查看.不 ...

  8. office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答

    该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...

  9. office web apps安装部署,配置https,负载均衡(六)配置负载均衡

    owa可以采用任何的负载均衡方案,我们这里采用阿里云提供的负载均衡解决方案 前提条件,你已经配置了一台域控制器,两台域服务器[即安装了owa相关软件,并将计算机隶属于域]: 如果您不清楚怎么做,那么请 ...

  10. Building Modern Web Apps-构建现代的 Web 应用程序

    Building Modern Web Apps-构建现代的 Web 应用程序 视频长度:1 小时左右 视频作者:Scott Hunter 和 Scott Hanselman 视频背景:Visual ...

随机推荐

  1. 设计模式之单例模式Singleton(三创建型)

    1.什么事单例模式? 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须 ...

  2. python3 与 pip3 安装与使用

    1. yum -y install openssl* (pip依赖ssl环境) 2.编译安装python3 下载地址:https://www.python.org/ftp/python/ .tgz c ...

  3. 【leetcode】Add Two Numbers

    题目描述: You are given two linked lists representing two non-negative numbers. The digits are stored in ...

  4. JavaOO面向对象中的注意点(三)

    1.接口 a.关键字:interface public interface Serviceable{ //TODO } b.属性:只能是 公共 静态 常量 属性--就算不写这三个关键字,也是默认这种情 ...

  5. flume+kafka+spark streaming整合

    1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输 ...

  6. windows和linux之间“/”, "\\"的区别

    在windows下编程操作文件目录时,文件目录一般是如下的形式: C:\\folder1\\folder2\\folder3\\file.txt 而在Linux或者Mac系统下,文件目录则一般是这样子 ...

  7. encodeURIComponent()中文乱码

    可能是Tomcat的编码格式问题   应该在8080端口下设置 <Connector port="8080" protocol="HTTP/1.1" co ...

  8. 小tips

    ios::sync_with_stdio(false);  加速读入的,加上这条语句可以使cin和cout的速度和scanf和printf差不多.

  9. 构建高性能的MYSQL数据库系统

    实验环境: DB1:172.16.1.100 DB2:172.16.1.101 VRRIP:172.16.1.99 步骤: yum -y install mysql 1.修改DB1的mysql配置文件 ...

  10. Node使用multiparty包上传文件

    var multiparty = require('multiparty'); var http = require('http'); var util = require('util'); var ...