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
4. #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
9. #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
15. #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.
16. #MsCodersCamp2014
Resto de APIs
• Combinando las tres
API cliente con el
resto de API se
pueden desarrollar
las distintas
soluciones
17. #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
19. #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
• …
20. #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
21. #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.
23. #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
24. #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)
26. #MsCodersCamp2014
Los tres tipos de app
Sitio de
SharePoint
SharePoint-Hosted App
No necesita hosting. El código de la app se
ejecuta en el navegador cliente mediante
JavaScript y/o REST.
Provider-Hosted App
La 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
SharePoint
Llamadas a SharePoint
para obtener o escribir
información usando las
API CSOM/REST +
OAuth
Cloud-based Apps
Aplicación web
(Hosting
propio)
Autohosted App
Similar 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
27. #MsCodersCamp2014
Formas para las app
Descripció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…
28. #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
App
Aplicación web ubicada en
hosting externo.
• Opcional
• Sólo en provider hosted
y autohosted
29. #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
30. #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
31. #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
33. #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
34. #MsCodersCamp2014
Las llamadas cross-domain son bloqueadas
SharePoint Server
http://mydomain.com
Provider-hosted app
http://anotherdomain.com
<IFRAME>
Provider hosted app
</IFRAME>
El scripting cross site es bloqueado por
defecto en el servidor de SharePoint.
43. #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
45. #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
46. #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.
47. #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.
55. #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