Home » Noticias » IBM lleva a Swift a la nube con Swift Package Catalog, ejecución en Bluemix o el servidor web Kitura

IBM lleva a Swift a la nube con Swift Package Catalog, ejecución en Bluemix o el servidor web Kitura

En la presentación de IBM en la Mobile World Congress fue cuando oímos las primeras noticias: IBM lanzaba un servidor web llamado Kitura. Un framework web ligero de código abierto, que permite la creación de servicios webs en rutas complejas y basado en Express.js. La principal diferencia de Kitura es que funciona en Swift, por lo que IBM nos brinda con este servidor que se monta sobre su infraestructura en la nube, Bluemix, la posibilidad crear paquetes en Swift para la parte backend.

Pero Kitura es solo la punta de la lanza pues el plato fuerte ha sido entregado en Las Vegas, donde IBM celebra en estos días su Conferencia Interconnect, enfocada en la nube y en movilidad: el concepto o la idea es sencilla: IBM ha implementado la posibilidad de ejecutar Swift sobre la infraestructura en la nube Bluemix creando un runtime que permite ejecutarlo, con lo que ahora pueden desplegarse contra este paquetes hechos en Swift. Y esto permitirá crear desarrollos end-to-end que permitan realizar una app en Swift para iOS y luego crear la parte web de backend también en el mismo Swift en vez de tener que usar otros lenguajes que hacen que el desarrollo se dificulte o sea más costoso.

Y además, IBM lo complementa con un catálogo propio llamado Swift Package Catalog, aun en fase beta pero con grandes posibilidades.

Swift Package Catalog

Pero, ¿qué es un package o paquete? Pues un package en Swift Open Source es como una librería, API o framework de los que usamos normalmente con Xcode: un proyecto completo que puede ser incluido con un import y que puede estar compuesto por más de un archivo.

IBM Swift Package Catalog, es una suerte de catálogo de desarrollos, propios o de terceros, donde cualquiera puede enviar sus soluciones para poner a disposición de la comunidad de desarrolladores. No solo paquetes que se ejecuten sobre la infraestructura de servidor y su nuevo runtime, si no también paquetes para usar dentro de nuestros propios proyectos en Swift Open Source.

Swift Package Catalog

En él podemos encontrar, no solo Kitura como framework web y servidor HTTP para Swift, si no otros paquetes como Gloss (un parser de JSON), CleanroomLogger (API des gestión de logs), Quick (el conocido framework de pruebas para Swift u Objective-C) o Alamofire, librería de networking en Swift.

Desarrollo end-to-end

Está claro que vivimos en la época dorada del desarrollo móvil. Todas las empresas quieren tener presencia en este mercado, pero los backend son elementos esenciales en muchos casos: lugares en la nube donde residan los datos de las apps, que proporcionen no solo persistencia de estos independientes al dispositivo, si no también procesos que se realicen fuera del dispositivo y que liberen a este de carga y aumenten su eficiencia. Por este motivo, todos los grandes del sector tecnológico como Apple, Microsoft, Oracle, Google, Amazon o IBM, muestran sus productos y armas intentando convencer a los desarrolladores de lo eficiente y económico de las posibilidades que brindan sus infraestructuras en cloud. Infraestructuras que en muchos casos han supuesto para alguno de estos actores la diferencia entre declarar pérdidas en un trimestre por su negocio o no. La nube “está de moda”.

Chris Lattner en IBM Interconnect

Pero si hay un elemento clave que permite a los desarrolladores una mayor eficiencia en sus desarrollos, es cuando usamos el mismo lenguaje de programación para la parte de la app y para la parte de backend que luego desplegamos en el servidor. Una de las partes que sin duda faltaban en Swift por su origen e idiosincrasia original. Pero ahora, al incorporar IBM una capa de ejecución de Swift dentro de Bluemix, esto ha dejado de ser un problema para el lenguaje y se ha convertido en toda una ventaja.

Tanto es así y tan importante ha sido el paso, que el propio Chris Lattner, responsable principal de Swift, el compilador clang o la infraestructura LLVM, se ha subido al escenario en una ponencia de la Conferencia IBM Interconnect, para poner un ejemplo de aplicación móvil donde Swift vive en cada una de las partes de la misma, incluida en la parte de la nube.

