Entradas

Formación apropiada para ser un gran ingeniero o desarrollador iOS

La mejor formación como desarrollador iOS la puedes obtener en libros, blogs, vídeos y cursos online, como en la UNED. Investiga y domina los nuevos paradigmas de Swift.

En el artículo tercero de la serie “¿Cómo desarrollar una aplicación iOS en Madrid?”, Carmelo Ruymán Quintana mostró sus trucos para que sus proyectos estén a la vanguardia del desarrollo de aplicaciones iOS.

A continuación, nos aconsejará qué deberías aprender si deseas estar a la vanguardia del desarrollo de apps.

¿Qué tipo de formación consideras que es la más apropiada para ser un gran ingeniero o desarrollador iOS?

Para ser ingeniero de desarrollo de aplicaciones móviles, sobre todo para la parte de iOS, es muy interesante conocer, que existen herramientas que puedes encontrar en Internet. Desde libros, vídeos, cursos, hay muchas plataformas que te ofrecen estos cursos. La UNED por ejemplo, tiene varios cursos interesantes en esta área de iOS. Hay blogs de muchas personas interesantes, en este mundo del desarrollo para iOS. Sobretodo a mí me encanta, libros más técnicos sobre Programación Orientada a Protocolos, RxSwift y TDD. Estos libros al final te ayudan a evolucionar, a estar presente sobre estás áreas que todavía no están cubiertas en muchos vídeos. A mí, básicamente, los libros son lo que más me ha ayudado a crecer, sobretodo el tema de tenerlo escrito, te ayuda más en el inglés, que es una cosa muy importante para el mundo del desarrollo en iOS, y en el desarrollo en general. Eso te ayuda a ti, a que tu código tenga esa fluidez técnica. Para que puedas básicamente, ser bastante bueno, tanto como el que ha escrito el libro. Básicamente eso, no parar de estudiar, de crecer, de ver vídeos, de tener siempre esas inquietudes. Y cosa nueva que salga, Swift 4.2, Swift 5, pues siempre investigar un poquito. Cuales son las novedades que van a salir y emplearlas. Usar un Playground, jugar con ello, ver cómo era antes, ver cómo es después. Siempre estar a la última.

Autor: Pedro Hernández

En el segundo artículo Carmelo profundiza en el día a día de un Ingeniero Senior iOS y explica qué cualidades valoras más en un desarrollador iOS.

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Proyectos iOS para tener una importancia internacional

Un proyecto iOS utiliza tecnologías y herramientas. Son una ventaja crearlo con Swift, RxSwift, RxCocoa, Carthage, Cocoapods, framework propios y tests.

 

En el artículo segundo de la serie “¿Cómo desarrollar una aplicación iOS en Madrid?”, Carmelo Ruymán Quintana nos describió las cualidades que hacen que un desarrollador iOS pueda crear un proyecto de alta calidad. Además, de cómo se organiza el día a día.

 

Por esa razón, en este artículo quiero que escuches la experiencia que nos transmite con la respuesta a la siguiente pregunta:

 

Al hacer proyectos que van a tener una importancia internacional, ¿qué tipo de tecnologías o herramientas utilizas?

Pues personalmente soy muy propenso a crear librerías propias, a desacoplar bastantes partes del código, como la librería de comunicaciones, la librería de interfaz o la librería que controla los dispositivos por Bluetooth. Me voy creando mis propias librerías. Para ello, empleo Carthage, para hacer la inyección de estas librerías en mis proyectos. Luego también mi gran aliado es Cocoapods, porque muchas de las librerías de terceros con Cocoapods es más fácil integrarlas en tus proyectos. Y alguna cosilla más que pueda mencionar, pues obviamente es Swift. Ha sido un antes y un después el emplear Swift como lenguaje de desarrollo principal. Y es que la versatilidad que te da, la posibilidad de uso, y el novedoso sistema de protocolos que tiene este lenguaje, ayuda muchísimo. Tu idea de código, tu idea a desarrollar, esculpirla en código, es mucho más fácil con Swift, que lo que era antes con Objetive-C. Esto quieras o no es una gran ventaja. Luego cosas que uso, como he mencionado antes RxSwift, ayuda muchísimo a simplificar tu código, hacerlo bastante limpio e inteligente. La vista en sí, el ViewController, con los bindings haces de forma muy elegante, sencillo y simple el código. Poquitas cosas más que pueda añadir. Básicamente eso, uso muchas librerías propias, las cuales puedo luego ir creciendo, aumentando y metiéndoles en features nuevas. Y que no contengan elementos de otras librerías como Alamofire o AFNetworking para el tema de las comunicaciones con la API. Al final esas librerías pesan más y añaden más cosas de las que realmente necesito. Mi obsesión es esa: crear mis propias librerías con mis funcionalidades sencillas a las cuales les aplico los tests. Así no tengo preocupaciones cuando haya una actualización, que me perjudique en mi código.

 

