Estuvimos con Sergio Torrijos, programador de aplicaciones para iOS y autor de los libros “La guía completa para programar en iOS 8 con Swift de A a Z” y “La guía completa para programar en iOS 9 con Swift de A a Z” y nos contó su experiencia en el competitivo campo de la programación y de los libros técnicos.
Índice
Hola Sergio ¿Háblanos de ti?
Me llamo Sergio, tengo 17 años, soy estudiante de bachiller. Siempre he estado interesado por el mundo de la informática y sus diferentes ramas. Aunque desde una edad bastante temprana ya llevaba a cabo algunos proyectos, mi punto de inflexión lo produjo el hecho de comenzar a desarrollar aplicaciones en 2014, lo cual marcaría todo mi futuro, pasando por escribir un libro, participar en un Boot Camp, estar presente en diferentes conferencias en Europa acerca de iOS para llegar hasta ahora con mi segundo libro publicado, y pensando en poder participar en la conferencia WWDC 2016. Nunca imaginé que podría saber en que centrar mi futuro desde tan joven, pero si una cosa tengo clara es que quiero alcanzar todo cuanto me sea posible en este entorno de las aplicaciones, exprimiendo al máximo tantas increíbles e interminables oportunidades que se presentan cada día en este sector.
¿Has desarrollado alguna App para iPhone o iPad?
Presente en la App Store de momento no. Las aplicaciones que he desarrollado hasta ahora han sido las más de 10 presentes en mi libro, la aplicación que comencé a desarrollar hace unas semanas para el centro donde estudio, y tan pronto Apple de permiso, comenzaré con la aplicación que tengo en mente para la beca que proporcionan directamente para asistir a la conferencia WWDC anual en San Francisco. Una vez haya terminado esos proyectos, comenzaré ya sí con mi proyecto personal, para lanzar la primera aplicación bajo mi nombre en la tienda.
¿Qué estudiaste y cómo llegaste a convertirte en programador y autor de libros?
Actualmente estoy terminando segundo de bachiller. En lo que respecta a iOS comencé en 2014, comprando libros y cursos, todos ellos en inglés, para así poder comenzar a programar sin base alguna. Tras ir estudiando paralelamente a mis estudios, decidí escribir en 2015 mi primer libro y una vez terminado apuntarme a un Boot Camp de 2 meses, donde conocí a varios estudiantes de diversos países, los cuales se convertirían en grandes amigos, que comparten gran parte de mis intereses, y donde aprendí más acerca de iOS y como desenvolverme en el mundo laboral en este sector. Fue a partir de ese punto de inflexión donde me animé a atender conferencias de iOS, lo cual prácticamente desconocida hasta ese momento. A partir de ahí continué estudiando y aprendiendo más y más, mejorando lo que ya sabía a base de contenido en internet.
Mas allá del obvio componente económico, ¿qué te impulsó a escribir las guías para programar con Swift en iOS 8 y iOS 9?
Como se suele decir, un signo de que has entendido algún concepto es poder explicárselo a cualquier otra persona, y eso es lo que tomé como referencia para desarrollar mi libro. Me tomé el proyecto de escribirlo como si fueran mis apuntes y a partir de ahí fui formando todos los capítulos con todos los contenidos que veía que eran fundamentales para hacer aplicaciones en iOS. Comencé con el de iOS 8 de 220 hojas y a base de aumentar, actualizar, modificar y editar llegué a las 360 páginas de iOS 9, y con varias nuevas modificaciones en mente. Mi primer libro me sirvió como base para asentar todos mis conocimientos y poder acceder a ellos de manera rápida, ayudando al mismo tiempo a otros desarrolladores que se querían iniciar en el mundo de la programación.
El mundo de la programación es fascinante, ¿es complicado programar aplicaciones para iPhone?
Desde mi punto de vista no es tan difícil como parece, aunque impresiona al comienzo. Fíjate, yo, sin estudios de ningún tipo (no he tenido la oportunidad de cursarlos aún) soy capaz de crear aplicaciones, por lo que cualquiera es capaz sin ningún inconveniente. También es cierto que hay muy buenos programas para conseguir una idea de la programación de manera visual, creando todos los métodos sin programar, y a partir de ahí ir cogiendo una base hasta atreverse a meterse en el mundo, creando la tan famosa aplicación inicial “Hola Mundo”. Por ello, animo a cualquiera que sienta curiosidad por este sector a comenzar con algún lenguaje, que al principio puede costar, pero luego es fascinante ver como cada día vas aprendiendo y soltándote como si de una nueva lengua se tratase.
Desde el punto de vista del usuario ha habido cambios entre iOS 8 y iOS 9 pero no trascendentales ¿lo fueron desde el lado del programador?
La presentación de iOS 9 se produjo en la WWDC 15, y el lanzamiento fue junto al del iPhone 6s, lo cual tuvo algunas novedades, que acompañadas de la actualización a Swift 2 marcó grandes diferencias. En primer lugar, con el iPhone 6s se introdujo 3D Touch, previamente presentado con el MacBook (Force Touch) lo cual abrió nuevas posibilidades a la hora de desarrollar y diseñar la interfaz. Por otra parte en el lenguaje, con el paso de Swift 1.2 (la versión predecesora) a Swift 2 hubo algunos cambios, como por ejemplo la nueva gestión de errores, algunos cambios en la implementación, y el más significativo de todos, convirtieron Swift en Open Source, lo cual significa que cualquier sistema puede incorporar este lenguaje, aunque de momento solo se ha anunciado para Linux. Esto abre una nueva puerta, para permitir crecer exponencialmente a Swift como lenguaje nativo, pudiendo verlo presente, como ya se ha visto en algunos repositorios de Github, creando aplicaciones para Android.
¿El programar para iOS es para cualquiera o hay que contar con alguna base sólida en el campo?
Como ya comenté antes, yo comencé a programar sin base alguna, y a partir de mi curiosidad, empeño y búsqueda en internet se van aprendiendo todos los conceptos posibles para luego plasmarlos en la aplicación. Si te haces con unos buenos materiales para aprender el lenguaje, desde los que Apple proporciona, pasando por páginas reputadas en internet hasta mi libro, puedes conocer casi cualquier concepto que te propongas. Aunque, claro, para pasar a ser un desarrollador experto necesitas mucha experiencia, entre ello el hecho de tener estudios ayuda a la hora de planificar y llevar a cabo proyecto exigentes, consiguiendo una mayor base en lo que a lenguajes de programación se refiere a la hora de cursar una carrera, específica de informática, en sus diferentes vertientes. Pese a eso, hoy día cualquiera que se lo proponga, con internet es capaz de crear todo cuanto imagine, con dedicación.
¿Cómo recomiendas iniciarte en el mundo de la programación para iOS?
En primer lugar, como la aventura va a ser larga, muchas ganas y dedicación. A partir de ahí, todo cuanto te propongas saldrá rodado. Deberás hacerte con algunos materiales, como por ejemplo los que Apple proporciona de manera gratuita para conocer todo acerca de Swift 2, y comenzar aprendiendo y practicando tantos conceptos como te sean posibles, dedicándole el tiempo necesario hasta asentar un determinado concepto, para poder pasar al siguiente. También es recomendable aprender algo de C++ y Objective – C, el lenguaje predecesor, para entender como funcionan muchas de las librerías aún activas y conseguir una mayor base en lo que al lenguaje se refiere, pudiendo entender la procedencia de lo que estudiarás en Swift. De todos modos, Apple se propuso con Swift simplificar el lenguaje, haciendo más intuitivo, por lo que si te decides a comenzar directamente en Swift, no tendrás ningún problema.
Aparte de realizar la aplicación, para que esté disponible en la App Store ¿Qué pasos has de seguir?
Bueno, una vez que te ves con todo preparado para comenzar la ardua tarea de publicación, contando con tener la cuenta de desarrollador correctamente activada y verificada, lo que deberemos de hacer será crear todos los materiales gráficos, ya sean vistas previas o iconos para nuestra aplicación, en lo cual debemos tener en cuenta que Apple se fija mucho en los tamaños de las imágenes. También se nos recomienda subir un vídeo de vista previa de nuestra aplicación, así como los metadatos, es decir, introducir todos los datos relacionados con nuestra aplicación, como por ejemplo el título, descripción, palabras clave, etc… Por último, una vez que hemos completado todo lo anterior, podemos compilar y proceder a enviarla mediante iTunes Connect, esperando así la revisión de Apple, que pueda llevarse a cabo con los mínimos errores y en el menor tiempo posible.
¿Es muy costoso tener una cuenta de desarrollador de Apps?
Teóricamente el precio de desarrollador son 99 $ al año, pero Apple desde el lanzamiento de Swift 2 en WWDC 15 amplió su oferta de desarrollador, permitiendo a aquellos que no tienen en mente publicar una aplicación, poder usar la cuenta de manera gratuita, pudiendo instalar la aplicación en su dispositivo, probándola en él, por lo que podemos decidir si queremos abonar el precio anual de 99 $ una vez que tengamos nuestra aplicación lista para salir al mercado, ahorrándonos así el precio en el caso de que retrasemos el lanzamiento o no nos veamos decididos a seguir programando.
Hay muchos jóvenes entusiasmados con la posibilidad de crearse un porvenir desarrollando aplicaciones ¿Crees que hay realmente un fértil campo para una evolución profesional a futuro o es una moda pasajera?
En los últimos años hemos visto un crecimiento exponencial en el mercado de aplicaciones, llegando incluso a “forzar” a las compañías a crear contenido digital si quieren seguir existiendo, ya que pocas quedan que no se hayan sumado al carro de las aplicaciones. Por ello, parece que esto de las aplicaciones ha venido para quedarse, junto a las páginas web, ya que ha reinventado la manera de ver las cosas, haciendo poco viable actualmente volver al modelo anterior. Hoy día muchas empresas ofrecen puestos de desarrollador de aplicaciones, mejor o peor pagados dependiendo la localización, siendo muchas veces la demanda superior a la oferta, por lo que es un mercado que al menos a medio plazo parece bastante viable, ya veremos que nos depara el futuro en este sector.
¿Cómo es de exigente Apple en el momento de tener que aprobar una aplicación?
Si una cosa tiene bastante clara Apple respecto a sus aplicaciones, como dijo Steve Jobs, “iPhone, el iPod y el iPad son dispositivos geniales, los cuales no podían ‘embrutecerse’ con aplicaciones de terceros poco dignas de estos dispositivos” Por lo que Apple es muy exigente con sus aplicaciones, no permitiendo así aplicaciones a medio hacer o con un diseño poco acorde a las lineas generales de la empresa. Normalmente se necesitan unos 10 días para tener la aplicación en linea, si no tenemos ningún contratiempo por el camino. Apple, para evitar imprevistos nos proporciona unos mínimos en los que se basan a la hora de aceptar la aplicación, los cuales podemos encontrar aquí: https://developer.apple.com/app-store/review/guidelines/. Apple es, como ya hemos comentado muy exigente con tal de conseguir una interfaz fluida y fácil para el usuario, por lo que necesitaremos probar varias veces la aplicación para dar por seguro de que hemos diseñado bien la interfaz. Del mismo modo, cualquier error a la hora de rellenar los metadatos en iTunes Connect puede dar lugar a un retraso en el lanzamiento de nuestra aplicación, por lo que si vamos justos de tiempo necesitamos prestar atención a este apartado. En conclusión, tal y como nos afirma Apple en su web https://developer.apple.com/app-store/review/rejections/ respecto a cuales son los principales motivos por los que se rechazan las aplicaciones, algunos de ellos nombrados previamente, debemos andar revisando todo y dandole varias comprobaciones para asegurarnos de tener todo bien cerrado para lanzarla y que salga todo a la primera.
Vemos muy a menudo decenas de aplicaciones muy similares entre sí, ¿cómo haces tú para defender tus propios derechos intelectuales sobre una app cuando la misma se distribuye en muchos países con distintas y complejas legislaciones respecto a la propiedad intelectual? ¿Apple da algún tipo de soporte al respecto?
Lo único que se necesita para lanzar una aplicación a la Store es una idea y presupuesto para desarrollarla. Ahora bien, proteger esta idea no será nada fácil, ya que éstas no se pueden proteger debido a que no es posible monopolizar una idea. Por ello, lo único que nos queda será mantenerla oculta hasta el momento de su lanzamiento y tratar de exprimirla al máximo para evitar que la competencia sea capaz de mejorarla rápidamente. Uno de los aspectos más importantes para distinguirse con la aplicación es la marca, es decir, el nombre de la empresa encargada de desarollarlo, ya que si contamos con reputación nos hará destacar de cara al usuario, poniéndonos por delante de aquellos que han tratado de imitar nuestra aplicación, por lo que podemos registrar nuestro nombre comercial en la oficina de patentes y marcas, así como cualquier contenido que se encuentre presente en nuestra aplicación.
Desgraciadamente Apple no proporciona ningún soporte en cuanto a protección de ideas se refiere, por lo que todo cuanto queramos proteger deberá ir de la mano de terceras empresas, que debemos escoger bien a la hora de distribuirla mundialmente, ya que cada país se rige por una legislación diferente. Por lo que, en conclusión, debemos tratar de exprimir nuestra idea al máximo, mantenerla en secreto hasta prácticamente el día de lanzamiento y tratar de proteger todo cuanto sea posible, desde nuestro nombre comercial hasta los contenidos que se encuentran en nuestra aplicación.
Le agradecemos a Sergio por su tiempo. Y a vosotros os haremos un regalo: las dos primeras personas que hagan un comentario sobre el artículo recibirán un promocode para descargar el libro “La guía completa para programar en iOS 9 con Swift de A a Z”. No os la debéis perder.