Until recently, it was out of the question that Microsoft would cooperate with the Open-source community. Today, this situation has changed radically, and so it came as no surprise that the TechDays programme contained many sessions on open-source topics. What has changed? And will this relationship last?
This year, the Microsoft TechDays programme covered an impressive number of topics. The sessions that caught my interest in particular centred on the following:
• Microservices (including bus technologies)
• Open source software (Angular2, JS tools)
• New .Net features (e.g. C# 7, .Net Core and ASP.Net Core)
In addition to the regular Microsoft fare like .Net, Azure and DevOps, the TechDays programme covered topics not specifically relating to Microsoft, like front-end technology, the IoT, SCRUM, open-source software and robotics.
In order to keep this article concise, it is part of a series of three separate articles. This is the second part, about open-source software.
A few years ago, Microsoft viewed the open-source community as ‘the enemy’. Making the .Net source code available on the internet was out of the question, and the concept of free software was not in line with Microsoft’s company policy.
Another pleasant surprise was the introduction of the Bash shell on Windows 10, as mentioned by Jeff Burtoft. For example, if you prefer to use the Git Command Line Interface you will need a UNIX-based shell. You could use CygWin if you like, but Windows 10 now provides another solution. This also makes it possible to use a wide range of Linux-based tools without having to run Linux on your device. The Bash shell is turned off by default, but it’s available as a Windows feature and it’s quite easy to turn on. If you would like to know how, read this helpful step by step guide.
A topic that is likely to draw a lot of attention is AngularJS (one of my favourite frameworks). This September saw the release of version 2.0, which is completely different from the Angular 1.x releases, as Patrick Schmidt explained in his session.
Angular2 is much faster than Angular 1.x because of how the components operate and the more efficient solution for binding data. What’s more, Angular 2 supports features like ‘lazy loading’ and ‘Ahead of Time Compilation’, which speeds up page loading.
There is an abundance of open-source tools for code analysis, package management, bundling and many other tasks. In his session, Maurice de Beijer gave a great overview of the most popular tools and frameworks, organising these by the type of task they perform, such as task runners or online editors.
To find out more about the frameworks and tools he mentioned, I recommend you take a look at the recording of his session on channel 9 (see below). I will just mention a few good ones, like Chai, which is used to improve your unit test assertions. So, instead of writing:
you can write:
In addition to expectations, Chai also supports other styles for determining test results, such as ‘assert’ and ‘should’.
Many tools are available for every need, so the choice is yours!
Any set of actions you would like to run can be scripted using Gulp in the form of gulp tasks. In the Task Runner Explorer in Visual Studio, you can bind gulp tasks to one of four Visual Studio actions: ’Project Open’, ’Before Build’, ’After Build’ and ’Clean’ (clean solution). The Task Runner Explorer is available as the NPM task runner extension or as part of the Microsoft ASP.NET and Web Tools extension.
This makes it possible to clean up old files (*.css / *.min.css / *.js.map / *.js / *.min.js), transpile your LESS and TypeScript files, minify the resulting files, bundle them, start a Karma test run using PhantomJS and generate a Chai assert test report – all by starting the build of your solution (in Visual Studio)? In my view, this is the ultimate proof that Microsoft has opened its arms to the open-source community!
The recordings of the sessions about open-source software are available on Channel9:
• Jeff Burtoft: State of the Union - Client technologies
• Patrick Schmidt: Introduction to Angular2
• Maurice de Beijer: Tooling for the productive front end developer
Part 1 of this blog
Microservices, a small step or a giant leap?
17 en 18 mei 2017 Praktische tweedaagse workshop met internationaal gerenommeerde spreker Alec Sharp over herkennen, beschrijven en ontwerpen van business processen. De workshop wordt ondersteund met praktijkvoorbeelden en duidelijke, herbruikbare r...
1 juni 2017 Iedere organisatie heeft te maken met het integreren van systemen en applicaties. Maar welke technologie zet u in bij welke vorm van integratie? Guy Crets bespreekt de verschillende oplossingen voor integratie. Integratie van IT-sys...
13 t/m 15 juni 2017Driedaagse workshop over requirements management door James Archer. Opstellen, testen en ondubbelzinnig vastleggen van requirements. Unieke driedaagse workshop over requirements management op basis van de Volere methodiek door Jame...