Ok Hoy es lo ultimo de teoría aburrida que escribo de este tema…, esto es lo que me olvide decir la vez pasada, así que ahora lo pongo, para ya poder cerrar esta parte y en el siguiente poder ir al ejemplo.
¿VSTO? – Cuando, Donde y Porque
Muchas veces, Nos hablan de que ocupamos hacer X proyecto, en esos instantes, quizá los mas críticos para unos, son en los que decidimos “en que lo vamos a hacer” (muchas veces el cliente pide, y nos dejamos llevar, y otra por puro afán de usar determinada tecnología queremos a fuerzas usar x o y), pero si bien gran parte de las tecnologías pueden funcionar en muchas situaciones, no todas son igual de recomendadas para determinada tecnología, igual es para VSTO, les diré los casos en los que para mi… ( ojo, opinión personal, sirve y no usar VSTO).
Cuando Si
- Proyecto de Urgencia…, cuando se ocupa algo para acelerar cierto proceso y no se cuenta con mucho tiempo de desarrollo.
- Lugar reacio a Soluciones de Terceros… este caso es mi favorito, cuando las secretarias o demás empleados, “sabotean” las aplicaciones de terceros (win, web, etc) poniendo excusas de que no funciona, es lento, etc, etc ( mayormente en el sector publico, donde no es tan simple cambiar personal, por alguien con mejor actitud)
- Simplemente querer tener un solo interface de trabajo… muchas veces en áreas administrativas, trabajan mucho con el office, tener una sola herramienta de trabajo, ayuda mucho en los lugares donde se restringe mucho las herramientas que usan los empleados.
- Cuando los requerimientos son muy cambiantes, aun cuando ya la aplicación estará en producción… esto cuando el como se agrupara la información, como se mostrara, resúmenes, comparaciones, es algo que puede cambiar…, muy común en gerencias, donde ocupan comparaciones, resúmenes, etc, esto ayuda mucho, ya que los usuarios podrían hacer los cambios ellos mismos.
- Se Necesita salir de la oficina, o sin acceso a la red, y poder seguir trabajando… el office tiene de modo nativo la opción de almacenar información, y no se quiere que la aplicación este disponible en internet, o al menos que tenga soporte para trabajar sin internet, ( se da mucho, cuando uno viaja a comunidades, sin conexión, o mientras viaja y no tiene internet móvil), quizá este sea uno de los motivos mas importantes.
- alguno otro que ahora se me olvida.
Cuando No
- Quiero usar VSTO “por que es chido” … si de esos que nomas quieren usar x o y nomas pq es cool.
- La Aplicación, la usaran clientes externos, de los cuales no tengo control de las pcs…, obviamente, si se puede, pero personalmente, no me parece algo bueno, para ese tipo de situaciones prefiero que sean aplicaciones web.
- Soy un loco WebServices y/o me gusta tener algo de lógica en el servidor… uno de los factores de las aplicaciones en office, es su poder de almacenar datos de forma nativa, justo para poder trabajar de modo desconectado del servidor, y el amarrarnos a tener lógica de forma remota (salvo que sean validaciones para enviar la información a la DB), quitaría la opción de poder trabajar de forma desconectada, y sobre los WS ( o WCF ), en este caso deberían ser ( a mi parecer) simplemente para leer/guardar en la db, protegiendo la DB, aunque tbm podría haber conexión directa a la DB, por eso al menos para mi, me parece que no es una muy buena opción.
- No tengo office instalado… o es una versión muy vieja, es lógico, si me gusta usar open Office, o mis clientes usan Linux, no podría usar VSTO, ya que no traen soporte para esto, también si es una versión muy vieja como XP, o quizá hasta 2003 ( si hay vsto para office 2003, pero implica cambiar la versión del FW, y del VS).
- No Quiero Comprar Licencias de Office … allí ni como ayudarte, para poder usar VSTO, se ocupa que tengas el office, por suerte hay muchos modos de licenciamiento, del cual no entrare en detalle.
Obviamente todo esto es para cuando son aplicaciones, por que si de complementos (addin) se trata, podría obviarte todo lo anterior dicho, así como un conversor de unidades, se podrían hacer consumir webservices, que consulte algo publico como vuelos ( esto es algo que muchas veces las secretarias de gerentes ocupan seguido).
¿algo mas?
- Lógicamente las clases de VSTO varían, pero de este se puede usar clases y ensamblados que se usan comúnmente en WinForms… aunque, el cambio en el diseño con respecto a aplicaciones Windows es ligeramente variado, ya que el VSTO trae funcionalidad del office, y la capacidad de almacenar información, cosa que en winforms no es posible de manera nativa.
- Controles: El VSTO trae una cantidad mínima de controles nativos que pueden trabajar en Office según sea el caso, pero además podemos importar controles de los que se suelen usar en Winforms, solo que hay un detalle… estos últimos si bien se puede interactuar de modo casi transparente (obviando la importada de clases, etc) visualmente se “montan” encima…, en otras palabras es visualmente es como si estuvieran en una capa encima, no se acoplan… ( en el caso de excel).
- en las versiones anteriores, para poder usar VSTO, se tenia que instalar lasa PIA de office, por suerte en esta ultima versión, ya no será necesario.
- Si Alguna vez usaron VSTO en las versiones anteriores, tenían muchas clases, ahora muchas de esas, se volvieron interfaces, de las cuales, la gran mayoría, no son usables por el desarrollador…, al menos eso leí ( sinceramente no intente usarlas, aun).
Bueno, hoy tenia planeado poner algo mas practico… y menos verbo… pero tenia esto metido en la cabeza… para ya terminar con el rollo mareador.. y ya empezar con lo bueno…
Prometo, que este es el ultimo que será de texto, sin nada realmente útil, según el plan que estuve elaborando, hare una app ejemplo (Excel) que se ira modificando ( y agregando funcionalidad) en la medida del tiempo y se analicen controles/clases, para la parte de acceso a Datos, usare EF (Entity Framework), pero como este ultimo no es el tema principal, no abocare mucho a esa parte del código ( seria bueno que lean un poco de eso si no lo saben), para poder enfocarme a la parte de VSTO.
( si, ya se que en el anterior tbm dije que seria el ultimo de teoria…, pero no podia empezar sin poner esto, disculpen por este testamento..)
Salu2
Dacito Kamikaze