Y no queda ahí la cosa, ya que IBM también ha presentado Bluemix OpenWhisk, un servicio de programación dirigida por eventos, con soporte de Node.js o Swift, que permite una ejecución escalable de nuestro código y un despliegue simple y rápido del mismo. De esta forma, cualquier código que queramos que se ejecute en la nube tras provocar un evento de alguna característica en nuestra app, podrá ser colgado y ejecutado a través de este servicio con la consiguiente eficiencia de proceso y liberación de carga a los dispositivos.

Conclusiones

Swift ha entrado por la puerta grande en el mercado empresarial gracias a IBM. Ya no podemos decir que es un lenguaje para hacer apps y mirarlo como “algo menor”. Swift ahora se ha puesto a la altura de otros lenguajes como Java o C# y permite ser usado para un conjunto de soluciones y ecosistemas muy variados: no solo para desarrollo móvil, si no para programar toda la parte backend de servidor, procedimientos almacenados en la nube y ejecutados por eventos y mucho más. Y no solo para sistemas operativos de Apple, también en Linux, como os enseñamos hace poco.

Con la enorme apuesta que Apple e IBM están realizando, está claro que, como decía Brian Croll (presidente de marketing de producto de Apple) es el momento de aprender Swift y hacer algo grande. Ya saben que aquí se lo vamos a poner fácil y pueden adquirir nuestro libro “Aprendiendo Swift 2” que a mediados de marzo (con el lanzamiento de iOS 9.3) recibirá una actualización del mismo a Swift 2.2 e incluirá un par de capítulos nuevos sobre Swift en Linux. Hasta la próxima y Good Apple Coding.

swift@IBM-dev | Sitio web
IBM Swift Package Catalog | Sitio web
IBM Bluemix OpenWhisk | Sitio web
Swift en la nube con IBM | Sitio web
Kitura (Proyecto Open Source) | Repositorio en GitHub

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Portada Vídeo News

Apple Coding News llega a YouTube

Los boletines de noticias de Apple Coding llegan a YouTube. Descúbrelos y disfruta la mejor forma de seguirnos y estar al día. La más completa. Una forma única de no solo oír las noticias del mundo del desarrollo como nadie más te las cuenta, también podrás descubrir todos los detalles detrás con el apoyo visual del formato que solo YouTube permite. Una nueva experiencia Apple Coding.

  • Juan Carlos García Abril

    Buenas Julio. He visto que se puede registrar de forma gratuita, nos podrías que limitaciones podemos tener y un poco como empezar con este bluemix. Gracias

    • Hola Juan Carlos,
      Esta misma semana tendremos un tutorial sobre cómo crear paquetes para Swift Open Source y tras esto, daremos una breve introducción a Bluemix y cómo desplegar un paquete de backend contra este que conecte a nuestra app.
      Un saludo

  • Santiago NuSs

    Buenos dias, el registro en Bluemix es libre y te da 30 dias de trial si deseas usarlo por mas tiempo tendrias que pagar o en su defect crearte otras cuentas, lo malo es que no puedes migrar tus apps o servicios creados desde una cuenta a otra. En realidad los costos no son demasiado elevados a excepcion de los servicios watson que con la gran cantidad de data que recibira podria incurror en costos un poco no esperados para los desarrolladores que desean probar.

    • Hola Santiago,
      Muchas gracias por la información. No obstante, pasados los 30 días el coste sigue siendo gratuito en función del uso (carga de usuarios y solicitudes) así como dependiendo del tipo de servicio: si usas runtimes de entornos o contenedores. En etapa de desarrollo es fácil que el coste sea 0. Puedes ver los planes en el siguiente enlace: https://console.eu-gb.bluemix.net/pricing/

  • Pedro Internet

    Hola, No estoy seguro de entender. ¿Kitura también es un framework para desarrollo web? Es decir páginas con html+css+javascript?

    • Hola Pedro. Kitura es un servidor/framework http, por lo que puedes desplegar páginas como normalmente harías. La diferencia es que también soporta el despliegue de paquetes de Swift que pueden ser invocados como backend a través de JSON.
      Un saludo

      • Pedro Internet

        Gracias Julio, Si se pude usar Swift para poder hacer páginas webs en vez de php entonces Swift va a ser impresionante. Un saludo.