The Latest in Developer Productivity and App Experiences
Whatever the language or platform, developers want the same thing – to create app experiences that are high-quality, intelligent and personalized. Experiences that delight users and keep them engaged. To do that, we need tools that increase our productivity, so that we spend more time on what matters most to our app’s success.
At Connect(); 2017 we are showcasing new tools and services that demonstrate Microsoft’s commitment to developer productivity and incredible app experiences.
Visual Studio App Center – Build, Test, Deploy, Engage, Repeat.
Delivering fantastic app experiences takes more than great authoring tools. You also need to continuously build, test, deploy, and monitor real-world apps usage, and iterate. One option is to stitch together multiple products into a workflow, but maintaining and building connections between these systems introduces risk and costs time, which takes you away from your mission of creating great apps.
That’s why we created App Center, a one-stop service for everything you need to manage your app lifecycle. Just connect your repo to App Center, and within minutes automate your builds, test on real devices in the cloud, distribute apps to beta testers, and monitor real-world usage with crash and analytics data. All in one place. You can use all of App Center or mix-and-match just the services you need.
With App Center, you can:
- Build your apps in the cloud, with every commit or on-demand, without managing build agents
- Test apps on thousands of real iOS and Android devices using XCUITest, Espresso, Appium, and other popular test frameworks
- Distribute your apps to beta testers and users on Android, iOS, Windows, and macOS with every commit or on demand. And when you’re ready, deploy to public app stores or Intune
- Monitor apps for crashes and create automatic work items in your bug tracker
- Analyze user behavior with out-of-the-box reports, custom event tracking, and continuous export to Azure Application Insights for deeper analysis
- Engage your users with push notifications
For a deeper dive on App Center, check out Keith Ballinger’s post on the App Center blog. Or just give it a try – sign up and let us know what you think.
Visual Studio Live Share
Today we also announced that we’re working on a new feature we call Visual Studio Live Share. Getting quick peer feedback and demonstrating your work can be tough. Screen-sharing solutions don’t convey the full context or enable the developers to independently explore the source code or debugger state. If you need to set up an environment or sync a repo to collaborate, you often won’t bother. Calling someone over to your desk is great, but it’s not possible when you work with remote teammates.
With Visual Studio Live Share, you can share the full context of your code with your teammate instantly and securely. Your teammate can edit and debug with you in real-time in their personalized editor or IDE, enabling real-time collaboration. Learn more about Visual Studio Live Share.
Visual Studio Tools for AI
When creating an application, some features are much easier to build when using a special-purpose library, like compressing files or generating a PDF. Making intelligent applications is no different: trained deep-learning models are like libraries you can include in your app to do amazing new things like recognizing objects in pictures, translating speech, and more.
To make it easier for you to infuse AI into your apps, we’ve made Visual Studio a great place to train the models you need and then use them in your application like any other resource. And today we are proud to announce Visual Studio Tools for AI, a free extension that works with Visual Studio 2015 and Visual Studio 2017.
This new extension makes it easy to get started training models using any of the popular deep learning frameworks including TensorFlow, CNTK, Theano, Keras, Caffe2 and more with new VS Project templates. Visual Studio is a great IDE to train your models because it’s so easy to step through and debug the training code. Models are often written with Python and Visual Studio is a powerful Python IDE.
We also integrated TensorBoard monitoring within Visual Studio. You can use TensorBoard to visualize the quality of your model, plot quantitative metrics about the execution of your graph, and show additional data like images that pass through it.
To make you even more productive when training your models, Visual Studio Tools for AI integrates with Azure Batch AI and Azure Machine Learning services, so that you can submit deep learning jobs to Azure GPU VMs, Spark clusters and more. Many developers test their models on smaller data sets on a dev box, and then train against larger datasets in the cloud. And running your code in the cloud doesn’t mean you have any less visibility with the integrated job monitoring in Visual Studio Tools for AI. You can even upload data and download logs and models all from within Visual Studio.
Once training is complete, building intelligent applications in Visual Studio is as easy as putting your trained model in your app just like any other library or resource. Having your model-training code with your app code, using the same process to manage your complete solution helps provide a seamless way to design, build, validate, and deploy your intelligent app end-to-end.
For more details on Visual Studio Tools for AI, check out the extension in the marketplace.
Visual Studio for Mac
The latest Visual Studio for Mac offers something for everyone. For mobile developers, our iOS development experience is smoother, as Visual Studio can now make use of Fastlane to automatically set up your devices for development and manage the provisioning profiles for you. It also fully supports the new iOS 11, tvOS 11 and watchOS 4 APIs. Along with support for the new .NET Core 2, we also have added Docker support allowing your web backends and applications to be deployed directly to Azure App Service from the IDE. And VSTest support gives Visual Studio for Mac developers an integrated experience for a wide array of popular test frameworks, including MSTest and Xunit.
For more details, check out the Visual Studio for Mac release notes.
With .NET Embedding, developers can now turn their .NET Code into native libraries for Android and iOS, which can be integrated into existing codebases written in Swift, Java or Objective-C. And, we are now shipping the Xamarin Live Player as a preview in Visual Studio and Visual Studio for Mac, enabling developers to write code that is updated live as on their device or simulator as they code, changing the way you will develop mobile applications forever.
More details are available on Joseph Hill’s post on the Xamarin blog.
First class Kubernetes support
Building containerized, microservices based apps is difficult. Kubernetes has made it easy to deploy and run containers but you still have to figure out how to work on your code in the context of the overall application. Collaboration with other developers is tricky as they make changes to other microservices in the same app. Visual Studio Connected Environment for AKS enables you to rapidly and safely develop, debug and test your microservices by extending your local dev experience to a Kubernetes based environment on Azure. You get the full experience of working in Visual Studio and Visual Studio Code but you are always working on your code within the context of other microservices that your code supports or depends on.
Learn more on Scott Hanselman’s blog post.
Visual Studio Team Services
We now offer Mac build hosts to build your iOS, Mac, and tvOS applications. We have also delivered a completely new, powerful, command line interface for Visual Studio Team Services.
Check out Brian Harry’s blog for more details.
Join us for the rest of Connect(); 2017 for live-streamed and on-demand technical sessions, as well as hands-on training. There’s never been a better time to be a developer, especially with Microsoft’s developer tools and services helping you at every step of the way.