Visual Studio 2015 is an interesting release, one that reflects
changes in both the way Microsoft is building its own apps and in where the
rest of the industry is moving.
I first wrote about
Visual Studio in the 1990s. Over the years I've learned that Microsoft’s
development tooling offers an interesting guide to the way Microsoft thinks
about application development -- and how Redmond is writing code. Visual Studio
2015 in particular shows how serious Microsoft is about supporting new patterns
and practices developers are adopting today.
Openness in practice
Drill into Visual
Studio 2015 and you’ll find tooling for many modern platforms, not only for
Microsoft .Net languages. There’s Python support, Node.js tooling, and
cross-platform mobile support for Apache Cordova .
Microsoft’s open
source .Net Core is also supported, so you can build cross-platform server apps
running on Windows, Linux, and Mac OS. Web applications built with ASP.Net 5 will
use .Net Core, with platform-specific APIs available as downloadable packages.
Because .Net Core itself is granular, you don’t have to download an entire
framework, only the packages you need for your current application.
That
cross-platform approach isn’t for server-side code alone. It’s also for client
applications. Visual Studio now supports development of cross-platform C++
libraries that run on iOS and Android (KitKat and Lollipop). Apps built in
Visual Studio can run natively on both platforms, though you’ll need a Mac to
build iOS code. You don’t need to use Microsoft’s own compiler because Visual
Studio now also supports the popular, open Clang and LLVM compilers, as well as
GCC. Adding the third-party Xamarin tools to Visual Studio gives you support
for more devices, including the Apple Watch.
Bundled templates
simplify building cross-platform apps, and code can be used in Xamarin apps.
Perhaps more usefully, Microsoft provides a set of Android emulators, so you
can debug code without leaving Visual Studio. It’s worth taking advantage of
Visual Studio’s NuGet tooling to download additional tooling for your apps,
including Ionic templates for use with Cordova.
The behemoth extends
Even with the
renaissance of the programmer’s editor, there’s still a role for a heavyweight
IDE like Visual Studio. Projects in Visual Studio can take in all the elements
of a modern application, from multiple mobile devices to IoT endpoints to
microservices to the cloud. Support for Microsoft’s cloud-hosted Visual Studio
Online also means it’s possible to integrate with GitHub and to target multiple
OSes, building iOS and Android apps alongside Windows.
Extensibility
remains an important Visual Studio feature, and with the new Community edition
replacing the older Express versions, independent and hobbyist developers now
get access to the same tooling as Professional and Enterprise developers. That
means they can use NuGet to download add-ons, as well as get access to more of
the debugging and code intelligence built into Visual Studio (including
elements of the new .Net Roslyn compiler).
It’s
not only applications, it’s also the techniques we’re using to build modern
applications. Microservices and APIs are key elements in building scalable
cloud applications. It’s not surprising to see that service developers can use
a NuGet library to work with the Swagger API description language inside Visual
Studio, consuming and creating service descriptions before writing the code
that works with and behind those APIs.
Talking to members
of the Visual Studio product team, it’s clear that cross-platform development
was a key design consideration. It’s a journey that began when Microsoft CEO
Satya Nadella was running the company’s Cloud and Enterprise group, but became
more visible when he took over from Steve Ballmer, branching out from a
relatively narrow ecosystem. Technologies like Cordova and cross-platform C++
are only the visible part of the iceberg. It’s the code that developers are
writing that really matters.
Feeding the IoT
frenzy
There’s also a
bigger picture: the millions of new devices that need code. The Internet of
things is a huge opportunity for developers and for good development tooling,
as hardware and software transition from maker hacks to full-blown products.
A few weeks ago, at Maker Faire in San Mateo , we were hearing
about go-to-market processes for hardware from silicon vendors. With the
IoT tooling in Visual Studio 2015, Microsoft aims to provide a similar path for
software, with recent announcements, including a partnership with connected
hardware vendor Particle.
As John Montgomery,
partner director of program management in the Microsoft Developer Division,
points out, the difficulty lies in getting the services IoT devices need to run
at scale. For one thing, architectural issues arise, especially when working
with devices that use gateways. By providing an open development environment
that works from cloud to device, Montgomery thinks that Visual Studio can help
close gaps, supporting relatively dumb things with rich protocols to deliver
data to services.
There’s a lot to
like in this latest Visual Studio. It’s clear that Microsoft is using it to
push developers toward building more modern applications, with support for
cloud-centric design patterns and for cross-platform mobile endpoints for
applications and services. If Visual Studio 2015 really indicates the next few
years of developer thinking at Microsoft, we’re in for a very interesting time.
No comments:
Post a Comment