En el siguiente artículo nos recomienda la formación en la que deberías formarte si quieres estar entre la élite de los ingenieros o desarrolladores iOS.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Proyectos iOS para tener una importancia internacional

Un proyecto iOS utiliza tecnologías y herramientas. Son una ventaja crearlo con Swift, RxSwift, RxCocoa, Carthage, Cocoapods, framework propios y tests.

 

En el artículo segundo de la serie “¿Cómo desarrollar una aplicación iOS en Madrid?”, Carmelo Ruymán Quintana nos describió las cualidades que hacen que un desarrollador iOS pueda crear un proyecto de alta calidad. Además, de cómo se organiza el día a día.

 

Por esa razón, en este artículo quiero que escuches la experiencia que nos transmite con la respuesta a la siguiente pregunta:

 

Al hacer proyectos que van a tener una importancia internacional, ¿qué tipo de tecnologías o herramientas utilizas?

Pues personalmente soy muy propenso a crear librerías propias, a desacoplar bastantes partes del código, como la librería de comunicaciones, la librería de interfaz o la librería que controla los dispositivos por Bluetooth. Me voy creando mis propias librerías. Para ello, empleo Carthage, para hacer la inyección de estas librerías en mis proyectos. Luego también mi gran aliado es Cocoapods, porque muchas de las librerías de terceros con Cocoapods es más fácil integrarlas en tus proyectos. Y alguna cosilla más que pueda mencionar, pues obviamente es Swift. Ha sido un antes y un después el emplear Swift como lenguaje de desarrollo principal. Y es que la versatilidad que te da, la posibilidad de uso, y el novedoso sistema de protocolos que tiene este lenguaje, ayuda muchísimo. Tu idea de código, tu idea a desarrollar, esculpirla en código, es mucho más fácil con Swift, que lo que era antes con Objetive-C. Esto quieras o no es una gran ventaja. Luego cosas que uso, como he mencionado antes RxSwift, ayuda muchísimo a simplificar tu código, hacerlo bastante limpio e inteligente. La vista en sí, el ViewController, con los bindings haces de forma muy elegante, sencillo y simple el código. Poquitas cosas más que pueda añadir. Básicamente eso, uso muchas librerías propias, las cuales puedo luego ir creciendo, aumentando y metiéndoles en features nuevas. Y que no contengan elementos de otras librerías como Alamofire o AFNetworking para el tema de las comunicaciones con la API. Al final esas librerías pesan más y añaden más cosas de las que realmente necesito. Mi obsesión es esa: crear mis propias librerías con mis funcionalidades sencillas a las cuales les aplico los tests. Así no tengo preocupaciones cuando haya una actualización, que me perjudique en mi código.

 

En el siguiente artículo nos recomienda la formación en la que deberías formarte si quieres estar entre la élite de los ingenieros o desarrolladores iOS.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

El día a día de un Ingeniero Senior iOS

El día a día de un Ingeniero Senior iOS es muy productivo, especialmente al trabajar en remoto. Aprende las cualidades esenciales que te convertirán en Senior.

En el artículo anterior de la serie “¿Cómo desarrollar una aplicación iOS en Madrid?”, Carmelo Ruymán Quintana nos contó las decisiones que tomo para llegar a ser un Ingeniero iOS y que le permitieron estar trabajando con aplicaciones de gran éxito.

En este artículo nos contará cómo se organiza para poder crear las aplicaciones.

Como Ingeniero Senior iOS, ¿cuál es tu día a día?

Una de las cosas buenas que tiene esta profesión, y sobre todo ahora mismo como Senior, es que puedo trabajar desde casa, sin ningún problema. Tengo la confianza de mi responsable, ve que mi trabajo siempre es bueno y con una calidad excelente. Y el trabajar en casa, es un plus que se agradece muchísimo, porque te aíslas de las distracciones que tienes en la oficina. Puedes hacer un Kit-Kat, tomarte tu café en la terraza y luego volver al trabajo de forma tranquila y organizada. Entonces me gestiono mucho mejor y eso es bastante bueno, porque se ve reflejado en tu código.

 

