Needless to say, #MSBuild is the most wanted conference for Microsoft developers. Build 2017 took place in Seattle. I was lucky to take part in the event as an attendee. The event was interesting not only because of announcements. It’s a chance to discuss technical topics with other engineers and get answers on questions directly from Microsoft specialists.
During these days Microsoft announced their focus and shared roadmaps of different projects. From the very beginning, Satya Nadella outlined a new strategy of the company. From mobile-first and cloud-first, Microsoft is moving towards an intelligent edge, inside of which is an intelligent cloud. The company focus is shifting from devices towards where and how people interact with all gadgets they own. Microsoft erases boundaries between platforms and wants to connect people activities together with help of AI and serverless technologies.
Microsoft Intelligent Cloud
Microsoft builds intelligent cloud around its Azure services. New cloud services and serverless computing were presented at the first-day keynote:
- Microsoft Cosmo DB;
- Azure databases for MySQL and PostgreSQL;
- Azure Functions Runtime.
Azure Cosmo DB is distributed, a multi-model database with extensible APIs, easy scale, fast response and high availability.
Azure Functions Runtime is serverless application development tool. You install the runtime at your environment, deploy and launch your serverless functions there. As soon as it’s decided, you can seamlessly move the functions into the cloud. It means you don’t need to manage Microsoft Azure account if would like to try serverless computing. The minimum requirements is a machine with Windows Server 2016 or Windows 10 Creators Update with access to a SQL Server instance.
It’s worth to mention about improvements related to Azure Services management. Scott Hanselman demonstrated new possibilities of Azure Cloud Shell. Azure CLI gives you full control and flexibility. You can create 1000 instances of virtual machines on a fly with only one command. There are apps for iOS and Android to help you to manage and monitor your web-services from anywhere. Azure Cloud Shell is available in the apps also.
Microsoft Intelligent Edge
Since the last two years, Microsoft made a significant progress in artificial intelligence. The company is strong in computer vision, speech and search. They made available these technologies for other developers with Microsoft Artificial Intelligence APIs.
Microsoft intelligent edge or in other words AI platform is presented by cognitive services, bot framework, deep learning and data analytics tools. Cognitive services APIs documentation and code examples are available for the most popular programming languages. The company pays a big attention to customization. With help of new Custom Search, Custom Decision, and Custom Vision services, it’s easy and fast to train your model with any data, and with few clicks, you can utilize the mode through an endpoint.
Conversational AI SDK is the completely open source:
The new features of the bot framework include:
- Channels for Cortana, Bing and Skype;
- Adaptive cards;
- Bot payments and analytics;
- And more.
Adaptive cards is an open source framework. It allows to build a UI widget with a JSON and show it in a communication channel.
If you are curious about Microsoft progress in other AI services, you can try out and experiment with them at Cognitive Services labs portal at very early stage.
There are many good examples how Microsoft helps business move forward with AI. I want to highlight a success story of UBER. It uses Microsoft Face API to identify drivers. Video broadcasting at the conference was powered by Microsoft speech recognition services.
Windows 10 Fall Creators Update
The second day was full of news about Windows, cross-device and cross-platform development. The next significant Windows 10 update is coming in Fall 2017, it’s named Microsoft Fall Creators Update. The new version of Windows includes fluent design, timeline feature, files on-demand, cloud clipboard and new Story Remix application.
Timeline feature gives users cross-device experience. A user can work with an app at his Windows PC, afterward he switches to iPhone and with help of Cortana, continues his interactions within the mobile app from the spot he left it at Windows. It works in both directions. Moreover, If the app is not on his iPhone, Cortana asks to install it from Apple Store. This amazing functionality is powered by Microsoft Graph and Project Rome. At Build, Microsoft announced Project Rome SDK for iOS.
OneDrive files on-demand gives you the possibility to access all your cloud files and folders from File Explorer without downloading them.
Copy from Windows and paste to an iPhone becomes available through Microsoft Swiftkey clipboard.
The new Creators Update also brings iTunes and Ubuntu at Windows 10. Users will be able to install this software directly from the Microsoft Store. Apart of that, Spotify for Windows 10 was promised.
New standards in cross-platform development
Microsoft does big efforts to make Windows home for all developers. They want developers for any platform to have a comprehensive set of tools to build apps. With that said, many announcements were related to cross-platform development.
First of all, they introduced XAML Standard 1.0 and .Net Standard 2.0.
XAML Standard aligns markup syntax, used at Xamarin.Forms and Windows 10. The main idea is to make it possible to re-use Windows 10 pages in Xamarin applications. Once, a TextBlock is defined in Windows 10 page markup, it will behave in the same way at Xamarin.Forms. Feel free to extend the standard specification with your proposal.
Development experience with.Net Core can be painful when you are not able to reference a NuGet package in your project. The current situation is that many NuGet packages are still not available for .Net Core applications, so the development is slow down. Worse, when this fact makes .Net Core as a not desirable technology. Microsoft is aware of this problem and wants to make it’s simpler to build a library, which works on any version of the existing frameworks: .Net Framework. Xamarin & Mono, .Net Core and UWP. The new version of .Net Standard 2.0 extends cross-platform APIs and covers the top 70% of NuGet packages.
Continuous delivery for mobile apps
Solid design and high quality are important factors for successful apps. The diversity of devices increases testing complexity and delays product releases. Health monitoring and analytics keeps an app quality in shape and gives a feedback about the app features usage. Visual Studio Mobile Center is a comprehensive solution for mobile apps testing and monitoring. It contains well known HockeyApp and Xamarin Test Cloud. Eventually, automated build and a full range of Windows devices come to the Mobile Center this fall.
Cross-platform development with Xamarin
The last announcements I want to highlight in the article are my favorites. It’s about cross-platform development with Xamarin.
Xamarin Live Player is an amazing tool. It extremely simplifies development apps using Xamarin and C#. You can change a piece of code when debugging and the changes are immediately applied. Works in the same way as live-reload in Chrome. With the Live Player, you don’t need a Mac anymore to run and test your app on iPhone. It works like a charm, just plug in an iPhone to Windows PC, choose the Live Player option in Visual Studio and that’s it. The tool is available as a preview for Windows and Mac.
Xamarin team presented a new project, the codename is Embeddinator 4000. It is a future of cross-platform development. In two words, you pack .Net code with Embeddinator into a library and utilize the library in a native iOS, Android, Mac or Linux app.
Apart from technical talks, there was a fun part. I traveled with my team mate. It was amazing to test the app we are currently working on at Microsoft devices with a different scale. We checked how the app works on Microsoft Surface Hub and Microsoft Surface Studio. I also tried Stryker software, tailored for a HoloLens device to help people to design operating rooms.
In general, I enjoyed the conference format, content and the way it was organized. Definitely, I will attend it the next year :).