Visual Studio Toolbox
Top 7 2014 Dev Tool Releases You Should Know About
It's been a great year for new development tools and technologies. We look back at seven releases that didn't get all the attention they deserve.
- By Terrence Dorsey
It's that time of year again, when we often try to wrap up projects, take stock of what we've accomplished so far, and plan ahead for the new challenges 2015 will bring.
On the subject of taking stock, I thought it would be a good idea to look back at some of the most important, most interesting tools and technologies released over the past 12 months that might have been overlooked. You'll find a grab bag of different tools here -- there's there no real theme other than handy utilities and big releases that haven't been highlighted here yet.
So let's jump right in.
Sysinternals Sysmon 1
Yeah, that's right, Sysinternals. Mark Russinovich and Bryce Cogswell have been creating must-have utilities for system administration and troubleshooting since … well, longer than most of us want to admit using them. While not expressly development tools, I know precious few programmers working on Windows systems who don't regularly turn to classic Sysinternals utilities to get the job done.
And why do I bring up Sysinternals here, in a 2014 year-end wrap up? Because for the first time in several years, Mark (along with Thomas Garnier) has released an entirely new tool, Sysmon (System Monitor). 1
Sysmon is a service you install and that remains resident across system reboots. It uses Windows Event Collection or SIEM agents to monitor systems, logging data that potentially lets you identify and diagnose system intrusions, malware and other strange activity.
To learn more, tune into Defrag Tools #108 on Channel 9, where Mark and Thomas give Andrew Richards a demonstration of Sysmon's capabilities. For a deeper InfoSec look at this new utility an action, see Lenny Zeltser's experience "Using Sysinternals System Monitor (Sysmon) in a Malware Analysis Lab" on the SANS Digital Forensics and Incident Response Blog as well as Carlos Perez's in-depth review, "Sysinternals New Tool Sysmon (System Monitor)."
For the youngsters out there who don't know Mark's Windows security bona fides, it's worth a trip through the WAYBAK machine to RootkitRevealer and the discovery that Sony was using a rootkit as a secret DRM measure for interactive CDs back in 2005, as explained in the classic blog post "Sony, Rootkits and Digital Rights Management Gone Too Far."
Xamarin 3, Xamarin Designer for iOS and Xamarin Insights
This one's not a secret, but definitely worth highlighting: the folks at Xamarin had a huge release with Xamarin 3, their development platform that enables you to create native Android, iOS, Mac and Windows apps with C#. As they say, "Anything you can do in Objective-C, Swift or Java, you can do in C#" with Xamarin's tools.
The new Xamarin Designer for iOS, which gives you a graphical Storyboard editor in the IDE, is one marquee feature of the release. But perhaps of more import in the long term is Xamarin.Forms, a UI control library that helps you better create cross-platform user interfaces from a single C# codebase. Our own Wallace McClure provides a great overview in his post "Simplifying Cross-Platform Mobile App Development with Xamarin.Forms" here at Visual Studio Magazine. For a deeper example, check out Scott Hanselman's post "Xamarin.Forms - Write Once, Run Everywhere, AND Be Native?"
But that's not all. This fall, Xamarin also announced Xamarin Insights " Real-time Monitoring for Your Apps" and Xamarin Test Cloud, shown in Figure 1, a cloud-based mobile application test service that lets you test your app on pretty much every widely available device and mobile OS combination available today.
For some insights on the potential for cloud testing of your apps, Paul Pezzano offers "5 Things You Should Know About Mobile Testing with Xamarin Test Cloud," starting with this great insight: "You might be surprised to know that it takes up to 134 devices and configurations to get 75% US market coverage." And for fun, check out this Xamarin Test Cloud mini hack repository on GitHub for some actual testing code in action.
Docker is an open-source platform for building and running lightweight, containerized, resource-isolated application servers within a single Linux instance. It's all the rage among my colleagues at the moment because, rather than configuring and sharing Chef or Puppet configurations to build a reproducible server setup, you can share the actual Docker container directly and duplicate a container as many times as possible.
Now, thanks to the folks at Microsoft Open Technologies, Docker will be supported on Windows Server and Microsoft Azure along with Kubernetes for Microsoft Azure. Kupernetes is an open-source Docker cluster manager project founded by Google.
This is a pretty recent announcement and full support is still under development. However, just a few weeks ago at TechEd Europe, Mark Russinovich gave a Windows Docker Client Demo showing Docker in Linux containers on Azure. Dig into that article not only for the demo video, but also details on using the Docker VM Extension with the Azure Portal.
Azure Projects on GitHub
Speaking of Azure, did you notice the "Contribute to this article" message with the cute Octocat at the bottom of each documentation page, shown in Figure 2?
Turns out, the Azure team is hosting tons of projects in the Microsoft Azure space on GitHub, including all of the documentation in a project called azure-content.
Guy Burstein explains that "Contributions to Azure documentation and SDK's on GitHub just got simpler" over on the Microsoft Azure Blog. It's not quite as simple as forking the project and submitting a pull request, but the team created an Azure Pull Request Bot that evaluates whether you need a Contribution License Agreement (CLA), lets you sign the agreement online if necessary, and kicks off any further discussion needed.
So, whether you want to fix a bug, contribute new features or extend the documentation, it's a lot easier than it's ever been to give back to the community.
Installer Projects Extension for Visual Studio 2013
As Keith Ward explained in "Microsoft Re-Installs Visual Studio Installer," the popular Visual Studio 2010 Installer projects functionality is back as the Microsoft Visual Studio Installer Projects extension for Visual Studio 2013 (see Figure 3).
For some background on the project and a quick walkthrough of the extension, read through Tony Goodhew's "Visual Studio Installer Projects Extension" post on The Visual Studio Blog. Visual Studio MVP Tarun Arora has a short "Hello World Installer" tutorial for the new extension to get you up to speed as well.
Of course, the InstallShield and WiX installer options are still available, too.
So, not much of a theme for the tool highlights this month, but I hope you'll agree they were worth taking a look back. And going forward into 2015, I'll definitely be keeping an eye on new announcements like Docker and Kubernetes support from Microsoft Open Technologies. Watch this space for news!
Terrence Dorsey is a technical writer, editor and content strategist specializing in technology and software development. Over the last 25-plus years he has worked on developer-focused projects at ESPN, The Code Project, and Microsoft. Read his blog at http://terrencedorsey.com or follow @tpdorsey on Twitter.