Last week Microsoft held their large annual developer conference Connect(); It's all about productivity and making a developer's life easier. Let's dig in!
Visual Studio Live Share
When people think of peer programming they mostly think of two people sitting at the one computer. But Visual Studio Live Share (for both Visual Studio 2017 and Visual Studio Code) brings the peer programming theme to a world of remote work, allowing peer programming to collaborate on one piece of code from two different computers.
More than just screen sharing where there is just one caret and one person in charge of typing, Live Share has to live carets that each person controls independently. Further, each person has their own editor setup, with their own theme and keyboard layouts - just the code is shared.
Another point that sets it apart is the sharing of debugging sessions - each person can debug the same running code, inspecting variables and setting breakpoints independently.
I'm actually thinking this will be useful around the office for a quick collaboration on the one piece of code. I have been known to set up a second keyboard and mouse for serious peer programming power, but ran into issues with only one caret and mouse cursor. These problems are solved, and now we can sit next to each other on separate computers and write the same code together!
Visual Studio App Center
Building mobile apps is a pain. Having a modern development life-cycle from Dev to Prod like we enjoy with websites is a lot harder to achieve. Enter Visual Studio App Center - Microsoft's attempt to being various mobile app development services together in one place.
Having the build tools to compile apps for both Android and iOS has been a big pain in the past (what if you don't have a Mac??) and required many manual steps. With Visual Studio App Center you get managed Continuous Integration builds for your code for every change. You can then push those changes to test tools like Appium, giving you cloud based automated UI testing. Finally you can have automated deployments to Apple’s App Store and Google Play - without having to navigate through their terrible deployment web sites.
It has support for Xamarin and React Native, with the notable omission of Apache Cordova. It looks like Hybrid is on the way out in favour of cross platform native tools.
Azure DevOps Projects
When starting a new project people would often think of File... New or your favourite framework's 'new' from the command line. But with all the different pieces of a modern software project this doesn't quite get you all the way from dev to deployed and beyond.
By starting with Azure DevOps Projects Microsoft hopes you will use their templates for starting with all the common pieces for modern Cloud/DevOps architecture. You select either a new app (they will provide a git repo) or an existing code base, what framework you run (eg. .Net or Node) and whether to use an Azure Web App or Containers. You then essentially get all the Azure resources you need, a Visual Studio Team Services account for full CI/CD and Application Insights.
It seems like a quick easy way to get started with the larger picture in mind, and with further enhancements like adding a SQL database and Authentication to the mix it could be a very fast way to get up and running.
SQL Operations Studio
Just like we have the lightweight Visual Studio Code as an alternative to Visual Studio proper, we now have SQL Operation Studio as an alternative to SQL Server Management Studio (SSMS). In fact, it looks almost exactly the same as Visual Studio Code, which isn't surprising as they are both based on the cross platform Electron framework.
I personally think that SSMS has a terrible user interface that hasn't been updated in years and years and only works well once you have RedGate's SQL Prompt. The time is ripe for a fresh new SQL development experience, and I'm hoping SQL Operations Studio is it. Given how well Visual Studio Code has done this is quite possible. Key factors here will be support for multiple database providers (currently just SQL Server but with PostgreSQL on the horizon), the extension eco system and listening to community feedback.
It's a little raw at the moment but with frequent updates I'm hoping this will be my go-to for SQL work in the near future.