宇宙最強的IDE - Visual Studio 25岁生日快乐

5bcc80f6ab787961a4b286bae63c1ca5.png

每位开发者从入门开始或多或少都会接触过 Visual Studio , 现今的 Visual Studio 除了支持传统的 C++ , C# , Visual Basic.NET ,F# 的编程语言外,还可以做 Python , Node.js 的开发。在应用场景上也从单一的桌面应用,延伸到 Web , 移动应用 , 云原生 , 物联网 , 人工智能 ,大数据 ,游戏,以及 VR/MR/AR 。Visual Studio 从 Windows 独占 ,到现在支持了 macOS。或者你认为 Visual Studio 太过于庞大, 但实际上在很多场景上 Visual Studio 才是真正的专业强者 。作为一名布道师 , 我利用这次 Visual Studio 25 周年的机会访问了利用 Visual Studio 在不同行业, 不同解决方案的专家 , 希望能让大家对 Visual Studio 有一个更深的认识。

  .NET 无可替代的研发环境  

875a63cbf4706dc63860ba7ef17a462a.png

今年是 .NET 的20周年, .NET 已经从一个闭源的技术,变成一个跨平台,跨应用场景的开源技术。相信绝大部份人接触 .NET 都通过 Visual Studio 这个开发工具。通过 Visual Studio 你可以利用 .NET 完成桌面 / Web / 移动应用 / 云原生 / 物联网 / 人工智能 / 游戏 等场景的应用。在新一代的 Visual Studio 2022 更好地让你编写.NET应用程序,无论你是传统的桌面和网页开发人员,是基于全新的Blazor构建你的Web解决方案,还是基于MAUI的跨平台客户端解决方案,你都可以通过Visual Studio 2022快速搭建,编写,调试和部署。下面我们来听听我们的.NET 方向的微软最有专家张善友老师 和新一代.NET 90后开发者郑子铭的 Visual Studio 25 周年访谈。

【Visual Studio 25 周年访谈 】

by 微软最有价值专家

深圳友浩达科技有限公司创始人

张善友 

【Visual Studio 25 周年访谈 】

by 深圳市阿铺科技

高级后端开发工程师

郑子铭

  C++ 最牛的开发环境 

14767ff81e1761831ef8701e4d14a3c9.png

C++ 作为主要的支持语言一直集成在 Visual Studio 里面, 从早期单一支持 Visual C++ ,到现在支持标准的 C++ , 将 MSBuild 与 Microsoft Visual C++ 编译器或与第三方工具集(如 CMake + Clang 或 CMake + mingw )结合 , 满足 Linux 开发 , IoT 开发, 以及 iOS / Android / Windows 应用开发 。下面我们来听听来自微软 C++ 的大神范翔老师介绍他的 Visual Studio C++ 之旅。

【Visual Studio 25 周年访谈 】

by Microsoft Principal Software Engineer

范翔

  客户端应用领域更宽广 

ca96f472a578e4cff22f58d3a54e0e39.png

在很多人眼里,Visual Studio 只是一个传统 Windows 桌面客户端应用的工具, 从 Viusl Studio 2012 开始 , Visual Studio 已经可以做移动应用的开发 , 基于 Xamarin / Cordova 完成 iOS / Android / Windows 应用的客户端开发,而且兼容了 iOS 和 Android 的 Windows 调试。在 Visual Studio 2022 年, 热更新功能的融入,让我们实现了所编即所得的功能体验, 让客户端的开发更加高效。而且你可以在 Visual Studio 开发和维护跨平台的应用类库,在 Windows 下就可以编译调试 Linux / iOS / Android 的库。来自台湾的微软最有价值专家 James Tsai 是一位跨平台移动应用开发的专家, 我们来听听他的 Visual Studio 移动应用开发故事。

【Visual Studio 25 周年访谈 】

Good Job Info. Co. 負責人暨技術總監

微软最有价值专家

James Tsai

  强大的云原生功能 

8feafc294a84029ac1fd62ce241f40e1.png

很多创业团队和企业都在发力云原生,通过 Visual Studio 你可以快速部署你的应用到 Azure 。更可以通过 Visual Studio 在任何的环境调试你的云原生应用,这就包括了传统的桌面环境( Windows / Linux / macOS ) ,更可以在 WSL 和容器, Kubernetes 中直接调试,部署,测试 。结合 GitHub Actions , 让你能结合 GitHub 快速发布应用到 Azure 上 。我非常有幸访问到来自微软香港的云解决方案结构师 Delon ,让他来介绍下 Visual Studio 在云生的开发的相关功能。

【Visual Studio 25 周年访谈 】

Microsoft Cloud Solution Architecture

Delon

 DevOps 全场景融入为团队开发助力 

20388fc086e2c1abdaebe04ba1ef87d2.png

