Met de komst van Office 2013 en Sharepoint 2013 is er voor de developer weer een interessante mogelijkheid bij gekomen: Het bouwen van Apps! De andere Buzz Words van de laatste tijd zijn toch wel “Cloud” en “HTML5”. En dat komt allemaal samen op deze plek. Laten we maar eens gaan kijken wat het in houdt binnen Office en Sharepoint.

Met de komst van Office 2013 en Sharepoint 2013 is er voor de developer weer een interessante mogelijkheid bij gekomen: Het bouwen van Apps! De andere Buzz Words van de laatste tijd zijn toch wel “Cloud” en “HTML5”. En dat komt allemaal samen op deze plek. Laten we maar eens gaan kijken wat het in houdt binnen Office en Sharepoint.

Sharepoint 2013 Apps

Laten we eerst eens kijken naar Apps voor Sharepoint 2013. Ten eerste zijn er een aantal interessante mogelijkheden voor developers. Net als bij de Windows Store kun je je Sharepoint Apps gratis, of voor geld aanbieden in een App store. Dit betekend dat als jij iets moois bedacht heb voor in Sharepoint, dat je op een makkelijke manier dit kunt aanbieden over de hele wereld en dat je je niet druk hoeft te maken over (bij)zaken als deployment.
Daarnaast is het voor beheerders ook een interessante ontwikkeling. De apps zijn namelijk gebouwd in HTML5 (en Javascript) en draaien op de Client en niet de server. Dit betekend dat er geen extra capaciteit nodig is op de server, of er nu 1 of 200 verschillende apps draaien bij de eindgebruiker. Daarnaast zijn je servers veilig voor alle features (lees: bugs) die developers gemaakt hebben. Als de app de omgeving instabiel zou maken, dan is dat de client en niet de server. En aangezien de beheerder zeker is dat Apps zijn omgeving niet stuk kunnen maken, is deployment een stuk relaxter. Ook voor Office 2013 zijn vergelijkbare argumenten te noemen.

De Cloud

Office 2013 is er om geïnstalleerd te worden op de client, maar daarnaast is er ook Office 365 waarbij je Office Applicaties (zoals Word, Excel en Outlook) op de servers van Microsoft draaien (Cloud). Apps die je bouwt voor Office zijn voor beide situaties in te zetten. Dus de gebruiker kan zijn Apps altijd en overal gebruiken.
Zelfs het ontwikkelen van je apps kun je via je browser doen. Deze online developer tools noemen ze NAPA. Je kunt inloggen met je Developer account en dan ben je instaat Apps te ontwikkelen.
Office Apps overzicht in de browser
Je krijgt een overzicht van de apps die ontwikkeld hebt, of waaraan je aan het ontwikkelen bent. Als je kiest voor “Add new project” krijg je de vraag hoe de app moet heten en wat het type is.
Daarna krijg je het scherm hieronder te zien.
Office Apps ontwikkelen via de browser
Je ziet de HTML 5 code en kunt hier aanpassingen aan doen. In dit voorbeeld zie je 2 buttons, een tekstveld en een tekstje “Hello Word!” dat ik toe heb gevoegd. Waar moet je anders mee beginnen?
Office Apps met de browser editor
Daarnaast heb je de mogelijkheid om Javascript code te gebruiken. In dit voorbeeld zie je 2 methodes (getData en setData). Deze methodes worden aangeroepen door de eventhandlers van de 2 buttons. Deze evenhandlers zie je bovenaan in de code. Het dollar-teken verraad dat je ook JQuery kunt gebruiken. Bij de setData methode wordt de huidige selectie van het document gevuld met de tekst uit de textbox (van onze app) en het tegenover gestelde gebeurt bij de getData functie.
Office Apps getDate en setData
Het resultaat zie je hierboven. De App draait binnen Excel (in Office 365) en de tekst in de textbox wordt in de geselecteerde cel geladen.
Uiteraard kun je meer bestanden toevoegen en ingewikkeldere code maken dan het bovenstaande voorbeeld. Je kunt via Ajax-calls communiceren met een webserver bijvoorbeeld.
Office Apps Ajax Calls
Apps zijn herbruikbaar binnen de verschillende applicaties. Dus deze app kan ook werken binnen Word.
Office Apps binnen Microsoft Word
Deze online omgeving (NAPA) is een prima tool om in te werken, maar als je Visual Studio gewend bent, dan is het toch wat minder. Daarom is er gelukkig een mogelijkheid om het project te exporteren naar Visual Studio.
Office Apps exporteren naar Visual Studio

