What’s Brewing for .NET Developers
Microsoft hosted its premier fall developer event – Connect(); // 2016 in New York on November 16-17, and streamed it live and for free on Channel 9 to developers around the world. While we may be a little late in doing a recap, we wanted to take our time to go through these announcements before writing about what’s new and exciting for Developers in and outside Microsoft’s Developer Ecosystem.
What's New and Exciting in Microsoft's Open Dev Ecosystem
.NET Core 1.1
.NET Core 1.1 is the first new minor version of .NET Core - a cross-platform, open source, and modular .NET platform for creating modern .NET applications. Unlike the LTS (Long Term Support) version 1.0, .NET Core 1.1 is categorized as “Current” release. While LTS releases have a 3-year support period from the original release or 1 year from the next LTS release, the “Current” releases are only eligible for support as long as their parent LTS release or 3 months after the next “Current” release, whichever comes first. The two versions can safely be installed side-by-side, so that individual applications on the same machine can use either one.
The focus of this release was performance. The big news was that ASP.NET Core is now included in the TechEmpower web framework benchmarks, and is the fastest mainstream full stack framework in the Plaintext category.
Several new features were added to ASP.NET Core 1.1 as well:
- With MVC filters, you can now apply middleware only to specific controllers or actions.
- Two new middleware are included: URL rewriting and response caching.
- Web Listener Server for Windows is available as an alternative to Kestrel. With it, you can take advantage of Windows specific features, such as Windows authentication, HTTP/2 over TLS, and others.
- Compiling views during the publish process is now supported.
Entity Framework Core 1.1 now has built-in support for connection resiliency and SQL Server memory-optimized tables. Thanks to improved LINQ translation, the database engines can successfully execute more queries than before. New APIs were added for explicit loading, mapping to fields and a few other features.
MSBuild tooling for .NET Core became available in preview. This means that standard .csproj project files can be used instead of project.json. To better align the two formats, MSBuild now supports wildcard-based inclusion of files for folder based projects, and direct NuGet package references. A wizard for migrating project.json projects to .csproj is included as well.
Visual Studio 2017 Release Candidate
Visual Studio “15” now has its official name: Visual Studio 2017. You can now download Visual Studio 2017 Release Candidate and even use it in production with the exception of features marked as in preview, and are not yet supported.
The new version of Visual Studio comes with many productivity improvements:
- better filtering and default suggestions in IntelliSense dialogs,
- easier navigation with redesigned Find All References and Go To functionalities,
- new Exception Helper dialog with more information and support for filtering exceptions by the assembly they originate from,
- quick reattaching and filtering by process name in the Attach to Process dialog,
- continuous running of tests and coverage information for individual code lines with Live Unit Testing (only available in Enterprise edition),
- Figure 1: Live Unit Testing in action
- additional code refactorings,
- configurable code style, and more.
Better performance is also a high priority: Visual Studio 2017 starts faster, has shorter load times for solutions, and a faster, more componentized installer. To further speed-up initial loading of large solutions; lightweight solution loading can be enabled for them, which defers the full loading of projects to a later time when they are first needed.
Extensions can also largely affect the overall responsiveness of Visual Studio. The new performance-monitoring feature will now warn the user about extensions which slow down Visual Studio. Other improvements to extensions include:
- batched installs and updates,
- built-in roaming extension manager, and
- support for extensions to detect missing dependencies and trigger their installation in Visual Studio.
A few other new features in Visual Studio 2017 that are also worth mentioning:
- New versions of C# and Visual Basic provide many new language features, as described in my previous article for Dot Net Curry magazine.
- A new Service Capabilities page is now the centralized location for adding cloud service dependencies to a project.
- You can record tests for mobile applications using the new mobile test recorder and upload them directly to Xamarin Test Cloud.
- A preview version of Visual Studio Tools for Unity 3 is now included in the installer. Among other improvements, it adds full syntax coloring and IntelliSense support for Unity event functions.
Visual Studio for Mac
The Visual Studio product family got a new member: Visual Studio for Mac. The preview is already available for download. The application is an evolved version of Xamarin Studio, more closely aligned to the Visual Studio experience on Windows. It supports development of Xamarin based mobile applications, and their cloud backends in .NET Core, using either C# or F#. It features the same Roslyn powered compiler, IntelliSense code completion and refactoring experience as Visual Studio. The same MSBuild project format allows for seamless sharing of projects between Visual Studio on Windows and Mac.
Mobile Development with Xamarin
The Xamarin team announced stable releases of several new tools.
Xamarin Inspector is an extension for Visual Studio and Xamarin Studio, which can attach to a running iOS, Android, Mac or WPF application. It provides a structured look into the current view of the attached application, without pausing its execution with a debugger. You can even modify its properties via a graphical user interface or by executing custom C# code in the application context.
Xamarin Workbooks is an editor and viewer for interactive documents, consisting of rich formatted documentation with live runnable code. This makes it very useful for creating and consuming learning materials, guides and teaching aids. A large selection of workbooks on different Microsoft technologies is already available for download.
Figure 2: C# 6 workbook in Xamarin Workbooks
Remoted iOS Simulator for Windows provides a convenient way for testing and debugging iOS applications from Visual Studio on Windows. Although the simulator still requires a connected Mac machine where the simulator is actually running, you can fully interact with it directly from Windows. It even provides full touchscreen support, including Apple Pencil simulation using a stylus – that is if you have a touchscreen connected to your Windows machine. The simulator does not support Apple Watch devices yet.
Xamarin Profiler is everything you would expect from a profiler for Xamarin based applications. Its three main views allow tracking of memory allocations and footprint, performance tracking with method execution sampling, and tracking of memory cycles that cannot be released and cause memory leaks.
Remoted iOS Simulator and Xamarin Profiler are only available to owners of Visual Studio Enterprise license.
The other large announcement was the preview of Visual Studio Mobile Center. It is the successor to HockeyApp and Xamarin Test Cloud, an integrated cloud service for the complete lifecycle of your mobile applications, providing a wide spectrum of functionalities:
- continuous integration and release management,
- automated testing on devices,
- application distribution to your test users and enterprise users,
- crash reporting and usage metrics,
- backend services for authentication and data storage, with push notifications and more coming in the future.
It currently supports iOS and Android applications written in Objective-C, Swift, Java, Xamarin or Reactive Native. Support for UWP and Cordova applications has already been announced.
Xamarin Test Cloud itself was also improved. It already supported tests written in C# with Xamarin.UITest and in Ruby with Calabash. Now it also supports tests written in Java with Appium.
A stable release of Xamarin.Forms 2.3.3 became available, introducing two noteworthy new features:
- With the help of native view declarations in XAML, you can now create a single declarative XAML file, using a different native view for each of the platforms without additional code. Even data binding to native views works as expected.
<
contentpage.content
> <
ios:uilabel
text
=
"{Binding NativeText}"
view.horizontaloptions
=
"Start"
></
ios:uilabel
> <
androidwidget:textview
text
=
"{Binding NativeText}"
x:arguments
=
"{x:Static formsandroid:Forms.Context}"
></
androidwidget:textview
> <
win:textblock
text
=
"Foo"
></
win:textblock
> </
contentpage.content
>
- Platform specifics are an alternative to custom renderers, when certain behaviors are required for a single platform only. You can consume them using fluent API or XAML.
Visual Studio Tools for Samsung’s Tizen
Tizen is Samsung’s Linux-based open source operating system, used in over 50 million of their devices: smart TVs, wearables, smartphones and IoT devices. At the event, Samsung announced its intention on collaborating with Microsoft to bring .NET Core to ARM devices, and add Tizen support to Xamarin.Forms.
The first preview of Visual Studio Tools for Tizen is already available. It provides an alternative to existing C and HTML 5 based programming models for Tizen. Currently only mobile application development is supported, but other types of devices will follow in the future. All the development is done in C# with.NET Core, Xamarin.Forms for the user interface, and wrappers for many native APIs to access device specific functionalities - everything with full IntelliSense support. Debugging takes advantage of device emulators, which are included in the download.
The official release is planned for 2017, when the .NET Core runtime will also ship to devices.
A Quick Recap
While a lot came out of Connect 2016 this year, here’s a quick recap of some major announcements made:
- Microsoft joins the Linux Foundation as a Platinum member
- Google joins the .NET Foundation
- Samsung releases Visual Studio Tools for Tizen
- Microsoft announces Visual Studio 2017
- Visual Studio 2017 will have cross-platform support
- Microsoft announces Visual Studio for Mac
- Microsoft announces Visual Studio Mobile Center
- Microsoft has the most contributors on GitHub
- SQL Server for Linux is now publicly available. SQL Server 2016 Service Pack 1 available.
- Azure Data Lake Analytics and Store
- Azure Functions and N-Series available now. First Cloud Bot-as-a-Service announced.
Conclusion:
Microsoft continues to offer a great set of benefits and tools for any developer, any app, and any platform. Since the first Connect(); event in 2014, Microsoft has been using it to announce many important development related releases. This year was no exception. From Visual Studio 2017 Release Candidate with “go-live license” and Visual Studio for Mac Preview to new Xamarin tooling and new .NET Core version, there was something of interest for any developer already working with Microsoft tools or technologies. At the same time, as Microsoft expands its focus from Windows to other platforms, these announcements have become increasingly interesting to developers who are not in Microsoft’s ecosystem yet.
The new Microsoft has showed that isn’t afraid of making big bets, and delivering on them. Wake up and Code!
from:http://www.dotnetcurry.com/dotnet/1325/microsoft-developer-what-is-new-connect-2016
What’s Brewing for .NET Developers的更多相关文章
- https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
- PHP开发调试环境配置(基于wampserver+Eclipse for PHP Developers )
1 软件准 WampServer 下载地址:http://www.wampserver.com/en/#download-wrapper 我下的是 里面包含了搭建PHP必须的4个软件: 1. ...
- Eclipse IDE for Java EE Developers 与 Eclipse Classic(Eclipse Standard)区别
Eclipse下载官网:http://www.eclipse.org/downloads/ 版本: 1.Eclipse classic(Eclipse Standard):Eclipse的标准版; 2 ...
- [引] Security tips for web developers
Source :Security tips for web developers
- Eclipse IDE for C/C++ Developers安装配置详解
Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...
- Watch out for these 10 common pitfalls of experienced Java developers & architects--转
原文地址:http://zeroturnaround.com/rebellabs/watch-out-for-these-10-common-pitfalls-of-experienced-java- ...
- Google Developers中国网站
正于北京举办的谷歌开发者大会上,谷歌宣布,Google Developers中国网站 (developers.google.cn) 正式发布! 谷歌表示,Google Developers中国网站是特 ...
- 转:Busy Developers' Guide to HSSF and XSSF Features
Busy Developers' Guide to Features Want to use HSSF and XSSF read and write spreadsheets in a hurry? ...
- eclipse ide for java ee developers 开发环境搭建(j2ee)
转载自:http://www.iteye.com/topic/982182 真的是一片很不错的文章啊! 使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指 ...
随机推荐
- python装饰器@用法
这个是我见过比较好的讲解链接: [廖雪峰的官方网站 - 装饰器]
- react之自定义迷你redux的实现
export function createStore(reducer){ let currentState={} let currentListeners=[] function getState( ...
- 【C++ Primer 第十三章】4. 拷贝控制示例
拷贝控制示例 #include<iostream> #include<string> #include<set> #include<vector> us ...
- OpenLDAP在win2008上安装配置
业务需要,将企业员工信息统一管理,OpenLdap是目录数据库和一套访问协议组成的系统,适合使用,它有以下特点: LDAP的结构用树来表示 C/S模型,Server用户存储数据,Client为操作目录 ...
- CentOS 7命令行安装GNOME、KDE图形界面
https://www.linuxidc.com/Linux/2018-04/152000.htm
- android-getTextSize返回值是以像素(px)为单位的,setTextSize()以sp为单位
使用如下代码时,发现字号不会变大,反而会变小:size = (int) mText.getTextSize() + 1;mText.setTextSize(size);后来发现getTextSize返 ...
- python全栈开发day16-正则表达式和re模块
1.昨日内容回顾 2.正则表达式(re模块是python中和正则表达式相关的模块) 1.作用 1).输入字符串是否符合匹配条件 2).从大段文字中匹配出符合条件的内容 2.字符组 [0-9a-zA-Z ...
- 【Java】 剑指offer(45) 把数组排成最小的数
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接 ...
- Enrolment API
由于Moodle 2.0有一个用户注册的新概念,它们完全独立于角色和功能.能力通常与注册状态结合使用. 什么是注册? 登记的用户可以完全参加一门课程.活跃用户注册允许用户输入课程.只有注册的用户可能是 ...
- Android系统下用js自定义gesture事件(仿ios实现移动端事件一致)
.katex { display: inline-block; text-align: initial; } .katex { font-family: Consolas, Inconsolata, ...