Visual Studio 从 Team Server 到Azure DevOps Server 都有非常棒的团队协助功能。有人认为团队管理就是代码管理/版本控制,实际上这只是其中的一部分,实际还有需求管理、报告、软件库管理、项目管理、测试、自动生成和发布管理功能等,涵盖了应用开发的整个生命周期。Visual Studio 2022 可以非常方便地介入本地的 Azure DevOps Server , 或者云端的 Azure DevOps ,提升团队的开发周期的效率。这次我非常有幸访问到两位非常有名的 DevOps 专家 ,分别是微软最有价值专家 / 微软技术社区区域总监徐磊老师和来自台湾的DevOps大师李智桦老师,快来听听他们使用 Visual Studio 完成团队开发的经验 。

【Visual Studio 25 周年访谈 】

微软最有价值专家

微软技术社区区域总监

LEANSOFT 首席架构师 & CEO

徐磊

【Visual Studio 25 周年访谈 】

91App Corp

 擔任 總經理室的敏捷教練

李智樺

 丰富的第三方插件

91be463f0c80637142331fcfd3faa974.png

Visual Studio 的生态也是非常强大的, 有非常多的第三方插件 ,像 .NET 开发里面的 ReSharper , 前端 UI 控件库 Telerik / DevExpress , 还有 C++ 编译支持的 Incredibuild 都是开发者提升开发效率的插件。你只要通过 Visual Studio 的 MarketPlace 就可以获取所需要的插件。接下来我们听听 Incredibuild 中国高级解决方案架构师范颂颂来说说 Visual Studio 插件的那些事。

【Visual Studio 25 周年访谈 】

Incredibuild 中国 

高级解决方案架构师

范颂颂

 展望 

VisualStudio 的功能非常强大,也在随着时代的变化而改变。希望这种强大能带给更多的开发者带来更多的方便,更多的应用场景。致敬使用 Visual Studio 的每一位开发者。祝 Visual Studio 25 周年生日快乐!

*相关资源

1.下载最新的 Visual Studio 2022 ,请访问该链接 https://aka.ms/InstallVS

2.了解 Visual Studio 2022 .NET 功能,请访问该链接 https://visualstudio.microsoft.com/zh-hans/vs/features/net-development/

3.了解 Visual Studio 2022 C++ 功能,请访问该链接 https://visualstudio.microsoft.com/zh-hans/vs/features/cplusplus/

4.了解 Visual Studio 2022 移动应用开发,请访问该链接 https://visualstudio.microsoft.com/zh-hans/vs/features/mobile-app-development/

5.了解 Visual Studio 2022 云原生开发,请访问该链接 https://docs.microsoft.com/zh-cn/visualstudio/azure/?view=vs-2022

6.了解 Visual Studio 连接到 Azure DevOps 的方法,请访问该链接 https://docs.microsoft.com/zh-cn/azure/devops/organizations/projects/connect-to-projects

7.了解 Visual Studio C++ Incredibuild 插件 ,请访问https://marketplace.visualstudio.com/items?itemName=vs-publisher-1193210.IncrediBuild

往期推荐:

CA周记 - 2022年的第一课Rust

CA周记 - 用 Visual Studio Code 做基于 .NET MAUI 跨平台移动应用开发

CA周记 - 通过 Azure ML + GitHub + GitHub Action 打通 ML 开发的任督二脉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C和指针之实现可变参数函数编译出现expanded from macro ‘va_arg‘ #define va_arg(ap, type) 解决办法

1、问题 编译可变参数函数里面有va_arg函数的时候提示这个错误 expanded from macro va_arg #define va_arg(ap, type) 2、原因 我没有考虑“默认参数提升”问题 如果一个函数的形参类型未知, 例如使用了Old Style C风格的函数声明,或者函数的参数列表中有 ...,那么调…

有没有一段代码,让你觉得人类的智慧也可以璀璨无比?【转】

转自:https://www.zhihu.com/question/30262900 作者:烧茄子链接:https://www.zhihu.com/question/30262900/answer/48741026来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。当然是这个…

maven中pom.xml中的scope讲解

一、compile:编译范围compile是默认的范围;如果没有提供一个范围,编译范围依赖在所有的classpath 中可用,同时它们也会被打包。而且这些dependency会传递到依赖的项目中。 二、provided:已提供范围provided 明了depend…

C和指针之函数之实现简单的printf函数(支持%d, %f, %c, %s)

1、问题 *简化printf函数,能够处理%d, %f, %c, %s格式码,假设已经存在 *print_integer和print_float函数,另外2个类型用put char来打印 思路: void va_start(va_list ap, last);// 取第一个可变参数的指针给ap,// last是函数声明中的最后一个固定参数(比如printf函数原型…

python 面试宝典--集各家之所长,乱七八糟于一体

1. 在判断object是否是class的instances时&#xff0c;type和isinstance函数的区别&#xff1f; type(obj) > <type instance> type(cls) > <type classobj> 由上可知&#xff0c;所有obj type后统一为 instance type&#xff1b; 而cls type后统一为classob…

如何使用 abp 创建 module 并应用单独的数据库迁移

最近在学习使用 abp 来做一些小程序。abp 是一个功能丰富的 .NET 开发框架&#xff0c;完全开源&#xff0c;遵循 DDD&#xff08;领域驱动&#xff09;设计模式&#xff0c;支持微服务开发&#xff0c;集成了 Identity、角色权限、本地化、动态代理、后台任务、分布式消息、审…

