Desarrollo de aplicaciones nativas multiplataforma en Windows


Microsoft  ha demostrado  un  compromiso con el código abierto  ayudando a navegar por herramientas de código abierto, marcos y plataformas, por ejemplo   desarrollando Apache Cordova ,creando y realizando el mantenimiento de complementos de diferentes plataformas,colaborando con Google para ofrecer la herramienta Angular JS 2.0,etc.

Como ejemplo vamos a ver en este post como es posible desarrollar para diferentes entornos moviles usando una de las herramientas mas famosas de desarrollo de Microsoft ,la cual  por cierto esta  disponible para ambientes de educación o formación de forma gratuita

Tipos de aplicaciones móviles

A la hora de crear aplicaciones móviles para plataformas como Android o iOS contamos con varias alternativas:

  • Aplicaciones nativas :muy buen rendimiento y se pueden distribuir desde las tiendas de aplicaciones. Hay que desarrollar las apps para cada entorno  usando herramientas especificas como por ejemplo:

En Android:  Android Studio o Eclipse

En IoS: Swift, Objetive-c  o Xcode

                       En Windows Phone: Visual  Studio

  • Aplicaciones web móviles: un único desarrollo con tecnologías web (js, hrml5 y css).No se distribuyen desde las apps  stores y no permiten acceder a todas las capacidades del hw del móvil. También se está desarrollando las llamadas apps  progresivas
  • Aplicaciones móviles hibridas:se mezclan ambas tecnologías sobre una carcasa  nativa que incrusta una web view. A diferencia de las aplicaciones web móviles pueden distribuirse en las diferentes apps stores incluso permitiendo magnetización de estas. Si bien el rendimiento no es tan bueno como las nativas permiten acceder a diferentes terminales  mediante un   desarrollo web  incluso pudiendo acceder a elementos  hardware . Entre las herramientas mas famosas destacan Phonegapp o Ionic, basadas ambas  en Apache-Cordoba

Creación de  aplicaciones para móviles mediante HTML, CSS y JS

Las aplicaciones móviles híbridas son una combinación de tecnologías web como HTML, CSS y JavaScript, que no son ni aplicaciones móviles verdaderamente nativas, porque consisten en un WebView ejecutado dentro de un contenedor nativo, ni tampoco están basadas en Web, porque se empaquetan como aplicaciones para distribución y tienen acceso a las APIs nativas del dispositivo.

Si sabe cómo crear aplicaciones web, rápidamente se sentirá cómodo creando aplicaciones móviles para iOS, Android y Windows mediante Apache Cordova.

La mayoría de desarrolladores obtiene cerca de un 100 % de reutilización del código aprovechando la API de JavaScript compartida de Cordova para acceder a las funcionalidades de dispositivo nativo, como la cámara, el calendario y los contactos.

Además, debido a que las aplicaciones híbridas utilizan vistas web nativas, puede llevarse su marco JavaScript favorito consigo (marcos como Angular, React e Ionic).

Y hablando de Ionic, es un SDK de código abierto que provee herramientas y servicios para desarrollar aplicaciones móviles híbridas. Está construido por encima de AngularJS y Apache Cordova y se centra principalmente en el look and feel y la interacción con la interfaz de usuario de la aplicación, con la finalidad de simplificar el front-end.

Ionic    es  pues  :

  • Un framework CSS con multitud de elementos de front-end reutilizables y personalizables, que permiten desarrollar una interfaz de usuario relativamente rápido, como por ejemplo encabezados, pies de página, botones de diferentes tamaños y estilos, listas, avatares, tarjetas, formularios, entradas, casillas de verificación, pestañas y,etc .
  • Una biblioteca JavaScript de interfaz de usuario con componentes JS que dan vida a los elementos del front-end y se utilizan como elementos HTML en la aplicación. Uno de los componentes JS de Ionic más utilizados es el componente pestañas,  el cual permite que un determinado contenido se muestre u oculte en función de la pestaña seleccionada por el usuario.

 

 

Visual Studio con Córdova

Debido al aumento de la complejidad de las aplicaciones, necesita más que un editor de texto por lo que el IDE Visual Studio 2017 es una buena  opción  pues integra un editor de código optimizado para la refactorización, el completado automático y la comprensión del código

 