¿Qué cualidades valoras más en un desarrollador iOS?

Un desarrollador iOS, no es una persona especial, jaja, aunque quizás algunos sí los tratan como especiales. Pero lo bueno que tiene esta plataforma, es que es super versátil, aparte de ser gratuita en las herramientas y tener la herramienta de Xcode. Se adapta super bien al desarrollo. Las posibilidades son infinitas. Te encuentras realizando código, con Swift ahora actualmente, y ves que mucha gente trabaja igual que tú, con la misma calidad, empleando las mismas arquitecturas. Y lo que tiene de divertido es que siempre hay un área nueva. Por ejemplo, puedes usar SpriteKit para realizar un juego o usarlo simplemente para generar gráficas, con lo cual mejoras el rendimiento. Siempre vas creciendo como profesional y vas mejorando el código. Vas mejorando tu aplicación, y eso como desarrollador de iOS lo valoro mucho.

¿Qué estudiar para ser un gran ingeniero o desarrollador iOS?

Para llegar a ser un buen ingeniero de iOS, hay muchísimas herramientas. No tienes porque utilizarlas todas. Para mí las más interesantes son libros de temas muy técnicos, por ejemplo, como emplear la Programación Orientada a Protocolos. Un paradigma que el primer lenguaje de programación que utiliza esta forma de programar es Swift. Luego están libros para programación reactiva como en RxSwift, o TDD. Son libros que te ayudan a que tu código sea bastante eficiente, con un lenguaje muy técnico a la hora de representarlo. Los vídeos también están muy bien. La ventaja que tiene un libro sobre un vídeo es que, en un libro, al final cuando lo lees, esa terminología técnica se te queda, se te impregna más en la cabeza, y la hora de llevarla a tu código resulta más versátil. Luego, pues, también veo mucho vídeos de plataformas como Udemy, o cursos de la UNED que son muy interesantes. Básicamente es eso. Luego hay una cosa que siempre me gusta investigar, blog de varias personas muy profesionales, que siempre están a la última, como tú. Hay blogs, donde explican nuevas funcionalidades del Swift 4.2 ó programación reactiva. Al final hay mucha gente como tú, que tienen esas inquietudes, y al final les gusta aportar en este mundo. Al final hay una comunidad muy interesante que te ayuda avanzar. Internet es una herramienta ideal para estar al día. Bajarte esos libros, comprarlos y emplearlos para crecer como ingeniero en el desarrollo iOS.

 

En el tercer artículo Carmelo nos detalla qué herramientas y cómo organiza un proyecto para que sea su código de alta calidad.

Autor: Pedro Hernández
¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 9)

Las mejores recomendaciones si quieres trabajar en Suecia como desarrollador de apps iOS con Swift. Muchas posibilidades de trabajo: Google, Spotify, Klarna bank.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el octavo post Ginés nos mostró esas pequeñas cosas que nos traen las estaciones del año con sus cambios de temperatura y en especial en Suecia con las pocas horas de sol en invierno y al contrario las muchas horas de luz en el verano.

Os dejamos el noveno y último post.

Las mejores recomendaciones si quieres trabajar en Suecia como desarrollador o desarrolladora de apps.

Yo os recomendaría sobre todo, lo que hemos comentado antes. En cuanto a aprendizaje, el inglés es fundamental. No solo en Suecia, sino en otros países. Pienso que debéis trabajarlo bastante. Corregir muy bien la pronunciación. Tener buen listening porque vais a trabajar con gente de diferentes países y diferentes acentos. Y algunos son bastante difíciles de entender. Eso respecto al inglés.

Lo que es formación de Ingeniero. Aprender a desarrollar aplicaciones. Intentar coger una formación de calidad. Que el instructor, el profesor tenga un buen background. Que tenga experiencia. Porque al final, se nota esa calidad. Así es como vais a aprender de verdad. No tres tutoriales sencillos. Puedes aprender algo. Pero hay conceptos que no son saber programar y de los que debes aprender.