MinGW安装和使用基础教程

MinGW全称Minimalist GNU For Windows&#xff0c;是个精简的Windows平台C/C、ADA及Fortran编译器&#xff0c;相比Cygwin而言&#xff0c;体积要小很多&#xff0c;使用较为方便。MinGW提供了一套完整的开源编译工具集&#xff0c;以适合Windows平台应用开发&#xff0c;且不依…

px,em,rem,vw单位在网页和移动端的应用

px&#xff1a; 是网页设计中最常用的单位&#xff0c;然而1px到底是多大长&#xff0c;恐怕没有人能回答上来 它用来表示屏幕设备物理上能显示的最小的一个点&#xff0c;这个点不是固定宽度的&#xff0c;不同设备上点的长度、比例有可能会不同。 假设&#xff1a;你现在用的…

C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)

1、题目 编写函数 void written_amount(unsigned int amount,char *buffer); 它把amount表示的值转换为单词形式,并储存于buffer中。这个函数可以在一个打印支票的程序中使用。例如,如果amount的值是16312,那么buffer中存储的字符串应该是 SIXTEEN THOUSAND THREE HUNDR…

cs-Panination

ylbtech-Unitity: cs-PaninationPager.cs IPagingOption.cs IPagedList.cs PagingOption.cs PagedList.cs PagingExtensions.cs 1.A,效果图返回顶部 1.B,源代码返回顶部1.B.1,Pager.cs using System; using System.Collections.Generic; using System.Linq; using System.Text…

SignalR的使用

什么是 SignalR&#xff1f;ASP.NET Core SignalR 是一个开放源代码库&#xff0c;可用于简化向应用添加实时 Web 功能。实时 Web 功能使服务器端代码能够将内容推送到客户端。适合 SignalR 的候选项&#xff1a;需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投…

NHibernate之旅(7):初探NHibernate中的并发控制

本节内容 什么是并发控制&#xff1f; 悲观并发控制(Pessimistic Concurrency)乐观并发控制(Optimistic Concurrency)NHibernate支持乐观并发控制实例分析结语什么是并发控制&#xff1f; 当很多人试图同一时候改动数据库中的数据时&#xff0c;必须实现一个控制系统&#xff0…

C和指针之数组名和数组名和首元素以及sizeof(数组名)和sizeof(数组名作为参数)区别

1、先看我的测试Demo #include <stdio.h> #include <stdlib.h>int get_size(int *p) {int size = sizeof(p);return size; }int main() {int a[6] = {1, 2, 3, 4, 5, 6};int b[] = {1, 2, 3, 4, 5, 6};int c[10] = {1, 2, 3, 4, 5, 6};int size_a = sizeof(a);int …

html常用标签(form标签)

一、form标签 form标签是html标签中非常重要的一个标签。常用于注册、登录页面的使用。 <form action"提交地址" method"提交方式"> </form> 注&#xff1a;method的值有两个。get&#xff08;默认值&#xff09;和post。get数据安全性没有pos…

期望DP

期望DP的一般做法是从末状态開始递推&#xff1a; Problem DescriptionAkemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl).Homura wants to help her friend Madoka save the world. But because of the plot of the Boss Incubator, she is trapped in a labyrinth …

神奇的[Caller*]属性

前言上次&#xff0c;我们《使用 CallerArgumentExpression 检查弃元参数》&#xff0c;它实际是利用编译器编译时将变量名称传入。其实&#xff0c;.NET中提供了多个[Caller*]属性&#xff0c;帮助我们轻松获取调用者信息。CallerFilePathAttribute允许获取包含调用方的源文件…

eshop截取字符串长度 和去掉省略号

<!-- {if $goods.goods_brief} --> {$goods.goods_brief|truncate:17}<!-- {/if} --> 去掉省略号&#xff1a; 找到includes/lib_base.php 第63行 $newstr . ... 去掉... 即可转载于:https://www.cnblogs.com/wesky/p/4819319.html

C和指针之字符串之实现strcpy函数

1、问题 实现strcpy函数2、代码实现 #include <stdio.h> #include <assert.h> char *str_copy(char *des, const char *src) {assert(src ! NULL);assert(des ! NULL);while ((*des *src) ! \0);return des; } int main() {const char *src "chenyu";c…

java dateTime + long

2019独角兽企业重金招聘Python工程师标准>>> public static void main(String[] args) throws Exception{SimpleDateFormat sdfnew SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // long timeStartsdf.parse("2011-09-20 12:30:45").getTime();l…

IOS 开发环境,证书和授权文件是什么?

一、成员介绍 1. Certification(证书) 证书是对电脑开发资格的认证&#xff0c;每个开发者帐号有一套&#xff0c;分为两种&#xff1a; 1) Developer Certification(开发证书) 安装在电脑上提供权限&#xff1a;开发人员通过设备进行真机测试。 可以生成副本供多台电脑安…