Resumidamente   Visual Studio 2017 ofrece las siguientes  funcionalidades  :

  • Resaltado de sintaxis para ayudarle a identificar los errores visualmente
  • IntelliSense para ayudarle a comprender y codificar mejor las nuevas API
  • Inspección de código para revisar la referencia en línea
  • Si  su aplicación funciona y tiene el aspecto exacto diseñado por usted Tanto si trabaja para iOS, Android o Windows, Visual Studio ofrece compatibilidad de vista previa para una amplia variedad de emuladores y dispositivos anclados a red.Incluso puede implementar y depurar emuladores hospedados en una máquina remota o virtual (por ejemplo, paralelos).
  • Depuración y análisis .Independientemente de dónde se ejecute su código, Visual Studio puede depurarlo (tanto si su código se está ejecutando en un dispositivo iOS, Android o Windows, un emulador o simulador o en un destino de depuración basado en explorador como Ripple). No es necesario cambiar de herramientas cuando crea para otra plataforma. Visual Studio se conecta con casi cualquier destino de implementación.El depurador de Visual Studio le permite revisar el código con puntos de interrupción y notificaciones de excepción automática que exponen el estado del tiempo de ejecución de objetos y variables.Las funcionalidades avanzadas, como editar y continuar, los puntos de interrupción condicionales, los puntos de seguimiento y los números de llamadas ofrecen el tipo de análisis detallado que necesita para que el código resulte divertido y no un juego despiadado de “localización del error”.
  • Acceso a capacidades de dispositivo nativo.Con tecnología de Apache Cordova, sus aplicaciones escritas en HTML, CSS y JavaScript pueden acceder fácilmente a las API de dispositivo nativo que todavía no se encuentran disponibles para los exploradores (por ejemplo, la cámara, el calendario, los contactos, el escáner de códigos de barras, etc.).Lo mejor de todo es que puede acceder a capacidades de dispositivo nativo a través de una API de JavaScript común para obtener la máxima reutilización de código en su aplicación.
  • Conexion  a datos ( a la plataforma de Azure ):con tan solo unas cuantas líneas de código, puede Usar notificaciones de inserción para conectarse con usuarios específicos o audiencias completas,Habilitar la mensajería en tiempo real para provocar conversaciones y el uso compartido entre sus usuarios,Admitir capacidades sin conexión para aquellas ocasiones en las que no haya disponible una conexión de red,Administrar datos de Exchange mediante las API de servicio de Office 365 para compartir y editar calendarios, contactos, archivos, etc.

 

 

 

 

Instalación Visual Studio  para apps moviles

Todo lo que usted necesita para poder comenzar  con Visual Studio es descargar alguna de las siguientes versiones:

  •  IDE gratuito con todas las características para estudiantes, desarrolladores de código abierto y desarrolladores individuales . Descarga gratuita
  • Visual Studio Professional  :Herramientas de desarrollo profesionales, servicios y ventajas para suscripción para equipos pequeñosEvaluación gratuita  
  • Visual Studio Enterprise:Solución completa para satisfacer las exigentes necesidades de calidad y escala de equipos de todos los tamaños. Evaluación gratuita

El  instalador realiza todo el trabajo pesado necesario para poner en marcha el equipo con los SDK, bibliotecas, herramientas, etc. necesarios para crear aplicaciones multiplataforma.

