Imagine Cup Grants desde Riobamba a Davos
Hola amigos, soy un Student Partner la ciudad de Riobamba-Ecuador y me gustaria compartir una excelente noticia para Ecuador.
La semana pasada se anunció a los cuatro equipos ganadores de la final mundial de Imagine Cup Grants quienes recibimos $75000.00USD en efectivo y además el apoyo de un mentor de negocios, y los beneficios software gracias al programa Bizspark.
Francisco Pérez integrante de nuestro equipo Falcon Dev viajó a Davos – Suiza el viernes pasado a un conversatorio sobre el proyecto realizado por el equipo Ecuatorioano junto a Bill Gates, Brad Smith en el World Economic Forum.
Ayer, en el hotel Marriott en Quito, se realizó la presentación de nuestro equipo “Falcon Dev” de la Escuela Superior Politécnica del Chimborazo (ESPOCH), quienes ganamos el concurso Imagine Cup Grants Program, organizado por Microsoft.
En medio de aplausos y felicitaciones, junto mis amigos Manuel Moreta , Juan José Morales, Francisco Pérez, y Vicente Anilema y yo(Henry Paca), integrantes de Falcon Dev, recibimos placas diplomas y becas para estudios de posgrados en cualquiera de las 150 mejores universidades del mundo… con la oprtunidad de estudiar en universidades como MIT, Harvard o Stanford entre otras.
El ministro de Telecomunicaciones, Jaime Guerrero, a nombre del Gobierno Nacional, dió unas palabras de felicitación y animó a los universitarios a seguir preparándose para ser un aporte a la sociedad.
Ahora juanto al equipo con quienes comparti increibles experiencias en las Finales mundiales de Imagine Cup en Varsovia Polonia y New York – USA, nos encontramos trabajando en nuestra propia empresa RioAxis dedicada al desarrollo de software innovador y de impacto social, siendo este el mayor reto de nuestras vidas, pero seguros de que con esfuerzo, trabajo en equipo y dedicación todo saldrá bien.
Agradezco a todos los amigos que siempre nos apoyaron en la realización de eventos, concursos y todas las actividades dentro y fuera de la ESPOCH y Comunidad Académica Microsoft….
Gracias por todo…. Carla, Magy, Belenchiz, Nelson, Anllu , Karlita, Chris K, Cris ,Vilmis, a Jamil por su motivación, cerveza y consejos para lograr el primer triunfo en Imagine Cup 2010 y todos los amigos que por falta de espacio en los discos duros de wordpress no los pongo… pero que con quienes siempre estaremos agradecidos…
Comparto el video de inicio de apertura de ceremonia con el que Microsoft Ecuador nos sorprendió..
Los Microsoft Student Partner de Riobamba en Imagine Cup
Hola con todos, mi nombre es Henry Javier y soy un Microsoft Student Partner Senior de Ecuador.
Durante mi etapa como Student Partner trabajé con una idea personal, “No solo debería difundir la tecnología hay que empezar dando el ejemplo” y fue así que dedique mucho tiempo a difundir y hacer cosas interesantes con mis amigos de la comunidad con quienes estoy muy agradecido por toda la colaboración que recibí durante mi etapa como Lider de comunidad y Student Partner…..

