Desarrolladores de apps, ¡atención! Swift entra en escena

Desarrolladores de apps, ¡atención! Swift entra en escena

Disclaimer: ¡este es un post técnico! Si necesitas asesoramiento sobre Swift y las implicaciones que tiene su uso en relación con tus proyectos, consúltanos sin ningún compromiso! En Totemcat estamos para ayudarte 🙂

Hace un par de días nos despertábamos con la noticia de que Apple hacía Open Source Swift, su nuevo lenguaje de programación. Gran parte de la comunidad de desarrolladores de apps para la plataforma de Apple estarán de acuerdo en que Objetive C quizá no era el lenguaje más intuitivo y flexible del mundo. Una mejora se intuía necesaria, pero… ¿era necesario crear un nuevo lenguaje de la nada para cubrir esta carencia? ¿Tiene sentido habiendo en la actualidad lenguajes tan potentes y populares como Ruby, Python, Javascript…? -por mencionar unos cuantos.- A continuación analizamos algunos aspectos que podrían justificar esta decisión.

desarrolladores de apps

Swift, la voz cantante en el desarrollo de apps para dispositivos de Apple.

Los de Cupertino querían un lenguaje que tuviese una relación muy estrecha con la programación funcional.

He aquí una de las principales razones que motivaron la creación de Swift, un nuevo lenguaje completamente separado de la filosofía y sintaxis de Objetive C. Este último había dado en esa linea, aproximándose poco a poco en ciertos aspectos al paradigma de la programación funcional – soportado en parte por los otros lenguajes anteriormente mencionados.- Pero Apple quería un lenguaje mucho más cerca de la programación funcional. Muchos desarrolladores de apps quizá se pregunten: ¿por qué no adaptar un lenguaje como Haskell? Otras restricciones -que analizamos en este artículo- nos separan de esta posibilidad. Seguimos.

Lenguaje compilado, no interpretado.

Los lenguajes interpretados son muy flexibles a la hora de ejecutarlos en diversas plataformas. Pero en el universo de Apple, esto por ahora no tiene mucho sentido. Queremos código máquina, no código pre-compilado o interpretado. Los desarrolladores de apps saben que la eficiencia en un móvil es un bien preciado -por las restricciones en hardware de estos dispositivos presentan.- y es aquí donde un lenguaje compilado gana por goleada. Este era otro punto de separación con clásicos como Python, Ruby y demás.

Necesidad de un tipado fuerte en la declaración de variables.

Objetive C es un lenguaje dinámico y no tipado, pero con un compilador que nos ayuda a detectar la mayor parte de problemas que pueden surgir en este sentido. Con Swift el planteamiento de Apple es claro: el dinamismo está bien, pero el tipado fuerte de datos previene de posibles errores, y permite la optimización del código en el momento de la compilación. En definitiva, el tipado fuerte de datos es una buena filosofía y nos aporta muchas ventajas, a pesar de que en ciertas ocasiones tengamos que ser algo creativos para plantear soluciones de forma flexible y eficiente. Este punto no es algo que asuste a los desarrolladores de apps para móviles. En cambio, el que una aplicación sea interpretada y, quizá por ello, menos eficiente en su ejecución, eso sí que puede ser una pesadilla a la hora de desarrollar aplicaciones complejas.

El lenguaje debía tener una sintaxis sencilla, y que pudiese ser rápidamente ‘evolucionable’ por el equipo de ingenieros de Apple

Y es este es quizá el punto que más podía frenar la adopción de cualquier otro lenguaje de programación ‘popular’. Estos lenguajes suelen estar sometido al control de organismos con procesos de toma de decisiones normalmente lentos. Además, la filosofía de Apple dicta que sean ellos mismos quien controlen completamente su lenguaje. Que el lenguaje sea ahora Open Source no supone ningún freno en este sentido, pues Apple conserva el poder para modificarlo y adaptarlo a las necesidades que vayan surgiendo de una manera rápida, corporativa y eficaz.

Este factor es completamente comprensible. Otras compañías como Microsoft también tienen sus propios lenguajes. La diferencia en este caso es la filosofía de evolución del lenguaje que uno controla. Así como Microsoft se preocupa de que las evoluciones de C# sean compatibles con las versiones anteriores del lenguaje, Apple no duda en deprecar lo que sea necesario, evolucionando el lenguaje de tal manera que en pocas iteraciones el código del pasado queda obsoleto. Adaptación -del código- o muerte. Ésta es la filosofía en el tratamiento del código por parte de Apple, y la responsable de hondos lamentos por parte de muchos desarrolladores de apps cuando dichos cambios aparecen de la noche a la mañana.-

Soporte perfecto del código desarrollado en Objetive C

Objetive C es un lenguaje muy dinámico, y este nuevo lenguaje debía ser completamente compatible con todo el código, librerías e interfaces existentes en Objetive C. Pese a que han existido varios intentos de integrar Objetive C con Python, Ruby e incluso con Java, en ningún caso se ha llegado a satisfacer el resto de requerimientos anteriormente expuestos.

Swift, nuevo lenguaje para los desarrolladores de apps.

En conclusión: no existía ningún lenguaje que cubriese todas las necesidades anteriormente descritas. Y esto nos conduce a la única solución posible, que era crear un lenguaje nuevo desde cero. A pesar de que lenguajes como Haskell o Ruby comparten gran parte de los requerimientos principales que se buscaban en un inicio, flaquean en otros que son igual de importantes.

A día de hoy, Swift está lejos de ser un lenguaje maduro. Irá cambiando en los próximos años, incorporando nuevas posibilidades y ampliando su potencia y versatilidad. No obstante, en la actualidad es un lenguaje moderno y con puntos muy interesantes. Una equilibrada mezcla del paradigma imperativo y funcional -con limitaciones-, con la potencia de la programación orientada a objetos.

Y el hecho de que ahora sea Open Source seguro que ayuda a que su uso se expanda de manera más rápida entre multitud de comunidades de desarrolladores de apps.

En Totemcat programamos en nativo, tanto en Swift como en Objetive C

Como desarrolladores de apps, nos adaptamos a aquellas herramientas que nos hacen la vida más fácil. Swift es una de ellas. Nos permite programar aplicaciones en entorno nativo a mayor velocidad, generando un código más compacto, potente y reutilizable. Si necesitas una empresa de desarrollo de aplicaciones para dispositivos móviles con experiencia, cuéntanos tu idea.

¿Necesitas un equipo de desarrollo de aplicaciones móviles con experiencia?
¡Contacta con nosotros ahora! Te asesoramos sin ningún compromiso.

Comentarios están cerrados



Esta página web utiliza cookies, tanto propias como de terceros, para recopilar información estadística sobre su navegación. Si pulsas en el botón ACEPTAR, consideramos que acepta su uso. Más información sobre las cookies

ACEPTAR