Op de tweede dag van Build wordt de keynote gestart door Scott Guthrie, verantwoordelijk voor alle cloud business van Microsoft. Hij begint te schetsen hoe groot deze operatie is, Microsoft heeft meer datacenter locaties dan de belangrijkste concurrenten Amazon en Google samen, en Microsoft richt zich vanaf de basis op bedrijven en organisaties.
Dan komt het onderwerp op de overname van Xamarin. In een video wordt getoond hoe Slack, Pinterest, en een aantal andere bekende bedrijven Xamarin gebruikt om crossplatform native apps te ontwikkelen en te testen. Scott Guthrie introduceert Miguel de Icaza, de oprichter van Xamarin. Hij maakt als demo een kleine iOS app, met label en een kaart, en laat zien wat Xamarin in de basis is.
Dan komt de vraag die iedereen beantwoord wil zien: Wordt Xamarin gratis? Antwoord: Ja! Niet alleen bij Visual Studio Enterprise, maar ook bij Visual Studio Professional en zelfs de gratis Community versie. En als volgende aankondiging is het dan ook niet meer dan logisch dat Xamarin ook geheel open source gemaakt zal worden. Daarmee kan het open source .NET platform nu alle belangrijke platforms targetten: Windows, OSX, Linux, iOS en Android.
Samen met Hockeyapp beschikt Microsoft nu ook over een complete oplossing voor het werkproces van mobile development: Visual Studio services als basis voor sourcecode control, TFS build om applicaties te bouwen en unit-testen, Xamarin Test Cloud voor integratietests en Hockeyapp voor deployment naar testgebruikers.
Azure Functions
Guthrie komt met nog een aankondiging: Azure Functions. Dit lijkt een antwoord op AWS Lambda: een manier om micro services te ontwikkelen en hosten, als logische eenheid, zonder te hoeven nadenken over server instances. Azure doet alle loadbalancing, en kan een service zelfs uitzetten als er geen werk is zodat er geen kosten gemaakt worden.
Age of Ascend
Dan komt Scott Hanselmann op het podium, en hij gaat praten over een game die nog in ontwikkeling is: Age of Ascend (AoA). Dit is een massief schaalbare game, die draait in de browser. In de game kunnen tienduizenden spelers ruimtegevechten houden met elkaar, in één gigantisch speelveld. De maximum capaciteit tot nu toe getest was 293 miljoen messages per second. De game wordt ontwikkeld door een startup. Het wordt gemaakt in .NET Core en gebruikt Azure Fabric. Het team dat AoA ontwikkeld heeft veel bijgedragen aan de performance verbeteringen in Kestrel, de ASP.NET Core webserver. Het kan nu meer dan een miljoen requests per seconde verwerken op één server, en is daarmee nu zes maal zo snel als node. Age of Ascend gebruikt voor het managen van state Azure Service Fabric, en dit gaat officieel in productie. Service Fabric kan ook draaien op andere clouds.
DocumentDB krijgt ook een aantal updates. De prijs, (die vrij hoog was), wordt verlaagd. De scale-out features zijn verbeterd, met data distributie naar meerdere datacenters. Het krijgt ook api-compatibiliteit voor MongoDB, wat zeer interessant is voor bestaande oplossingen die gebruik maken van MongoDB, zoals Sitecore.
Nu komt het onderwerp op Analitics en reporting. Lara Rubbelke geeft een demo. PowerBI is nu beschikbaar als service in Azure. Het kan nu dus gebruikt worden als onderdeel van een eigen web applicatie, een belangrijke feature. Ze benadrukt dat Azure de enige cloud is met een service voor rapportage.
Office 365
De volgende spreker is Qi Lu, hoofd van de productivity services unit en dus van Office 365. Productivity toepassingen zijn snel aan het verplaatsen naar de cloud, er komen nieuwe ‘experiences’ op mobile, en er moet een nieuw ecosysteem ontstaan rond het moderne productivity platform. De opportunity voor developers is groot: 1,2 miljard gebruikers van Office, 340 miljoen gebruikers van mobiele office apps, vijftigduizend nieuwe mkbklanten per maand, 4T e-mails verzonden tot op heden, en 420 ptocent maandelijkse groei in Graph api calls.
Het is mogelijk op verschillende manieren Office uit te breiden en data uit Office te integreren in je eigen apps.
- Office Services gebruiken in je eigen apps. De Microsoft Graph api maakt het mogelijk om Office data te lezen en aan te passen. In de demo wordt een afspraak in de agenda geplaatst via een Graph api call.
- Een Microsoft Office app uitbreiden met een eigen service, als add-in, met hulp van web-technologie. Er zijn nieuwe Visual Studio template-projecten voor add-ins voor Word, Excel, Outlook en Powerpoint. In een demo wordt een Excel plug-in gemaakt die een panel toevoegt, een button in de Ribbon en ‘Hello World’ kan plaatsen in alle geselecteerde cellen. Een meer geavanceerd voorbeeld laat iemand meerdere beschikbare tijden prikken in de agenda en die opnemen als voorstellen in een email.
- Office Connectors.
Conversations as a platform
Het onderwerp van de Azure Bot Service wordt opnieuw belicht. Waarom is dit nieuwe platform nodig? Het antwoord is niet moeilijk: gebruik van web toepassingen is beperkt op mobile, uit onderzoek blijkt dat minder dan 15 procent van de tijd op een smartphone besteedt wordt in de browser. App gebruik is beter, maar mensen willen niet voor iedere dienst een nieuwe app installeren. Deze uitdaging kan vaak beantwoord worden met een bot: een virtueel contact in een bestaande chatapplicatie. Chatapps worden zeer veel gebruikt op smartphone, en menselijke taal is een interactiepatroon dat iedere gebruiker snapt. Bijna iedere toepassing kan de vorm van een chatbot aannemen.
.NET en C#
De middag besteed ik grotendeels aan een serie van drie presentaties over .NET en C#, gegeven door onder andere Scott Hanselmann. Dit zijn erg interessante en leuke presentaties, waarin een goed inzicht wordt gegeven waar de Microsoft Developer Division (DevDiv) mee bezig is: het maken van het meest aantrekkelijke developer platform voor alle types applicaties. Iedere taal, en ieder platform. Volgens een jaarlijkse stackoverflow enquête is de C# taal van de ‘mainstream’ talen al het meest geliefd, en Microsoft probeert de snelheid van innovatie in het platform vrij hoog te houden om dat zo te houden. Met de Roslyn ‘Compiler-As-a-Service’ is het ook mogelijk om snel te innoveren en de innovaties ook te ondersteunen in het groeiende .NET-ecosysteem.
In de volgende versie van C#, versie 7, wordt een aantal populaire features van andere talen geïntroduceerd in C#, zoals tuples (uit Go en functionele talen), pattern matching en nested functies (JavaScript), en aanpasbare coding standaarden. Dit zijn goede en incrementele toevoegingen; ik denk dat C# momenteel de meest complete programmeertaal is.
Apt-get install [linux-package] (op Windows!)
Eerder schreef ik al over het nieuwe Linux subsysteem dat in Windows komt. Daar heb ik nu wat meer van gezien en ik ben nog steeds erg enthousiast. Voor ontwikkelaars is het super handig om lokaal te kunnen werken met software zoals Redis en Node, maar dit zijn oorspronkelijk Linux server pakketten, en de Windows versie is vaak minder goed getest of loopt achter. Met de komende versie van Windows 10 wordt het mogelijk dit soort pakketten direct uit Linux repositories te installeren, met hulp van Linux tools zoals bash en apt-get. Windows krijgt een nieuw subsysteem dat deze pakketten binair kan uitvoeren, dus zonder virtualisatie en op volle snelheid. Ik denk dat de volledige impact van deze feature nog niet helemaal duidelijk is, maar ik denk dat Microsoft langs deze weg nog leuke dingen kan doen. De vraag wanneer Microsoft een eigen Linux distributie gaat uitbrengen is in ieder geval beantwoord: de naam van die distributie is Windows 10!