MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

56
MsCodersCamp 2014 Colaboran: #MsCodersCamp2014 Cloud SharePoint Online: Desarrolla tus apps en la nube

description

Presentación sobre desarrollo de apps para Office 365. Hice esta presentación en el MsCodersCamp junto a mi compañero Iván Gómez Rodríguez. Los temas que se tratan son: - Introducción a Office 365 - Nuevo modelo de desarrollo de SharePoint 2013 - Las nuevas API cliente de SharePoint - Apps de Office y SharePoint - Conceptos básicos al desarrollar apps - Laboratorio - La tienda de Office - Desarrollo de apps de Windows Phone para SharePoint Online

Transcript of MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

Page 1: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

MsCodersCamp2014

Colaboran:

#MsCodersCamp2014

Cloud

SharePoint Online: Desarrolla tus apps en la nube

Page 2: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

MsCodersCamp2014

#MsCodersCamp2014

Miguel Tabera

SharePoint MVP

Beezy | Spenta

www.sinsharepointnohayparaiso.com

@migueltabera

Iván Gómez

.NET Developer

Beezy | Spenta

www.blogmup.net

@ivangomezrod

Page 3: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

MsCodersCamp2014

Cloud

SharePoint Online: desarrolla tus apps en la nube

Page 4: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Hoy veremos…

• Office 365: SharePoint 2013 en la nube

• Introducción al nuevo modelo de desarrollo en SharePoint 2013