Hace pocos meses renuncié a mi cargo como líder de la comunidad académica de la ESPOCH y Student Partner Lead por cuestiones de trabajo y competencias, motivo por el cual deje de escribir en mi blog; Y durante todo este tiempo he vivido increíbles experiencias junto a mis amigos de equipo de desarrollo de software, con quienes he tenido el gusto de viajar a Varsovia-Polonia a las finales mundiales de la competencia más importante para estudiantes y entusiastas de la tecnología “Imagine Cup Software Design”.
Durante esta competencia aprendimos muchas cosas que nos ayudaría para llegar a una nueva final en New York representando a nuestro querido Ecuador.
Y finalmente luego de muchas experiencias buenas y malas, hemos obtenido el primer lugar en la Final Mundial de Imagine Cup Grants accediendo a un financiamiento por parte de Microsoft, que nos permitirá culminar el desarrollo de nuestro proyecto y llevarlo a la parte comercial.
Estoy muy seguro que todo el trabajo realizado con mis amigos de equipo ha motivado a nuevos estudiantes a participar en Imagine Cup quienes no solo piensan en ganar la final nacional y llegar a Australia, más bien tienen la meta de llevar sus proyectos a un nuevo nivel.
Ahora el trabajo de llevar adelante la comunidad academica Falcon Team de la ESPOCH esta a cargo del Student Partner Manuel Moreta… Suerte amigo y trabaja siempre dando el ejemplo.
Reto Microsoft Campus Party Ecuador
|
|
|
|
usando tecnologías de Microsoft y tecnologías de software libre, código y estándares abiertos.
PHP en WebMatrix, Linux en Hyper-V, Ruby en IIS, Java en Azure, .NET en Linux, Ubuntu y Active Directory, Eclipse y Azure, LibreOffice y Office, Nginx y Office Web Apps, Perl y LADS, PostgreSQL y PowerPivot… las posibilidades para la interoperabilidad
en la industria de hoy son inmensas, y queremos ubicar al talento que demuestre que puede lograr resolver un problema de negocios a través de la interoperabilidad con software libre.
Los participantes deberán hacer un reply del video inicial en nuestro canal de YouTube hasta este 16 de Octubre explicando su solución, o subirla en Vimeo, Dailymotion, Ustream o cualquier otro servicio y enviar su dirección a jose.miguel@microsoft.com, y hasta el 22 de Octubre subir su idea, su código, su arquitectura y su documentación a Codeplex.com bajo alguna de las licencias de software libre soportadas en Codeplex, desde MS-PL hasta GPL, pasando por BSD o Apache. Podrán canalizar cualquier inquietud en Twitter (@MSAbierto) en el blog (bit.ly/MSAbierto) o a través de YouTube. Las bases oficiales están aquí.
¡Pásalo! ¡Invita a alguien a hacer software libre con nosotros!
Microsoft y Campus Party
¡Microsoft te premia con una invitación + acampada a la #CPQuito!
| Microsoft Ecuador te invita a unirte a la élite geek del país en el evento de tecnología más importante de Ecuador y te premia con una invitación y pase de acampada para los 5 días de Campus Party Quito.Recuerda que Campus Party Quito será del 19 al 23 de octubre de 2011.
Solo tienes que contarnos qué significa Campus Party Quito para ti, rellenando este cuestionario y enviándolo a jjmena@microsoft.com con el nombre “Microsoft y Campus Party” hasta las 23h59 lunes 26 de septiembre: 1. Tus nombres completos 2. Tu número de cédula de identida 3. Tu dirección de correo electrónico 4. Universidad, carrera y curso que estudias 5. Resume en una oración: ¿qué significa Campus Party Quito para ti? 6. Haz una lista con 5 razones por las cuales tú quieres estar en Campus Party Quito 7. Menciona 3 temas que te gustaría ver en el área de Innovación de la Campus Party Quito 8. Escribe una frase con la que le dirías a tus amigos que vengan a la Campus Party Quito Microsoft + Tú en #CPQuito |
|
|
Condiciones: válido para personas mayores de edad, fecha límite para enviar el cuestionario: lunes 26 de septiembre 2011, todas las preguntas del cuestionario deben estar completamente llenas, concurso solo abierto para estudiantes universitarios debidamente acreditados en el territorio nacional, el premio no incluye traslado desde tu ciudad de residencia hasta la ciudad de Quito ni logística de transporte dentro de la ciudad de Quito, las entradas no incluyen refrigerios, catering ni alimentación de ningún tipo, fecha de la premiación: viernes 30 de septiembre 2011, solo se informará a los ganadores directamente a su correo electrónico. |
Publicando aplicaciones y juegos para windows phone 7
.jpg)
Para quienes nos invadió la locura de desarrollar aplicaciones y juegos y publicarlos en el Marketplace de Windows Phone 7, estos son los pasos necesarios para poder realizar el proceso.
1. Regístrate en Marketplace.- Para poder publicar nuestras aplicaciones en el marketplace de Windows pone 7 debemos estrar registrados en el App Hub. Esto tiene un costo de aproximadamente 99.00 USD, afortunadamente para quienes tenemos cuenta en dreamspark esto es completamente gratis permitiéndonos realizar publicación de aplicaciones tanto para Windows pone como para XBox 360. El registro en el Marketplace de Windows Phone 7 es un proceso que puede tardar de 2 a 10 días dependiendo de si el registro es como individuo (2-3 días) o como compañía (5-10 días) y del tiempo que se tarde en aportar la información solicitada.
2. Descarga de las Herramientas.- Las herramientas son gratuitas y pueden descargarse de aquí
3. Aprende Silverlight o XNA.- Los principales recursos los encuentras en el site msdn, siguiendo las especificaciones para el desarrollo de Windows Phone 7.
4. Probar la aplicación en un dispositivo Windows Phone 7 o emulador
Una vez que tengas desarrollada tu aplicación puedes probarla en un dispositivo físico o en el emulador de Windows pone que lo puedes bajar desde aquí.
5. Publicar la aplicación en el Marketplace de Windows Phone 7
Sí ya estas convencido de que tu aplicación está finalizada puedes publicarla en el marketplace, este proceso puede llevar 2-5 días si no hay errores de certificación. Para evitar los errores de certificación, conviene revisar las políticas de certificación aquí y los trucos documentados aquí.
6. Ayuda y Soporte
Si existe cualquier problema o error en el proceso puedes consultarlo en los foros o reportarlo en el Dashboard de la cuenta correspondiente del AppHub de Windows Phone.
Para más información, consulta el centro de desarrollo de Windows Phone 7 en MSDN
Aplicaciones compuestas con Silverlight/WPF parte I
El uso de Windows Presentation Foundation y Silverlight ha permitido a los desarrolladores crear aplicaciones con interfaces que enriquecen la experiencia de usuario. Aunque estas tecnologías nos permiten separar las capas de presentación de la lógica, aún persiste el viejo problema de cuán complicado puede llegar a ser el mantenimiento de una aplicación.
Para solucionar este viejo y conocido problema que ocurre con las aplicaciones monolíticas, el equipo de Patterns & Practices de Microsoft, sugiere crear aplicaciones compuestas lo cual es una solución a este problema, además de que se puede llegar a aprovechar las capacidades de WPF.
Prism es un patrón que permite crear aplicaciones compuestas con WPF/Silverlight, siendo flexibles y fáciles de mantener.
¿Qué es una aplicación monolítica?
Una aplicación monolítica es aquella que tiene sus controles estrechamente acoplados.
Imaginemos una aplicación de compra y venta de productos, en la que el usuario pueda ver los productos actuales, noticias relacionadas a los mismos, agregar elementos a una lista y efectuar operaciones de compra y venta.
En una aplicación tradicional, cada uno de los controles de acuerdo a su funcionalidad son agregados sobre una ventana principal, todos estos controles conectados mediante RoutedEvents, RoutedCommands y DataBindings. En este caso la aplicación se encuentra estrechamente acoplada a cada uno de los controles, existiendo una considerable cantidad de código en
la lógica de la interfaz para poder sincronizar estos controles.
Imaginemos que se desean agregar algunas funciones más a esta aplicación, esto involucraría que el equipo de desarrollo debe crear los nuevos controles, agregar cada uno al proyecto de control y lo más importante acoplarlos a la interfaz existente. Realizar este tipo de acciones puede incrementar el tipo de desarrollo o provocar errores por la modificación involuntaria de algún control.
Aplicaciones compuestas
Una aplicación compuesta consta de módulos de acoplamiento flexible que se descubren y componen dinámicamente en tiempo de ejecución, estos módulos contienen componentes visuales y no visuales que representan al sistema.
Los componentes visuales o vistas se componen en un Shell común que actúa como host de todo el contenido de la aplicación.
Por qué usar Prism?
El equipo de patterns & practices de Microsoft lanzó hace no mucho tiempo la nueva guía de asistencia Composite Applications Guidance for WPF, esta guía se ha diseñado en base al feedback recibido por los equipos de desarrollo internos, clientes y las comunidades .NET, permitiendo aprovechar las capacidades y el modelo de programación de WPF.
En pocas palabras prism fue desarrollado para ayudar en el diseño y construcción de aplicaciones ricas, flexibles y fáciles de mantener con Silverlight/WPF.
Esto permite que Prism no provea de los siguientes beneficios.
- Reutilización.-Prism promueve la reutilización al permitir que los componentes y servicios sean fáciles de desarrollar, probar integrar en una o más aplicaciones. La reutilización se puede lograr a nivel de componentes, a través de la reutilización de componentes que pueden ser fácilmente descubiertos e integrados en tiempo de ejecución mediante inyección de dependencia, a nivel de aplicación mediante el uso de módulos que encapsulan las capacidades de la aplicación que pueden ser reutilizados en varias aplicaciones.
- Extensibilidad.- Prism ayuda a crear aplicaciones que sean fáciles de extender mediante la gestión de dependencias de componentes, permitiendo que los componentes que se integren más fácilmente o reemplazándolas con implementaciones alternativas en tiempo de ejecución, y proporcionando la capacidad para descomponer una aplicación en módulos que pueden ser actualizados y desplegados de manera independiente.
- Flexibilidad.- Prism ayuda a crear aplicaciones flexibles, permitiendo que sean más fáciles de actualizar e integrar nuevas características. También permite que las aplicaciones WPF y Silverlight sean desarrolladas usando servicios y componentes comunes, permitiendo poder desplegar la aplicación de una manera más apropiada y proveer diferentes accesos basados en roles o configuración.
- Equipo de desarrollo.- Prism promueve el desarrollo del equipo al permitir que independientemente se pueda desarrollar componentes y diferentes partes de la aplicación. Prisma ayuda a minimizar las dependencias entre el equipo y permite que los equipos se centran en diferentes áreas funcionales (como el diseño de la interfaz de usuario, la aplicación lógica de negocio y desarrollo de código de infraestructura), o en diferentes áreas funcionales a nivel de negocio (por ejemplo, el perfil, las ventas, inventario, o la logística).
- Calidad.- Prism aumenta la calidad de las aplicaciones al permitir que servicios y componentes comunes puedan ser probados y puestos a disposición de los equipos de desarrollo.
Terminología usada
Posiblemente la terminología usada en Prism puede ser no familiar especialmente si somos nuevos en el desarrollo de aplicaciones compuestas.
Modules.- Los módulos son paquetes de funcionalidad que pueden ser desarrollados y probados y desplegados de forma independiente. En muchos casos, los módulos son desarrollados y mantenidos por equipos separados. Una aplicación típica de Prism es construida a partir de varios módulos. Los módulos se pueden utilizar para representar una funcionalidad específica relacionada con el negocio (por ejemplo, gestión de perfiles) y encapsular todos los puntos de vista, servicios y modelos de datos necesarios para implementar esa funcionalidad. Los módulos también se pueden utilizar para encapsular la infraestructura de aplicaciones o servicios comunes (por ejemplo, loggin y servicios de gestión de excepciones) que pueden ser reutilizados en múltiples aplicaciones.
Module Catalog.- En una aplicación compuesta, los módulos son descubiertos y cargados en tiempo de ejecución por la aplicación Host. En Prism el catálogo de módulos es usado para especificar que módulos van a ser cargados, cuando serán cargados y en qué orden. El catálogo de módulos usa los componentes ModuleManager y ModuleLoader, los cuales son responsables de la descarga de módulos en caso de ser remotos, carga de módulos dentro de la aplicación e inicialización de los módulos. Prism permite especificar un catálogo de módulos dentro de un archivo xaml, en el archivo de configuración, mediante código, o implementar un catálogo de módulos personalizado si es necesario.
Shell.- El shell es la aplicación host dentro de la cual se cargarán los módulos, el Shell define la estructura de la aplicación. Por lo general, implementa servicios comunes de las aplicaciones y la infraestructura, pero la mayoría de la funcionalidad de la aplicación se lleva a cabo dentro de los módulos. El Shell también proporciona la ventana de nivel superior o elemento visual que luego servirá como host de los distintos componentes de interfaz de usuario proporcionada por los módulos cargados.
Views.- Las vistas son controles de interfaz de una función particular o área funcional de la aplicación. Las vistas se utiliza junto con los patrones MVVM o Model-View-Presenter (MVP), para proporcionar una separación entre la interfaz de usuario, la lógica de la aplicación y presentación de datos. Las vistas se utiliza para encapsular la interfaz de usuario y definir el comportamiento de la interacción del usuario.
View models and presenters.- Son clases que encapsulan la lógica de la aplicación de presentación y estado. Ellos son parte del patrón MVVM. Los view models encapsulan la mayor parte de la funcionalidad de la aplicación. Los presenters son similares para ver los modelos en que encapsulan la lógica de presentación y estado. Se utilizan como parte del patrón MVP. Los view models y presenters definen las propiedades, comandos y eventos, a los que los controles en la vista puede enlazar a datos.
Models.- Son clases que encapsulan los datos y lógica de negocio, se usa como parte de los patrones MVVM o MVP.
Commands.- Los comandos se utilizan para encapsular la funcionalidad de la aplicación de manera que permita ser definida y analizada de forma independiente de la interfaz de usuario. Se puede definir como command objects o commands methods en el view model o presenter. Prism proporciona la clase DelegateCommand y CompositeCommand, este último se utiliza para representar una colección de comandos.
Regions.- Son regiones definidas dentro de la interfaz de usuario de la aplicación (en el Shell o dentro de los Views). Las regiones permiten el diseño de la interfaz de usuario, y pueden ser actualizados sin necesidad de cambios en la lógica de la aplicación, las vistas pueden ser mostradas dentro de una región de manera automática o programada, Prism provee soporte para la implementación y navegación con regiones.
Navegación.- La navegación se define como el proceso mediante el cual la aplicación coordina cambios en su interfaz de usuario como resultado de la interacción del usuario con la aplicación o cambios de estado interno de la aplicación.
Prisma es compatible con dos estilos de navegación: la navegación basada en el estado, donde se actualiza el estado de una vista existente para implementar escenarios simples de navegación, y la navegación por cambio de vistas(view-switching navigation), donde se crean nuevas vistas y las vistas anteriores son reemplazadas en la interfaz de usuario de la aplicación, View-switching navigation utiliza un identificador uniforme de recursos (URI) lo cual facilita el llamado a las vistas que serán mostradas.
Event Aggregator.- Permite la comunicación entre los componentes de la aplicación. Para apoyar esto, Prism proporciona el componente EventAggregator, que implementa un mecanismo de eventos.
Dependency injection container.- El patrón de inyección de dependencias (DI) se utiliza a través de Prism para gestionar las dependencias entre los componentes en ejecución permitiendo soporte de extensibilidad y pruebas. Prism está diseñado para trabajar con Unity o MEF, o con cualquier otro inyector de dependencia a través del ServiceLocator.
Services.- Son componentes que encapsulan la funcionalidad de la interfaz de usuario no relacionada, tales como logging, administración de excepciones, y acceso a datos. Los servicios pueden ser definidos por la aplicación o dentro de un módulo, y son a menudo registrados en el contenedor de inyección de dependencia para que puedan ser ubicados o construidos según sea necesario y utilizado por otros componentes que dependen de ellos.
Controllers. Son clases usadas para coordinar la constuccion e inicializacion de las vistas que ser’an mostradas en uns region dentro de la aplicación.
Bootstrapper. Es usado por la aplicación para inicializar los distintos componentes o servicios, se utiliza para inicializar el contenedor de inyección de dependencia para registrar los componentes de nivel de aplicación y servicios de la misma, para configurar e inicializar el catálogo de módulos y las vistas en el Shell.
Multi-targeting. – Prisma brinda soporte para el desarrollo de aplicaciones que pueden centrarse tanto en WPF y Silverlight. Al adoptar un modelo de presentación separada, como el MVVM o MVP, puede separar la interfaz de usuario de la lógica de negocio, es decir que los mismos módulos o vistas u otros componentes pueden ser cagados sobre una aplicación WPF o Silverlight.
Estos es simplemente un resumen de los conceptos que se usaré para poder desarrollar una aplicación compuesta siguiente capítulo.
Imagine Cup & Windows Phone 7
Luego de haber pasado increibles momentos en las finales mundiales de Imagine Cup en Varsovia Polonia, y del anuncio realizado por Jon Perera (General Manager, Education Marketing & Strategy Group), de entregar un windows phone a todos los participantes(algo que nadie esperaba), finalmente se ha cumplido… muchos equipos de diferentes países ya lo estas disfrutando y es realmente un sistema operativo increible!!!! deben probarlo y conocer el potencial que este dispositivo y SO permite alcanzar a quienes estamos en el mundo del desarrollo de software….