Para Instalar las herramientas de Cordova con una instalación inicial de Visual Studio siga lso siguientes pasos:

  1. Para instalar Visual Studio Tools para Apache Cordova junto con una instalación limpia de Visual Studio, descargue e inicie el instalador de Visual Studio ( en de algunos de los tres links de arriba o directamente si necesita el  la versión  sin coste en el link  siguiente: Visual Studio Community  🙂
  2. El instalador mostrará la lista de componentes instalables mostrada en la siguiente figura.Al instalar  Visual Studio, deberua  asegúrarse  de incluir los componentes opcionales, HTML / JavaScript (Apache Cordova) bajo Desarrollo móvil multiplataforma como vamos a ver.
  3. Desplácese por la lista de cargas de trabajo disponibles y localice un grupo denominado Mobile & Gaming .
  4. Marque la casilla de verificación junto a Desarrollo móvil con JavaScript como se muestra en la siguiente figura. Esto permitirá la instalación de los componentes necesarios para las herramientas de Córdoba.  
  5. Dependiendo de sus necesidades específicas de desarrollo, es posible que deba instalar componentes opcionales adicionales. Por ejemplo, para apoyar el desarrollo de aplicaciones para Android, necesitará agregar soporte para el SDK de Android . Para probar las aplicaciones de Android en los emuladores, debe agregar soporte para Google Android Emulator , como se muestra en la siguiente figura.Si su entorno de desarrollo de Cordova ya incluye estas herramientas, puede omitir la instalación de nuevo aquí y modificar la configuración de Visual Studio Tools para Apache Cordova para apuntar a la instalación existente más adelante.
  6. Compruebe rápidamente que puede cargar y crear la plantilla de aplicación en blanco predeterminada. En Visual Studio, elija Archivo , Nuevo , Proyecto , JavaScript ,Aplicaciones de Apache Cordova , Aplicación en blanco y nombre el nuevo proyecto «en blanco» y construya con F5. Si tiene algún problema, consulte estos pasos de solución de problemas .
  7. Ionic es un popular framework front-end JavaScript para desarrollar aplicaciones móviles multiplataforma usando Cordova. Puede utilizar Visual Studio 2015 para crear y depurar fácilmente aplicaciones multiplataforma Ionic.http://www.youtube.com/watch?v=4fNmTkYGVeUPuede instalar las plantillas de inicio de Ionic en Visual Studio y utilizarlas para comenzar a crear una aplicación.
    1. Agregue directamente a Visual Studio descargando y haciendo doble clic en VS Extension for IonicO bien, hágalo en Visual Studio, seleccionando Archivo , Nuevo y luego Proyecto .
    2.  En el cuadro de diálogo Nuevo proyecto, seleccione en línea .
    3.  En el cuadro de búsqueda, escriba Ionic .                                                
    4.   Escriba cualquier nombre y elija Aceptar para instalarlos. Cuando se le solicite permiso para instalar las plantillas, dé su permiso.
    5. Cierre y vuelva a abrir Visual Studio.
    6. De nuevo, elija Archivo , Nuevo y , a continuación, Proyecto.
    7. Ahora, elija  Instalar y , a continuación, Plantillas , las plantillas de inicio nuevas aparecerán en JavaScript , Apache Cordova Apps
    8. Elija una de las siguientes plantillas de inicio para su nuevo proyecto:
      • Aplicación en blanco iónico
      • Plantilla Iónica de SideMenu
      • Plantilla de Tabulaciones Iónicas
    9. Elija Aceptar .Visual Studio crea el proyecto Ionic.
    10. Agregue IntelliSense para Ionic a su proyecto.

    Haga que su aplicación funcione en Android

    1. Añada la plataforma Android de Android como destino de depuración (lista de plataformas de soluciones) y , a continuación, seleccione Generar y , a continuación, Crear solución .
    2. Elija Android como destino de depuración (lista de plataformas de solución) y para que la aplicación funcione seleccione un destino como el VS Emulator 5 «KitKat (4.4) (se requiere Hyper-V) o Google Android Emulator (lento para cargar inicialmente).  
    3. Puede configurar un emulador de Google Android en AVD Manager .También puede ejecutar en el simulador de Ripple en su lugar, pero tendrá que utilizar la solución descrita más adelante en este artículo .
    4. Presione F5 y la aplicación debería cargarse correctamente.                     

    Haga que su aplicación funcione en iOS

    Puede ejecutar inicialmente en el Emulador de Ripple después de seleccionar iOS como destino de depuración, pero para obtener información detallada sobre cómo configurar el agente de remoción remota para iOS, consulte este tema .

    Las plantillas de inicio de Ionic deben ejecutarse correctamente en iOS cuando el agente de remotebuild se ejecuta en un Mac (o un servicio como MacInCloud) y cuando Visual Studio está configurado para conectarse a él.

 

LLegan las plataformas de inventores


En los últimos años hemos visto evolucionar la wikinomic hacia el crowdfunding, es decir, financiamiento colectivo. Este concepto ha llevado a plataformas como Kickstarter  a generar, tan sólo en 2012, $119 millones de dólares que se han ido directamente a financiar proyectos creados y apoyados por la comunidad. 

El problema no resuelto de Kickstarter es que sólo financia proyectos que requieren capital pero no llega a su revisión, seguimiento o lanzamiento de los mismos. Ese reto es justo el que Ben Kaufam se planteó para crear Quirky. ¿Cómo llegar a los inventores reales y no a los emprendedores únicamente? La respuestaes desarrollo social de productos (SPD o lo que es lo mismo  social product development ). 

 

Quirky.com   es una nueva plataforma  de plataformas globales que  en efecto pone en contacto a personas que sueñan con llevar  a la realidad física  una idea  con otras que tienen el conocimiento técnico, los medios, el expertise,  etc o en definitiva todo lo necesario (incluyendo capital humano y material)  para llevarlas a cabo  de  modo que  luego sea posible vender las creaciones resultantes a traves de su propia tienda online (quirky .com)

Precisamente es en este sitio  donde las personas pueden subir sus ideas e invenciones   de forma conceptual   y llegar al resto de la comunidad, así como a un equipo multidisciplinario de especialistas que involucra diseño, marketing, producción, ingeniería y viabilidad.

En conjunto, todos ayudan a la mejora del producto desde su aspecto, diseño de prototipos, análisis de mercado, modelo de negocio, branding, distribución y hasta la comercialización.

 

Por desgracia no todas las ideas valen ya que han de demostrar la necesidad ,por lo que entre todas las propuestas de cada semana se eligen las 10 mejores propuestas subidas a Quirky e inmediatamente se empieza a trabajar en ellas de  modo que puedan crear tres nuevos productos de consumo cada semana. Para ello, cada jueves se reúnen en una «idea debate» para escoger entre dos y cinco proyectos que desean apoyar. Si las ideas prueban que la necesidad existe y la gente desearía resolverlo, ellos lo fabrican y obviamente el autor  recibirá  un porcentaje de las ganancias de las ventas .

La idea por tanto es pues sencilla : si se facilita la producción a los inventores, entonces existirán millones de nuevas ideas pues permite focalizar a los inventores en la ideación dejando  todo los demás  a los profesionales, de los diseñadores e ingenieros que hacen posible que las cosas ocurran.

inventos.PNG

La invención se hace accesible gracias a tres brazos:

  • Tecnología
  • Comunidad
  • Equipo de expertos multidisciplinar

Quirky no es un modelo de producción sino de creación pues se basa en el supuesto de que las mejores ideas del mundo ( o al menos dentro de determinados sectores de consumo )   no están tanto en las compañías  como en las mentes de las personas pues realmente  todas las personas somos inventores por naturaleza.

Muy resumidamente el paso de la ideación a la puesta en el mercado comprende las siguientes fases:

  1.  La idea: Es el momento clave. Todas las personas podemos mejorar lo que existe o incluso crear una respuesta a una necesidad. Es el momento de creación.
  2.  Registro en la plataforma: Los inventores suben su idea contestando dos preguntas básicas: qué problema se está intentando solucionar y cómo intenta hacerlo. Para subir una idea se pagan 10 dólares, y en ese momento queda en manos de la comunidad.
  3.  Aceptación: La clave es mejorar una idea de negocio. Quirky incentiva a sus usuarios a proveer toda la retroalimentación necesaria para cada proyecto. Se seleccionan las mejores ideas y cada jueves se hace la evaluación de una decena de ellas. La comunidad de especialistas vota desde casa u oficina.
  4.  Preproducción: Inicia con la documentación e investigación; se analiza el mercado y pasa a la fase de diseño para posteriormente trabajar en el branding.  En esta fase, la comunidad también se involucra y gana dinero con su participación. A este modelo se le llama «influence»  un sistema de recompensas que mide la influencia de cada uno de los participantes y de acuerdo con su contribución se reparte el ingreso del producto creado.
  5.  Preventa: Para probar el éxito y la aceptación de un producto se lanza una campaña de preventa a un precio rebajado. Gracias a las unidades prevendidas se costea el proyecto.
  6.  Producción – manufactura: Si se logran las ventas mínimas requeridas, el producto se produce y lanza oficialmente, así empieza su proceso de expansión en el mercado (distribución).
  7.  Ventas – ganancias: Todos los beneficios obtenidos se repartirán entre todos aquellos que han participado e invertido en el proyecto.El modelo Quirky podría parecer fácil de replicar, pero hay algo que no podrá copiarse al 100%. Quirky combina un staff in-house de ingenieros, desarrolladores, diseñadores, mercadólogos y analistas de negocio que les apasionan los proyectos en lo que participan. Esto, se suma a una comunidad global que contribuye con ideas, sugerencias y nuevos proyectos, misma que ha «confiado en la plataforma» y está dispuesta a hacer dinero juntos. La confianza es difícil de construir; se gana, se demuestra, se construye con el tiempo y eso es lo que ha logrado Quirky.

 

Las ganancias de los productos que se comercialicen se repartirán entre el propio inventor, Quirky y los usuarios que ayudaran durante el proceso de diseño del producto.(el equipo de Quirky se reserva el 70% de los derechos del invento y el 30% que resta se distribuye a partes proporcionales entre todas las personas que han contribuido al mismo.)

En dos años que lleva funcionado este cruce entre red social y comercio electrónico, han salido a la venta ya 35 productos y hay otra treintena más en desarrollo.

 

 

Más informacion en https://www.quirky.com/