Respecto a Suecia. El clima es un poquito duro, pero la calidad de vida es muy buena. Hay muchas vacaciones, un ritmo de trabajo bastante más relajado que en otros países. Tienes las posibilidades de crecer y hay muchísimas empresas. Es decir, no estoy agusto en esta empresa, hay un montón de empresas que te están bombardeando constantemente con emails para que trabajes con ellos. No solo empresas grandes. La startups pequeñitas también. Te cuenta que acaban de sacar una aplicación, pues yo que sé, una para medir no sé qué del consumo eléctrico. También, te mandan emails directamente desde Spotify, Skype ya no está, pero también te mandaban, Klarna bank qué es un banco súper potente, luego había un banco público de Suecia también. Es decir una vez que estás allí, tienes muchas más posibilidades de trabajo que estando en otra ciudad más pequeña o estando en Madrid. Madrid tiene, por ejemplo, en España, tiene muchas posibilidades de trabajo pero el techo salarial y el techo de crecimiento de desarrollo profesional, es más bajo. Ahora mismo, puedo echar el currículum en Google y tengo bastantes posibilidades de que me cojan. Eso es difícil de hacer en España. O Spotify. O bancos importantes.

Cada pasito que das, no solo es mejorar a nivel de un proyecto más grande, es también de subida de salario, más beneficios. Posiblemente, a lo mejor tengas una semana más de vacaciones. Eso se puede negociar. Empiezas con cinco semanas de vacaciones. Pero puedes negociar tener seis. O, cuando tengas más experiencia, siete. Hay muchísimas cosas, más luego todos los servicios. La conciliación familiar que tienes. Si tuvieras hijos, esta semana entran los niños al colegio, pues puedes no trabajar. Eso está por ley. O trabajo desde casa porque tengo que coger los niños. Cosas así. También puedes cogerte si es vacaciones son vacaciones de niños. Pase lo que pase aunque esté el proyecto a punto de entregar. Te puedes coger las vacaciones porque para el Estado es súper importante que tengas esa conciliación familiar. Que puedas tener esa facilidad.

Hay muchísimas cosas. Si quieres estudiar, como ya te he comentado antes, tienes universidad gratis. Son muchas cosas. Yo creo que es una gran opción. No es una ciudad super grande. Tiene de todo, porque es una capital de un país. Puedes ir a andar coger un metro o cualquier cosa. A cinco minutos tienes un parque gigantesco que parece que estás en el campo. Si no te gustan las ciudades super grandes, es una buena opción. Tiene sus cosas positivas y negativas, pero para mí son mucho más positivas que negativas.

Muchas gracias Ginés por compartir tus experiencias. Ha sido un gran placer estar contigo. Te agradezco mucho los buenos consejos que has dado para toda aquella persona que le gustaría irse a trabajar a Suecia. Un país con buenas ofertas de trabajo para los ingenieros y desarrolladores iOS.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 5)

Programador vs Ingeniero de software. La única cosa en común las tareas de programación. El ingeniero tiene diseño de arquitectura iOS con MVVM y frameworks.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el cuarto post Ginés analizó en detalle las ventajas que tiene el lenguaje de programación Swift en comparación con Objective-C para el desarrollo de aplicaciones en dispositivos Apple.

Os dejamos el quinto post.

¿Hay diferencia entre un programador y un ingeniero iOS?

Yo diría que solo hay una cosa en común entre un desarrollador y un ingeniero de software. Ambos realizan tareas de programación. Esa es la única cosa en común entre ambos.

El ingeniero tiene que decidir y desarrollar también tareas sobre el diseño de arquitectura, y ayudar también en el diseño de la interfaz de usuario. Por ejemplo, en diseño de arquitectura, un patrón bastante común de diseño de software, que utilizan mucho en Apple y que para empezar está bastante bien, porque te permite desarrollar, coger los conceptos de lo que es una vista, que es un controlador, etc… Es el modelo vista controlador.

Nosotros estamos aplicando ahora mismo el modelo vista MVVM. Tenemos un modelo vista o un view model que se dice en inglés. No sólo es aplicar ese modelo, sino decidir si la vista, el controlador, vista modelo, va a utilizar o realizar una tarea. Porque tenemos que distribuir unas tareas, por ejemplo. Eso es a nivel de diseño de arquitectura. Pero es que la arquitectura no para ahí. Nosotros también tenemos que decidir, qué vamos a implementar en la aplicación o en nuestros frameworks que también desarrollamos. También ahí donde debemos tomar decisiones a nivel de diseño de arquitectura. A parte, cada framework tiene su propia arquitectura que tenemos que decir cómo es. Nuestra única tarea no es programar.

