[Opinión]: ¿Hacía donde vamos en el desarrollo para SharePoint? ¿Estamos preparados para ello?

Con este post me gustaría por un lado comenzar una discusión entre los profesionales que trabajamos habitualmente con la plataforma SharePoint y por otro poner de manifiesto algo qué últimamente está ocurriendo con demasiada frecuencia: la falta de mensajes claros por parte de Microsoft de cuál va a ser el roadmap de las versiones futuras de SharePoint. Volviendo a las preguntas que aparecen en el título del post, estas vienen motivadas por este artículo que podéis leer en el blog de Vesa Juvonen. Para los que no conocéis a Vesa, simplemente deciros que aunque no forma parte del equipo de SharePoint, si lleva muchos años trabajando en Microsoft Consulting Services en proyectos de SharePoint y en la última versión es uno de los trainers y autores del material de IT de Ignite por lo que me atrevo a decir que es una voz más que autorizada cuando habla de temas de SharePoint en general, y de WCM y buenas prácticas de despliegue de soluciones SharePoint en particular (en su blog podéis encontrar un montón de artículos muy útiles sobre técnicas para crear Web Templates, opciones de provisionado de artefactos de SharePoint, etc).

Y ahora al grano: ¿Por qué planteo esta preguntas? Pues porque leyendo el artículo de Vesa se vislumbra de manera “no oficial” por dónde van a ir los tiros en lo que a desarrollo se refiere para futuras versiones de SharePoint. Así, Vesa recomienda que la creación de elementos como Tipos de Contenido, Columnas de Sitio, Listas, etc se realice de forma programática frente a hacerlo de forma declarativa. Fuera de qué sea más o menos lógico, lo que a mi me ha sorprendido es que hayamos tenido que ver por primera vez estas recomendaciones a través de un artículo de un blog y que de manera oficial no tengamos un mensaje al respecto del equipo de SharePoint que es quien tendría que decirnos a quienes trabajamos con SharePoint: “saben que, para despliegues sobre SharePoint 2013 y con vistas a migraciones futuras traten de crear programáticamente Tipos de Contenido, Columnas, Listas, etc). Y ahora vayamos a algunas de las implicaciones y motivaciones de lo que comenta Vesa en su artículo:

  • A nivel de motivaciones, está claro de que el camino de las futuras versiones de SharePoint es la nube lo que significa que las extensiones que vayamos a hacer se tienen que hacer a través de Aplicaciones. Y en este modelo, no encaja la posibilidad de definir elementos de forma declarativa que implique dejar referencias a archivos físicos bajo el directorio 15.
  • Ligado con este punto, vuelvo a mis comentarios anteriores: ¿Por qué no hay un mensaje oficial al respecto de Microsoft? Estoy seguro de que muchos profesionales y muchas empresas que construyen soluciones por y para SharePoint están haciendo uso de la aproximación declarativa bien porque lo han adoptado como estándar de desarrollo, bien porque Visual Studio proporciona unos estupendo asistentes que facilitan la creación de columnas de sitio, tipos de contenido, plantillas de lista e instancias de lista.
  • Si el camino señalado por Vesa es el que tenemos que seguir: ¿Nos va a proporcionar Microsoft herramientas que sustituyan a esos maravillosos asistentes? En mi opinión, entiendo que así será y que Microsoft nos va a sorprender gratamente al respecto.
  • Finalmente, no puedo olvidarme del modelo de Apps que como he dicho muchas veces me parece una de las innovaciones más grandes que ha realizado el equipo de SharePoint en los últimos años, pero que en mi opinión está en una posición de riesgo  en cuanto a adopción y uso por una incompresible falta de soporte por parte de la propia Microsoft en la que se incentive a partners y desarrolladores a crear aplicaciones de la misma forma que se está incentivando en el caso de los modelos de Apps de Windows Phone y Windows 8. Aparte de esta falta de soporte, mis comentarios se apoyan sobre un precedente que Microsoft ya tiene y del que debería tomar: El Windows Azure Marketplace, que salvo que alguien me corrija, está fracasando como marketplace de aplicaciones.