Building Modern Web Apps-构建现代的 Web 应用程序(一些感想)

简介:

<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 了。


本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/3957674.html,如需转载请自行联系原作者

相关文章
|
2天前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
20 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
11天前
|
安全 Linux 开发工具
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。 本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Electron 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。本项目同时引用了 @openim/electron-client-sdk 和 @openim/wasm-client-sdk,分别为 Electron 版本和 Web 版本的 SDK,可以同时构建 PC Web 程序和桌面应用(Wi
28 2
|
2月前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
3月前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
59 6
|
3月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
43 2
|
11天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
141 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
27天前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
116 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
11天前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
884 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
16天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
121 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 4
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 5
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 6
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 8
    【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknown column 'created_at' in 'order clause'”
  • 9
    阿里云APP备案流程图以及备案所需材料整理,跟着教程一步步操作
  • 10
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 1
    打造高效的Web Scraper:Python与Selenium的完美结合
    13
  • 2
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    26
  • 3
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    20
  • 4
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    54
  • 5
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    342
  • 6
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 7
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    40
  • 8
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 9
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    22
  • 10
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    55