Después de realizar todas estas tareas, también tenemos reuniones. Decidimos cómo desarrollar este tipo de cosas. Pero no solo entran los ingenieros de software de nuestro equipo, sino también con los diseñadores. Es importante dar nuestro punto de vista a nivel de cómo se puede implementar una solución. Ellos quieren implementar una interfaz de usuario, pero nosotros tenemos que decirles las limitaciones que podemos tener o no, a la hora de hacerlas. O si es posible o no. A lo mejor no tiene en cuenta el teclado y cuando aparece el teclado, nos tapa algo. Es importante trabajar codo con codo con los diseñadores y eso, también es parte de nuestras tareas. La diferencia de tareas que hay entre ambos, que son muchas.

En el sexto post Ginés ofrece unos consejos para que aprendas Swift de una forma que te sea útil para trabajar y que aproveches al máximo tu tiempo, dinero y energía.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 3)

Cuando termina el trabajo, Estocolmo tiene un motón de sitios donde ir. En invierno: esquí y patinaje. En verano: días largos, barco, bañarse, bicicleta, correr.

 

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

 

En el segundo post Ginés detalló como es el día a día al desarrollar una aplicación en una startup sueca.

 

Os dejamos el tercer post.

Cuando termina del trabajo de un Senior iOS Engineer, ¿cómo es vivir allí? y ¿qué ver en Estocolmo?

En Suecia, y con eso me refiero a Escandinavia, la época del año te limita o al revés, te da una gran oportunidad de hacer cosas.

 

El invierno, el mayor problema no es que sea muy frío, sino que es oscuro. Por las tardes suele estar oscuro. Tienes que forzarte a ti mismo para hacer cosas. Como he dicho, ir al gimnasio, quedar con gente, suelen ser actividades más de estar en casas, en locales. Una ciudad como Estocolmo, que es grande, tiene un montón de sitios donde ir: para tomar una cerveza con amigos, restaurantes de todo tipo de todas nacionalidades, montonazo de conciertos. Hay una pequeña montañita donde la gente va a esquiar. Yo tengo un problema de rodilla y no puedo ir. Cuando hay nieve, la gente hace esquí alpino o de campo a través. Digamos que en invierno esquían, hacen patinaje.

 

Cuando llega el verano los días son muy largos. Si hace sol, todo el mundo está en la calle, en las terrazas. Todo está verde en Estocolmo. Tienes muchísimos sitios que ver. Está el casco viejo, hay museos, el parque de atracciones. También tienes la zona del ayuntamiento, que es un sitio muy mítico, un montón de iglesias. Te puedes dar un buen paseo sin problemas.  También puedes coger el transporte público. A nivel de transporte público, está muy bien. Con una tarjetita tienes derecho a todo, incluso ferries (vas entre isla e isla). Hay sitios muy bonitos, con muy buenas vistas para tomarte una cerveza y para cenar. Esa es la diferencia con el invierno. Toda la gente está un poco más recogida, ves gente en las calles, porque tienes que salir a hacer cosas, y en verano es más todo el mundo con el barco. Los suecos navegan mucho, tienen un montón de barcos. Estocolmo son varias islas y está llena embarcaderos. Al final es barcos, bañarse, bicicleta, correr…

No es, quizás, como en España, de donde soy, que puedes hacer ciertas actividades durante prácticamente todo el año. Allí no, te tienes que adaptar un poquito al clima y a la época del año.

 

 

En el cuarto post tienes las claves que han hecho tan popular el lenguaje de programación Swift para todos los dispositivos de Apple, incluso para la programación a nivel de servidores.

 

Autor: Pedro Hernández

 

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 2)

Vivir en Suecia es tener una calidad de vida muy alta. Trabajar en Suecia como desarrollador iOS con Scrum. Tiempo libre para hacer muchas actividades para jugar.

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño.

En el primer post Ginés nos explicó las razones que han hecho que Suecia sea tan importante para el desarrollo de aplicaciones.

Os dejamos el segundo post.
¿Cómo es vivir y trabajar en Suecia para un Senior iOS Engineer?
No todo es perfecto. Tiene sus pros y contras. Si empiezo por los contras, es un país un poco frío. Los inviernos son largos, fríos, aunque todo está bien preparado. A la gente al principio le cuesta socializar. Una vez que pasas cierto grado, necesitan un cierto grado de interacciones para confiar en ti, entonces es cuando te consideran verdaderos amigos.