• Las nuevas API cliente (C#, JavaScript y REST)

• Apps de Office y SharePoint• Tipos de app• Beneficios por usar apps

• Conceptos básicos al desarrollar apps

• Laboratorio: todos a desarrollar apps

• La tienda de Office

• Desarrollo fácil de apps de Windows Phone para SharePoint Online

Page 5: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Office 365: SharePoint 2013 en la nube

Page 6: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Office 365: Office en la nube

+ + + =

Page 7: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Un único lugar, todo Office

Page 8: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

¿Qué incluye SharePoint Online?

Page 9: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

¿Qué no incluye SharePoint Online?

• Algunos servicios de BI• PerformancePoint

• PowerPivot

• Reporting Services

• Analysys Services

• Desarrollo de soluciones servidor

• Word automation services

• Otras pequeñas características en los distintos servicios

Page 10: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Un paseo rápido

Demo

Page 11: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Introducción al nuevo modelo de desarrollo de SharePoint 2013

Page 12: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

La visión de Microsoft: modernizar la plataforma

Page 13: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

El resultado: un nuevo modelo de apps basadas en la nube

Page 14: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Las nuevas API cliente de SharePoint

Page 15: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Las tres API cliente

• Client-side object model (CSOM)• Para aplicaciones que usen C#.

• Para aplicaciones Silverlight y Windows Phone.

• Javascript object model (JSOM)• Muy sencillo para aplicaciones web y JavaScript de Windows 8.

• Útil para desarrollar apps de SharePoint para otras plataformas (Android, iOS…)

• REST• API independiente de la plataforma basada en estándares como

OAuth y OData.

Page 16: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Resto de APIs

• Combinando las tres API cliente con el resto de API se pueden desarrollar las distintas soluciones

Page 17: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Ayuda y referencias de las API

• Reference for SharePoint 2013 APIs (Server, CSOM, JavaScript)• http://msdn.microsoft.com/en-us/library/jj193038.aspx

• How to: Complete basic operations using SharePoint 2013 client library code• http://msdn.microsoft.com/en-us/library/fp179912.aspx

• How to: Complete basic operations using JavaScript library code in SP 2013• http://msdn.microsoft.com/en-us/library/jj163201.aspx

• How to: Complete basic operations using SharePoint 2013 REST endpoints• http://msdn.microsoft.com/en-us/library/jj164022.aspx

Page 18: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Apps de Office y SharePoint

Page 19: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

¿Qué es una app de SharePoint?

• Aplicaciones independientes que se integran con SharePoint mediante APIs cliente (CSOM, JavasCript, REST)

• Diseñadas para no ensuciar ni cargar la granja de SharePoint

• Las apps no residen en SharePoint

• Desaparición paulatina del modelo tradicional de desarrollo

• Código cliente

• Centradas en escenarios concretos• Petición de vacaciones• Registro a eventos• …

Page 20: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Cambio filosófico

• Suponen un cambio filosófico en SharePoint.

• Ahora todo son apps

• Pensar en las app de móvil Funcionalidades concretas bastante independientes

Page 21: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Beneficios

• No se despliega código personalizado en el servidor SharePoint• Migraciones futuras más sencillas

• Funcionan tanto en SharePoint Online como en SharePoint Server

• Reduce la rampa de aprendizaje• No es tan necesario conocer muchos conceptos de SharePoint

• Se puede usar HTML5, JavaScript y REST si no se conoce .NET

• Las apps pueden residir en servidores externos con diferentes tecnologías

• Permite hacer muchas más cosas que con las tradicionales webparts, controles, etc.

Page 22: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Las app se integran en SharePoint

Page 23: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Apps para Office

• Word, Excel, Project, PowerPoint y Outlook también pueden tener apps

• Filosofía similar: HTML5 + JavaScript

• Concepto Web Extensibility Framework (WEF)• Plataforma de desarrollo para hacer apps para Office

• Permite renderizar páginas web dentro de las aplicaciones Office

• Permite al código de las páginas interactuar con los documentos Office

• Permite al código de las páginas interactuar con elementos de Exchange

Page 24: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Tipos de app de Office

Mail app (Outlook, Outlook Online)

Task pane app (Word, Excel,

Excel Online, PowerPoint,

Project Professional)

Content app (Excel, Excel Online)

Page 25: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Conceptos básicos para desarrollar apps de SharePoint

Page 26: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Los tres tipos de app

Sitio de

SharePoint

SharePoint-Hosted AppNo necesita hosting. El código de la app se

ejecuta en el navegador cliente mediante

JavaScript y/o REST.

Provider-Hosted AppLa app reside en cualquier infraestructura y y

está hecha con cualquier lenguaje. Da igual

que el hosting sea Windows Server, Apache…

Puede estar en .NET, Java, PHP, HTML5,

JavaScript…

Sitio de

SharePointLlamadas a SharePoint

para obtener o escribir

información usando las

API CSOM/REST +

OAuth

Cloud-based Apps

Aplicación web

(Hosting

propio)

Autohosted AppSimilar a la anterior, salvo que el hosting

es Windows Azure + SQL Azure. El

aprovisionamiento e instalación se hace

de forma invisible. Sólo en Office 365.

Aplicación web

(Windows

Azure

Web Sites)

Sitio de

SharePoint

Online

APP

APP

APP

Page 27: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Formas para las appDescripción Ejemplo

App que se abre a pantalla completa para mostrar funcionalidades avanzadas. Permite tener la barra de navegación del sitio para volver

Reserva de recursos, panel de negocio…

Aunque no sean una app, Word Online, PowerPoint Online, Excel Online y OneNote Online funcionan de forma similar.

Se inserta en las páginas de SharePoint como una webpart tradicional

Visor del tiempo, visor de acciones, panel de control, mapa…

Añade nuevas acciones para trabajar con documentos e ítems en la cinta y menús

Abrir un visualizador del documento, imprimir un documento…

Page 28: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Las app por dentro

• Una app por dentro es un sitio de SharePoint

• La app puede tener sus propias listas y bibliotecas que duran el tiempo que la app esté instalada

• También puede acceder a las listas y bibliotecas del sitio que las contiene

Sitio de SharePoint App (sitio de SharePoint)

Lista Lista Lista

ListaBiblioteca

BibliotecaLista

Lista Lista Lista

App App

ListaBiblioteca

BibliotecaLista

Lista

Lista

Lista

BibliotecaLista

AppAplicación web ubicada en

hosting externo.

• Opcional

• Sólo en provider hosted

y autohosted

Page 29: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

El archivo AppManifest.xml

• AppManifest.xml define las propiedades de la app

• Visual Studio 2012/2013 ofrece un diseñador visual

SharePoint Hosted

Autohosted

Provider Hosted

Page 30: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Comunicación entre las app y SharePoint

• Las apps provider hosted y autohosted se encuentran fuera de SharePoint y necesitan interactuar con su contenido para:• Acceder a datos

• Efectuar operaciones (crear listas, editar permisos, etc.)

• Las app se comunican con SharePoint vía CSOM y REST

• Las apps necesitan permisos para acceder al contenido de SharePoint• Esto se consigue gracias al nuevo

soporte a OAuth de SharePoint 2013

Page 31: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Sitio del desarrollador y catálogo de apps

• El catálogo de apps es una colección de sitios con una biblioteca en la que almacenaremos los paquetes de las app

• El sitio del desarrollador es una colección de sitios con una biblioteca para almacenar apps que permite hacer debug y desplegar la app desde Visual Studio

Page 32: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Llamadas cross-domain

Page 33: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Llamadas cross-domain

• Una app de SharePoint se muestra en la página dentro de un IFRAME

• La app está en un dominio distinto que el sitio de SharePoint

• Los navegadores no permiten a los elementos de la página interactuar con más de un dominio para evitar ataques

• Librería JavaScript SP.RequestExecutor.js• Se encuentra en el directorio LAYOUTS

• Con esta librería, las app pueden llamar a SharePoint aunque esté en dominio diferente

• El mecanismo de trabajo no es específico de SharePoint, es un patrón que se usa en la industria

Page 34: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Las llamadas cross-domain son bloqueadas

SharePoint Serverhttp://mydomain.com

Provider-hosted app

http://anotherdomain.com

<IFRAME>

Provider hosted app

</IFRAME>

El scripting cross site es bloqueado pordefecto en el servidor de SharePoint.

Page 35: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

SP.RequestExecutor.js

SharePoint Serverhttp://mydomain.com

SP.RequestExecutor.js

1. Genera el IFRAME automáticamente.

2. Habilita las peticiones CSOM/REST posteandoal IFRAME con .postMessage()

<IFRAME>

Provider hosted app

</IFRAME>

<IFRAME>http://mydomain.com/Proxy.aspx

</IFRAME>

Page 36: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Habilitando las llamadas cross-domain

SharePoint Serverhttp://mydomain.com

Provider-hosted app

http://anotherdomain.com

<IFRAME>

Provider hosted app

</IFRAME>

<IFRAME>

http://mydomain.com/Proxy.aspx

</IFRAME>

Page 37: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Laboratorio

Page 38: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Instalando apps y comprando en la tienda de Office

Page 39: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Ciclo de instalación de una app

FREE/TRIAL/

PURCHASE

OFFICE

VALIDACIÓN DE LA APP

Page 40: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Comprando en la tienda

Page 41: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Desarrollo de apps de Windows Phone para SharePoint

Page 42: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Windows Phone SharePoint application templates

Windows

Phone Empty

SharePoint

Application

Windows

Phone

SharePoint List

Application

Page 43: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Preparando el entorno

• Si vas a trabajar con el SDK de Windows Phone 8• Microsoft Visual Studio 2012• Windows Phone SDK 8.0

• http://www.microsoft.com/en-us/download/details.aspx?id=35471

• Microsoft SharePoint SDK for Windows Phone 8• http://www.microsoft.com/en-us/download/details.aspx?id=36818

• Si vas a trabajar con el SDK de Windows Phone 7• Microsoft Visual Studio 2010 (no están soportadas en VS 2012).• Windows Phone SDK 7.1:

• http://www.microsoft.com/en-us/download/details.aspx?id=27570

• Microsoft SharePoint SDK for Windows Phone 7.1:• http://www.microsoft.com/en-us/download/details.aspx?id=35475

Page 44: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

El patrón MVVM

Page 45: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Windows Phone Empty SharePoint application

Manifiesto de la app

DLL del Windows Phone

SharePoint SDK

Activos de la app

Recursos

Aplicación

Página inicial

Page 46: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Windows Phone SharePoint list application

Manifiesto de la app

ViewModels. Operación para

listar ítems de la lista y

operaciones para mostrar, editar

y crear ítem.

Vistas. Página para visualizar los

ítems y formularios de vista,

edición y creación.

Aplicación

Modelo. Clase que proporciona

los datos de SharePoint.

Page 47: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app

• La Windows Phone Empty SharePoint Application es un proyecto vacío con las DLL necesarias añadidas• Útil como punto de partida a una app que conecte a SharePoint.

• La Windows Phone SharePoint List Application proporciona un asistente de creación de la app• Nos crea una app conectada a una lista, con todas sus operaciones.

• ¡Increíble! En cinco minutos tendremos una app lista que podemos lanzar en el emulador o teléfono y publicar en la tienda.

Page 48: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 1) Creación del proyecto

Page 49: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 2) Buscamos la lista en el asistente

Page 50: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 3) Elegimos vistas 4) Elegimos operaciones

Page 51: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 5) Elegimos las columnas y su orden en los

formularios

Page 52: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 6) Proyecto listo para ejecutar

Page 53: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Mi primera app• 7) App compilada y lista

Page 54: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Demo

Ejemplo

Page 55: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

#MsCodersCamp2014

Descuento eBooks Comunidad técnica

30% de descuento En ebooks de Krasis Press

Consigue tu código de descuento:

http://promos.campusmvp.com/mscoders http://www.linkedin.com/groups/MadPoint-

SharePoint-Users-Group-Madrid-4554702

Page 56: MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube

MsCodersCamp2014

Colaboran:

#MsCodersCamp2014

Thank you!