Office 2013

De apps zijn dus uitwisselbaar tussen Office 365 en Office 2013 en ook nog eens tussen de verschillende applicaties. Hierboven zag je de app in Office 365. Hieronder zie je het proces van de app toevoegen en gebruiken in Office 2013.
De App is toe te voegen via de store, maar je kun als bedrijf ook een Share aanmaken op je netwerk en daar je “bedrijfs apps” op plaatsen. In Office kun je aangeven dat deze share “Trusted” is.
Office Apps binnen je bedrijf Sharen als Bedrijfsapps
Daarna kun je de apps op deze share toevoegen via de “Apps for Office” knop in het lint. Daar staan de laatst gebruike apps, maar je kun ook kiezen voor “See All”.
Alle Office Apps bekijken binnen Microsoft Word
Vervolgens kies je de app uit de store of op de share.
Office App Store of Share
Hier zie je dat de app in Word én Excel gebruikt kan worden.
Office Apps binnen Microsoft Word Office Apps binnen Microsoft Excel
Het hosten van een App op een share is natuurlijk alleen interessant in een bedrijfsnetwerk, waarbij je een Office App gemaakt hebt die alleen binnen dat netwerk gebruikt moet worden. Wil je de App aanbieden via de store, dan moet deze op het internet gehost worden. Microsoft biedt de mogelijkheid tot “Auto hosted” apps. Dit betekend feitelijk dat apps op Windows Azure staan. Azure is dé oplossing als je behoefte hebt aan grote schaalbaarheid (veel servers) en elasticiteit (het gebruik van je app kan varieren van 1 gebruiker tot een paar miljoen gebruikers) gebruikers. Mocht dit niet het geval dan is het waarschijnlijk iets goedkoper om zelf te hosten. Dit kan gewoon via een virtual directory in IIS.

Outlook

In dit voorbeeld heb je een Office App gezien. Voor Sharepoint zijn er weer wat andere mogelijkheden (bijvoorbeeld een soort webpart maken of een contentpage). Ook Outlook heeft een iets afwijkend model. Waar de Word , Excel, Powerpoint en Project werken met apps in de “Taskpane” aan de linker kant, zullen apps voor Outlook in een venster boven je mail-bericht verschijnen. Tevens zal zo’n app niet starten door op een knop in het lint te klikken, maar naar aanleiding van de inhoud van je email. Je kunt je app laten activeren als er in de mail bijvoorbeeld een adres, telefoonnummer, email, contact of afspraak herkend wordt. Daarnaast kun je je eigen activatie regel instellen d.m.v. regular expressions. Denk hierbij bijvoorbeeld aan een klantnummer dat herkend kan worden door een bepaalde stuctuur. Als je Outlook een dergelijk nummer terug vindt in een mail, wordt je App geactiveerd en toont bijvoorbeeld direct bijbehorende factuur gegevens of iets dergelijks.

Bedenkingen

Een aantal zaken waarover ik nog wel twijfel: De belangrijkste is hosting. In tegenstelling tot Windows 8 apps, die in de Store worden opgeslagen en geïnstalleerd worden op de client, draaien Office 2013 apps vanaf een website. Die je zelf (als uitgever van de App) moet hosten. Dat betekend dat je altijd aan kosten verbonden bent. Gratis apps worden daarbij toch lastig realiseerbaar. Daarnaast controleert Microsoft de apps zodra deze worden aangeboden in de store. Daarna niet meer. Mocht de leverancier iets aan de code aanpassen….. tja… dat stukje vertrouwen is dan toch minder. Ik verwacht dat Office en Sharepoint apps een interessante mogelijk worden, maar dat Microsoft nog hier en daar wat moet bijschaven om het nog beter inzetbaar te maken (zeker voor Office 2013).
Gelukkig hebben zo ook aangegeven dat alles nog volop in ontwikkeling is en dat elke paar maanden updates verschijnen met diverse verbeteringen!