La calidad de vida es muy alta. Tienes mucho tiempo libre, lo que facilita congeniar la vida personal con la laboral. Es muy raro echar horas extras o trabajar los fines de semana. Tiene mucha flexibilidad para trabajar desde casa. Por ejemplo si te traen muebles, etc. Si vienes de fuera como yo, la mayoría de las empresas te dan flexibilidad para poder trabajar una o dos semanas desde tu país de origen.

El ritmo de trabajo es mucho más relajado, no les gusta presionar a los desarrolladores tanto como en España. En España lo normal es que si tienes una entrega, un proyecto de 6 meses, se hace en 3 meses y tienes que trabajar 60 ó 70 horas a la semana. Allí se negocia mucho con el desarrollador la fecha de entrega y a veces se puede posponer.

Aparte intentan hacer muchas actividades lúdicas. Alguna fiesta. Por ejemplo, en mi empresa tenemos cerveza gratis todos los viernes para que la gente socialice, vídeo consolas, juegos de mesa, jugar a rol… Cosas así.


¿Cómo es el día a día?

Suelo llegar temprano. La gente suele llegar un poco más tarde, porque hay flexibilidad a la hora de entrar. Llego a las 8:30 y trabajo como una hora y media o dos, centrándome en tareas que ya tenía planificadas. Después, normalmente nosotros utilizamos Scrum, tenemos la daily meeting sobre las 10:00 ó 10:15. Ya que, a esa hora, casi todo el mundo está en la oficina. Si no, se puede hacer una llamada online y así la gente también puede participar en la reunión.

Luego, se sigue desarrollando aunque también tenemos reuniones específicas de lo que es arquitectura. Hablamos de la arquitectura a nivel de desarrollo, de nuestros frameworks, de nuestras aplicaciones, también sobre cómo integrar y desarrollar los diseños, con los diseñadores y gente de productos, sobre la necesidad de nuevos productos. No solo es desarrollar, sino también es todo lo que implica el diseño, la arquitectura y la toma de decisiones de frameworks que se van a necesitar, o que no se van a necesitar.

También tienes mucha flexibilidad, bueno esto es un poco a nivel más personal. Por ejemplo, irte al gimnasio a la hora de comer desconectas un poquito. Yo a veces lo hago. De vez en cuando hacemos descansos para jugar al futbolín. No es tan estresante como en España de 8:30 a 5 ó 5:30 sin parar. Si algún día me tengo que quedar un poco más, me quedo, pero luego siempre se compensa. Porque aquí lo que les interesa verdaderamente es que desarrolles, que hagas tu trabajo, que cumplas las fechas. Ellos piensan que tú eres una persona responsable y te dan totalmente libertad. Puedes ir a la oficina, no ir a la oficina, irte al gimnasio, no ir al gimnasio, jugar al futbolín… Mientras que ellos vean que estás llegando a tus tareas y cumpliendo los plazos que ellos te están diciendo, lo demás les da igual.


En el tercer post descubrirás todas las posibilidades que ofrece Estocolmo una vez que has terminado el trabajo.

Autor: Pedro Hernández

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

¿Cómo desarrollar una aplicación iOS en Suecia? (Parte 1)

Como es trabajar en Suecia como Senior iOS Engineer para programar apps en lenguaje Swift. ¿Por qué es importante Suecia para el desarrollo de aplicaciones?

A continuación, os presentamos una serie de nueve posts, que nos permitirán obtener una visión clara de como es trabajar en Suecia, para un Senior iOS Engineer, para programar apps con el lenguaje Swift. Lo que coloquialmente denominamos desarrollo de aplicaciones en iOS para iPhone e iPad. Toda una experiencia que nos cuenta Ginés Sánchez Meroño. Os dejamos el primer post.

Todos tenemos objetivos que conseguir en la vida. Unas veces están cerca de nosotros y en otras hay que salir de la zona de confort para conseguirlos. Suecia es un país con una gran cultura tecnológica. Siempre ha habido una afinidad cultural entre los suecos y las suecas por la cultura española, la fiesta, la creatividad y el sol. De igual forma, en España ha existido atracción hacia los suecos y las suecas, su naturaleza y su cultura vanguardista.

Te quiero presentar a Ginés, un hombre valiente, decidido y un gran ingeniero que trabaja en Suecia desde hace unos años. Además, descubrirás cómo es la vida y trabajar allí: calidad de vida y calidad en el empleo.

La entrevista la tienes en formato vídeo o escrito. Seguro que te sorprenderán muchas cosas 😉 ¡Empecemos!

¿Por qué es importante Suecia para el desarrollo de aplicaciones?

