Thursday, May 30, 2019

Modulo 5 -Submodulo 2 iOS -Parcial 1 Teoría.

¿Qué herramientas físicas y etéreas (o sea, hardware y software) hacen falta para programar para iOS?

Básicamente con un Mac es suficiente... bueno obligatorio diría yo. Luego a nivel de software está XCode, que es gratuito, y viene con todo lo necesario. Eso sí, para desplegar aplicaciones, aunque sea para probarlas en tu propio iPhone para depurarlas, te va a tocar pagar la cuota de desarrollador de Apple... Luego ya más etéreo, dosis de paciencia y querer aprender!

Nota: Si no tienes un Mac, existen alternativas legales y económicas para desarrollar para iOS como el “alquiler” de un Mac en remoto. En la ficha del curso encontrarás más información al respecto en el apartado “Requisitos técnicos”.

¿Qué conocimientos previos hacen falta?

Básicamente conocimientos de desarrollo. Si vienes de C todo es más fácil por la semejanza de Objective-C a este lenguaje. Si vienes de C++/C#/Java o algún otro lenguaje similar (orientado a objetos y basado en clases) también perfecto porque todos esos conceptos los reaprovechas.

Si no sabes programar, tocará aprender esos conceptos previos. En este caso es mucho mejor empezar con Swift, que es un lenguaje mucho más moderno y amigable que Objective-C que bueno... se le nota la edad. De hecho, sinceramente, es mejor empezar con Swift sea cual sea tu nivel previo... pero deberías conocer y familiarizarte un poco con Objective-C. Quizá esté condenado a morir, pero no tengo claro que sea una muerte rápida.

A nivel de dificultad, programar para iOS no es ni más fácil ni más difícil que hacerlo para Android o Windows Phone o incluso para Windows de escritorio o MacOSX... cada plataforma tiene sus peculiaridades pero los conceptos básicos son los mismos.

¿Qué perfil de programador podría dar el salto a iOS con mayor seguridad?

Un desarrollador desktop seguro... porque básicamente las aplicaciones iOS son aplicaciones desktop... salvo que corren en teléfonos o tablets, pero los conceptos son los mismos. Evidentemente si sabes programar para MacOSX tienes mucho trecho recorrido, ya que ya conocerás a Cocoa y a XCode. Si vienes de otros desarrollos no te sabría decir...Desarrollador web es algo ambiguo: no tiene nada que ver un desarrollador de frontend de uno de backend... Los conceptos de la web (CSS, HTML y JavaScript) son bastante distintos a los de iOS, así como el modelo de desarrollo... quizá un desarrollador de frontend con bastante experiencia en JavaScript pueda tener claros los conceptos de orientación a objetos, clases y demás que son necesarios para desarrollar para iOS, pero no sería lo normal. Un desarrollador de backend puede que si, dependiendo de en qué plataforma desarrolle. Y un desarrollador mobile "de la vieja escuela" no tengo ni idea porque nunca he hecho nada para Blacberry o Symbian. Si sirve Windows Mobile, pues bueno, hay diferencias bastante grandes, pero también partirían en buena posición para dar el salto.

Y por supuesto los desarrolladores móviles "modernos", sea de Windows Phone o Android estarían en una posición destacada ya que muchos conceptos son los mismos.

Eso sí, en cualquier caso va a tocar aprender XCode, Swift y como iOS usa el modelo MVC... amén de una API nueva, claro.

¿Qué es Swift?

Swift no añade nada nuevo al desarrollo de iOS, salvo un nuevo lenguaje con una sintaxis moderna y mucho más sencilla... ¡lo que no es poco!
Es complicado decir, pero los genéricos (aún con sus limitaciones) y las funciones lambda son novedades muy refrescantes para el desarrollo iOS. Sí... ya estaban en otros lenguajes y entornos pero es que eso es básicamente lo que hace Swift: traer características ya existentes en otros lenguajes al desarrollo para iOS, donde Objective-C estaba un poco anquilosado, la verdad.

No comments:

Post a Comment