Suecia, principalmente en Estocolmo, se ha convertido en un centro muy importante en desarrollo de aplicaciones móviles.  A principios del año 2000, hace cerca de 20 años, el Estado les daba a todos los alumnos de Bachillerato un ordenador portátil.  Y aunque no toda la gente lo utilizaba para eso, hubo mucha gente que empezó desarrollar aplicaciones y sus ideas en sus sótanos, tipo Silicon Valley . De ahí han salido empresas tan importantes como Spotify, Skype… aunque creo que Skype también había gente de Eslovenia. Pero digamos que de ahí surgieron un montón de empresas importantes. A eso, hay que añadir que, como ha pasado en San Francisco, en Estados Unidos, el dinero que ganan lo han invertido en startups. Entonces se ha creado ahí un círculo que se autoalimenta y que ha conseguido hace que haya un montón de empresas. Hay empresas muy muy grandes ahora está EPIC desarrollando, creo, un motor para móviles. Google también está ahí y, como he dicho antes, también Spotify. Luego también hay startups muy pequeñas como la que yo trabajo, Kaching. O como Klarna Bank un banco muy pequeño, pero ahora también muy potente.

 

 

En la segunda parte profundiza en la parte humana de cómo es el día a día, vivir y trabajar en Suecia para un Senior iOS Engineer.

 

Autor: Pedro Hernández

 

¿Quieres aprender más?

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.

Los Gestos iOS en iPhone e iPad (Parte 2)

En Los Gestos iOS en iPhone e iPad (Parte 1) se profundizó en los gestos disponibles en iOS, desde un punto de vista como usuario y se creó el contexto para programar estos gestos. Así que, una vez escrita la base para un developer, o como en castellano nos gusta llamar un programador o programadora, aquí empieza la segunda parte que se centrará en el código a escribir. Comprenderás qué código Swift necesitas para habilitar en una bola naranja los gestos de tocar y arrastrar. Para ello, se utilizará Xcode 10 con Swift 4.2 en un Playground, que es la forma más eficaz para aprender el lenguaje de programación Swift.

 

El objetivo por alcanzar es crear una Live View con una bola, como lo que puedes ver en este vídeo:

 

Como has visto, si solo pulsas la bola naranja se vuelve de color verde y aumenta de tamaño, mientras que si la arrastras, aumenta el diámetro de la bola y al soltarla vuelve a tu tamaño original.

 

Paso a paso

 

En este artículo te explicaré línea a línea el código que necesitarás escribir en el Playground.

 

Antes de empezar a escribir, siempre debes tener claro que es lo que vas a hacer y con qué objetivo. En el vídeo anterior has visto la finalidad, y con el siguiente vídeo deseo que visualices la estructura que tendrá el Playground para que así sepas qué clases necesitarás para conseguirlo. Dentro del Playground Gestos habrá dos clases en la carpeta Sources: FondoView y BolaGestosView. Estas dos clases serán utilizadas por el Playground. FondoView es una clase auxiliar que he creado para la visualización de la Live View.

 

En el siguiente enlace puedes descargarte de GitHub el Playground para poder iniciar el ejemplo: gestos-playground-blog-inicio

¡Empieza la acción!

En primer lugar, crea el playground Gestos en Xcode 10, importando los frameworks UIKit y PlaygroundSupport. A continuación, escribe el código para crear un rectángulo blanco para mostrarlo en la Live View del playground, como si fuese el fondo de una pantalla del iPhone.

 

En la carpeta Sources crea el archivo Swift llamado BolaGestosView. Importa el framework UIKit y escribe la clase BolaGestosView que heredará de la clase UIView. Tendrá un nivel de acceso open para que el Playground pueda usarla.

 

En esta clase escribe el código para crear las funciones para escalar y mover. La función escalar se activará cuando pulses sobre la bola o inicies el arrastre. La función mover se iniciará al arrastrar la bola.

 

Escalar recibirá un número para saber el factor de escala. Recuerda que 1.0 deja a la bola en su mismo tamaño, mientras que un número mayor a 1 aumentará el tamaño de la bola. La animación tiene una duración de 0.1 segundos, con un movimiento en la animación de inicio lento y finalización lenta, tal y como especifica curveEaseInOut. En la animación se le asignará a la bola una transformación de escala.

 

Mover recibe el punto de translación en el que se está arrastrando la bola. Ese punto se lo asigna al centro de la bola. De esta forma, hace que se mueva la bola acorde al movimiento de arrastre. Una vez terminado dicho movimiento se reinicia a cero la translación. Esto evitará un valor incremental en los movimientos de arrastre.

 

Ahora llega el momento de crear las funciones que se activarán cuando se inicien los gestos de pulsar y el de arrastrar.

 

Lo primero es añadirle la palabra clave @objc, debido a que será llamada desde una variable que utiliza un selector, que internamente todavía utiliza elementos creados con el lenguaje de programación Objective-C.

 

La función manejarPulsar recibirá el gesto de pulsar para que así se pueda imprimir el punto exacto que se ha pulsado. Como puedes observar, están comentadas las dos primeras líneas para que decidas si quieres que se imprima por consola el punto pulsado. Entonces, las puedes descomentar eliminando las dos barras. Dentro de esta función hay otra animación con una duración de 0.1 segundos y dicha animación será más lenta al terminar. Esta animación cambiará el color de la bola a verde y aumentará su escala al doble de su tamaño. Una vez terminada esta primera acción, empezará la segunda. Le he añadido un pequeño retraso de otro 0.1 para que permanezca el color verde un poco más, y luego volverá la bola a su color naranja y a su tamaño original mediante la escala con valor 1.

 

La función manejarArrastrar recibe el gesto de arrastrar. De esta forma se puede obtener los diferentes estados del gesto mediante los casos del switch. El primero se produce cuando se inicia el arrastre, aumentando un poco la bola. A continuación, cuando el estado cambia, inicia el movimiento de la bola. Finalmente, cuando termina, se le asigna la escala a 1 para que vuelva la bola a su tamaño inicial.

 

En la parte superior de esta clase se crearán las propiedades que le asignan la función a ejecutar cuando se activa el gesto de pulsar o Tap Gesture, así como el gesto de arrastrar o Pan Gesture. Puedes observar como cada variable, usando los selectores, llama a las funciones que has escrito anteriormente. Estas variables vienen precedidas por lazy, debido a que no se inicializarán hasta que no sean llamadas por el código en tiempo de ejecución.

 

El siguiente diagrama muestra la estructura de estas variables:

 

La variable gesto pulsar mediante el selector activará las acciones que se producirán en la función manejarPulsar(sender:), que a su vez iniciará la función de escalar la bola.

 

Por otra parte, la variable gesto arrastrar iniciará la acción del selector llamando la función manejarArrastrar(sender:). Y como recordarás, los casos del switch llamarán las funciones escalar o mover, según corresponda.

 

Ha llegado la hora de escribir los inicializadores de la clase.

 

El primer init será público para poder usarlo en el Playground. Dentro de él se creará un array constante con las variables de los gestos que creaste antes. A continuación, se realizarán iteraciones sobre el array gestos para añadirlos a la vista, o sea, a la bola.

 

Luego viene un init de conveniencia para poder crear la bola con las dimensiones de un rectángulo. La primera línea establecerá el tamaño recibido para asignárselo a la vista de la bola. En la segunda línea crea un radio del rectángulo, o en este playground un cuadrado. El radio será la mitad del ancho del cuadrado, de esta forma se convertirá en un círculo. La tercera línea activa el radio en la vista.

 

Finalmente se declarará el init requerido para que así se cumpla con los requisitos de los inicializadores de esta clase.

 

A continuación, escribe el código en el Playground para crear la instancia de la bola. Crearás una constante conforme a la clase BolaGestosView.

 

Al ir entre llaves, la inicialización de la bola puede personalizar la creación de la vista. En la primera línea estableces que será un cuadrado de 100 puntos, en la segunda línea defines que el punto sobre el que se aplicarán las transformaciones está en el centro geométrico de la bola. Luego le asignas el color naranja. Finalmente, mediante el return asignas la vista creada a la bola.

 

Seguidamente en la inicialización de la bola, para simplificar, se mostrará el centro de la bola en el centro de la vista blanca del fondo. Por esa razón, la última línea añade la bola al fondo para que sea visible en la Live View.

 

En el siguiente enlace puedes descargarte el Playground terminado desde GitHub, por si deseas compararlo con el tuyo: gestos-playground-blog-terminado

Tutorial completo en: https://theemotionapps.com/tutorial-gesture-recognizer-en-ios-swift-4-2/

 

¿Quieres aprender más?

 

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

 

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

 

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

 

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.

 

CREACIÓN PROFESIONAL DE APLICACIONES DESDE LA IDEA HASTA EL APP STORE. Certificado de Enseñanza Abierta.