Entradas

¿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 7)

¿Qué necesito para tener trabajo en Suecia para crear apps iOS? Nivel de inglés, Comunidad Europea o tener visado, contrato, período de prueba, ayudas.

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 sexto post Ginés nos dio buenos consejos para aprovechar nuestro tiempo, dinero y energía para aprender de una forma eficaz el lenguaje de programación Swift para crear aplicaciones iOS.

Os dejamos el séptimo post.

¿Qué necesito para tener éxito en Suecia?

Ir a Suecia y conseguir un trabajo en Suecia no es una cosa fácil. Primero, tienes que tener un buen nivel de inglés. Yo creo que en España, el que se considera B2, se quede, quizás, un poquito corto. Es decir, tendrías que ir con C1, para estar suelto porque los españoles saben mucha gramática. Pero la pronunciación, el oído, el listening, se nota que el nivel no es tan alto. Eso fundamental, porque allí mínimo te van a pedir inglés, sobre todo las empresas de desarrollo de software. Casi todas trabajan en inglés. Es raro que te pidan Sueco. Podría darse algún caso. Pero, incluso si es alguna empresa es muy potente o alguna empresa nacional, como un banco, si desarrollas software, te permiten trabajar en inglés.

Luego dentro de la Comunidad Europea, al ser español lo tienes un poquito más fácil, porque si consigues un contrato, automáticamente vas a la oficina de impuestos, te registras con el contrato, te dan el número de la Seguridad Social. Eres sueco, para todo. Para lo bueno y para lo malo. Para pagar impuestos y para todo lo que son servicios sociales. Por ejemplo, si decides a los dos años, que quieres estudiar en la Universidad, te van a pagar la Universidad. La universidad es gratis si eres ciudadano europeo, pero posiblemente tengas más ayudas o te puedas permitir ciertas cosas.

Si no eres de la Comunidad Europea, la empresa te tiene que esponsorizar el visado. Eso implica que tienes que estar en la empresa, mínimo dos años, porque ellos son los que pagan por tu visado, para que vayas a trabajar a Suecia. Entonces, es un poco más complicado. Yo conozco gente de fuera, de la India, de Venezuela, Irán, Marruecos… que sí lo han conseguido. Al principio, tienes un permiso de residencia temporal, que tienes que renovar. A veces se les cruzan los cables, y no te lo renuevan. Como le pasó aún chaval, que era de Afganistán y tuvo que irse, cuando había trabajado 4 ó 5 años. Son este tipo de cosas. Es un poco más difícil, pero normalmente si tienes el visado y estás trabajando, y estás contratado, no debes de tener problemas.

Qué más. Te van hacer muchas entrevistas. El nivel de inglés te lo van a comprobar en la entrevista. No te piden ningún título. Luego te van hacer, entrevistas técnicas, personales, por qué quieres ir a Suecia. Qué hace mucho frío. Tenéis que ir bastante bien preparados. También si la empresa es muy importante, te va a hacer una entrevista en la ciudad. Te van a invitar y te van a pagar el vuelo. Van a conocer a gente porque ellos lo valoran mucho, tanto el conocimiento que puedas aportar a la empresa, como cómo seas una persona. Que se pueda integrar. Ellos quieren que seas una persona que no solo aporte a nivel de desarrollo, que hagas tu trabajo, que no des problemas… Lo típico. Ellos quieren que te integres bien en el equipo. Ellos valoran mucho que una persona esté bien integrada. Bien con el resto de compañeros y tal. Eso lo valoran bastante.

Lo normal allí en estas empresas es un período de prueba de seis meses. Y una vez que lo pasas, normalmente, tienes contrato indefinido. Aunque también puedes ir como freelancer, contratos de duración estipulada, seis meses, un año lo que sea. Pero es lo normal allí. Y una vez que estas seis meses, si es una empresa grande, es muy difícil que te echen porque las leyes para despedir a gente son bastante duras para las empresas en Suecia. Aunque puede pasar que no pases el periodo de prueba. Por eso tienes que tener cuidado. No te vayas a confiar. Pero bueno. En el momento que vean que si vienes de un país que trabajas bastante, haces tu trabajo, llegas a las horas que tienes que llegar y tal, desarrollas tus tareas y te llevas bien con los compañeros, es bastante fácil pasar el periodo de prueba.

 

 

En el octavo post Ginés nos explica como están las casas adaptadas para el tiempo y las horas de luz que podrás disfrutar en Estocolmo.

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 6)

¿Cómo aprender a programar aplicaciones iOS con Swift? Las ventajas de las Universidades online como la UNED. El profesor puede resolver tus dudas.

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 quinto post Ginés nos describió las tareas que hace un ingeniero iOS. El desarrollar aplicaciones móviles es un trabajo de equipo.

Os dejamos el sexto post.

¿Cómo aprender a programar aplicaciones iOS con Swift?

¿Cómo aprendí Swift?. Bueno, a la fuerza un poquito. Fue al cambiar de un trabajo a otro y fue pasar de Objective-C a Swift. A nivel de intentar desarrollarlo empecé con lo típico. Ya sabía desarrollar, programar, tenía conceptos de iOS y había trabajado con iOS varios años.

Empecé con tutoriales y algunos cursos de plataformas online, que ofrecen cursos a un precio razonable como Udemy. Hice varios cursos, pero después me di cuenta que con estos cursos, al final, llegaba a un punto que veía que alguna cosa estaba bien, pero quien daba el curso, tenía un conocimiento bastante limitado. Por eso, una de las cosas que os recomendaría, que el curso no sólo fuera de programación básico. Sino un poco más, como hemos comentado antes, desde una perspectiva más de ingeniero. Que te de más nociones de arquitectura, repositorio, publicar aplicaciones, diseño… Creo que es fundamental no solo picar código. Porque, al final, se nota muchísimo una persona que ha sido ingeniero de software a un simple desarrollador que se ha hecho unos tutoriales.

Otra opción, que es un poco más cara, pero también quizás te de otras ventajas, son las Universidades y Universidades online como la UNED, que están desarrollando cursos de desarrollo para iOS. Ahí, la ventaja es que tienes un profesor que puede resolver tus dudas, que está contigo y seguramente ese profesor ha tenido que pasar una criba bastante más fuerte que la de la persona que está desarrollando los cursos en una plataforma online como Udemy, y seguramente sea mejor. Tienes que valorar un poco, tu poder económico, el tiempo que puedas dedicar, si ya tienes experiencia. Hay diferentes factores a tener en cuenta. Pero también hay varias opciones.

En el séptimo post Ginés explica qué piden las empresas suecas para que puedas trabajar en una empresa tecnológica. Además, nos cuenta experiencias tanto si eres de la Unión Europea como de otro país.

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 4)

¿Que es Swift? Es muy potente: enum, programación funcional, map, filter, estructuras, protocolos y extensiones. Te cambia la manera de desarrollar aplicaciones móviles.

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 tercer post Ginés nos contó todas las actividades divertidas que puedes hacer en Estocolmo.

Os dejamos el cuarto post.
¿Qué es Swift al programar una app?
La verdad es que ha sido un cambio para desarrollar aplicaciones de iOS. Un cambio abismal.

Yo venía de desarrollar aplicaciones para Objective-C. Estaba acostumbrado al lenguaje y me resultaba un lenguaje cómodo de usar. Al principio, un poco complicado, pero era cómodo porque tenías todas las estructuras. Digamos que Apple, los ingenieros de Apple, proporciona todas las estructuras de los eventos, como el viewDidLoad. Cuando creabas un UIViewController, tenías un pequeño esqueleto a la hora de desarrollar una aplicación que te permitía hacer cosas.

Cuando llegó Swift fue como una explosión. Es un lenguaje que se escribe diferente. Es un poco parecido a Java a la hora de escribir. Pero utiliza programación funcional, que yo había utilizado muy poquito. Que ahonda mucho más en los protocolos, luego hablaré un poco más sobre ellos. Ahora se pueden crear estructuras que no estabas acostumbrado a utilizar. Éstas te proporcionan una versatilidad y potencia abismal. Hasta llegar al punto que no solo se utiliza para el desarrollo de aplicaciones para iOS. También se utiliza para el desarrollo de backend en empresas como Facebook.

Es un lenguaje de programación muy potente. Es muy potente, por ejemplo, porque tenemos los enum puedes hacer cualquier cosa con ellos. Es una herramienta súper potente, es que puedes crear no solo el enum, te permite llamar funciones, te da mucha versatilidad si quieres crear como varios tipos, o un tipo que tiene varios tipos, por decirlo de alguna manera. Pero luego, también tenemos, como he comentado antes, la programación funcional que te permite manejar estructuras como los arrays. Con todo ese tipo de cosas, ya te vienen las funciones. Entonces ya no tienes que estar creando los for o bucles, como todo lo que dicen españolizando costumizado. Ya no hay que customizar tanto. Sabes que tienes map si sabes que vas a recorrer todo el array, o vas hacer un filter, vamos a filtrar. Se indica condición booleana y ya está. Entonces, al final, implica que estás escribiendo menos código.

También tenemos las estructuras, que es un poco un pequeño sustituto de las clases. Parece que a los ingenieros de Apple no les gusta que utilicemos las clases. Nosotros usamos mucho las estructuras y, la verdad, es que funcionan prácticamente igual y se supone que no estás trabajando con un objeto por referencia.

Al final también han potenciado, y es otra herramienta que te permite no usar clases aunque parezca raro, es la programación orientada a protocolos. Y lo que han potenciado muchísimo. Un protocolo te permite hacer cualquier cosa. Tú con un protocolo defines las propiedades que quieras utilizar, las funciones. La instancia que las quiere utilizar, adopta el protocolo y, automáticamente, tienes esas esa instancia tiene esas propiedades y esas funciones. Y luego puedes tener una implementación por defecto que es una extensión del protocolo. Eso da muchísima versatilidad y está funcionando bastante bien.

La transición de una manera de pensar para la programación orientada a objetos a una programación orientada a protocolos, más programación funcional, más enum que hace mil cosas, no es sencilla. La verdad es que es un lenguaje de programación muy potente y, cuando lo dominas, es muy práctico y muy cómodo. Escribes muchas menos líneas de código. Creo que la gente debe aprenderlo o intentar aprender un lenguaje de programación como este. Pensado en esta manera, porque te cambia totalmente la manera de pensar a la hora de desarrollar aplicaciones móviles.

En el quinto post Ginés desglosa las principales diferencias entre un programador y un ingeniero iOS, y como es la interrelación con el equipo de 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 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.

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.

DH@Madrid Curso de Verano 2018: “Aplicaciones y posibilidades del procesamiento del lenguaje natural para la investigación en HD”

La UNED a través de su oferta formativa de cursos de verano 2018 y organizado por el LINHD y el proyecto ERC POSTDATA, ofrece el curso “Aplicaciones y posibilidades del procesamiento del lenguaje natural para la investigación en Humanidades Digitales”

Este curso se propone ser una introducción al Procesamiento del Lenguaje Natural centrado en su aplicación a los problemas propios de la investigación en Humanidades Digitales. Su meta es introducir a los estudiantes con una formación en humanidades o ciencias sociales el contenido técnico buscando un enfoque claro y diverso, haciéndoles ver las distintas posibilidades a la hora de encarar su trabajo o investigación.

El curso de verano de Humanidades Digitales de la UNED se celebra anualmente desde 2014. Está dirigido todos aquellos interesados en métodos digitales de investigación aplicados a las humanidades, y centrado principalmente en personas con formación humanística, pero abierto a todo aquel interesado.

El curso se oferta tanto de forma presencial como online en directo y en diferido. Del 9 al 11 de julio de 2018 en la UNED.

 

Si no dispones de tiempo para abordar en profundidad tu formación durante el año o quieres especializarte, esta es una buena oportunidad de aprender y aprovechar las vacaciones para afrontar la nueva temporada con un perfil profesional más completo, con nosotros.

 

Mas información

LINHD organiza el curso: “INTRODUCCIÓN A LA EDICIÓN DIGITAL ACADÉMICA”

 

Este verano es el momento perfecto para continuar con tu formación. LINHD te ayuda a conseguir tus objetivos, gracias a las nuevas tecnologías, puedes realizar el cursos online es más sencillo que nunca, y puedes mejorar tus aptitudes y competencias desde cualquier lugar. Además, si quieres conocernos te esperamos en Madrid, del 13-17 de julio, en la Facultad de Económicas, UNED. Se inicia el curso Organizado por LINHD, como en pasadas ediciones, “INTRODUCCIÓN A LA EDICIÓN DIGITAL ACADÉMICA”. Además contaremos con una plataforma virtual para poner a vuestra disposición con todos los materiales.

Curso patrocinado por DIXIT: Digital Scholarly Edition Initial Training Network, red Europea Marie Curie especializada en enseñanza de edición digital académica.

dixit-logo-transparent

Los cursos online son cada vez más demandados, especialmente en aquellos ámbitos con necesidad de especialización, siendo los cursos online una manera sencilla y flexible de formarse sin dejar de lado las obligaciones diarias. Esto cursos implican que podamos mantener un proceso formativo continuo que nos permite estar a la vanguardia de las demandas del entorno.

Uno de los cursos más solicitados en este verano es el de “INTRODUCCIÓN A LA EDICIÓN DIGITAL ACADÉMICA”. El objetivo de este curso es formar a los estudiantes en los conocimientos tecnológicos que se aplican específicamente a la edición digital académica. Para ello, la base del mismo se centrará en el tratamiento del texto mediante lenguajes XML, y especialmente TEI (Text Encoding Initiative), un sistema de etiquetado específicamente diseñado para humanidades digitales. La finalidad de las diferentes sesiones del programa es completar esta formación, de forma que los alumnos se familiaricen con la transformación del texto marcado a diferentes lenguajes: (HTML, CSS, XSLT) y formatos (ePub), para generar ediciones de diferentes tipos (crítica, genética, divulgativa), y conocer en el proceso de edición digital de principio a fin.

imagen blog

Sus objetivos son:

-Ofrecer un panorama actual sobre la situación de la edición digital acacémica.

-Dar a conocer los lenguajes de marcado XML como herramienta para la edición digital, y profundizar especialmente en TEI (Text Encoding Initiative) para textos de humanidades.

-Profundizar en las múltiples posibilidades de marcado en función del tipo de texto.

-Mostrar distintas opciones para el tratamiento del texto,  así como las herramientas disponibles.
REQUISITOS DE ACCESO Y DESTINATARIOS

Dirigido a personas que tengan interés en conocer y profundizar en el campo de la edición digital desde un punto de vista práctico. No son necesarios conocimientos previos, pero sí muy recomendable estar algo familiarizado con los lenguajes de marcado XML.

METODOLOGÍA

El curso es totalmente práctico, aunque contará con 4 sesiones teóricas. Los alumnos deben asistir con ordenador portátil.

La metodología de enseñanza será presencial o a distancia, ya que se retransmitirá en streaming, en directo o en diferido para aquellos alumnos que se hayan matriculado con acceso restringido mediante contraseña. Para la modalidad en diferido, los vídeos permanecerán accesibles online durante una semana con el fin de que el alumno los pueda ver cuando desee. El curso dispondrá además de un campus virtual donde dispondrán de todos los materiales del curso, además de foros donde podrán interactuar con el resto de alumnos y con los profesores, con los que también podrán contactar durante y después del curso mediante correo electrónico, chat y foros. A los alumnos que se matriculen del curso a distancia se les pedirá al finalizar una memoria de las conferencias escuchadas, o si lo prefieren, un pequeño trabajo de tipo práctico sobre alguno de los temas tratados, para la obtención del correspondiente diploma.

DURACIÓN

30 HORAS = 1,5 créditos

El curso de “INTRODUCCIÓN A LA EDICIÓN DIGITAL ACADÉMICA” da respuesta a las necesidades formativas de estudiantes, investigadores y particulares, garantizan un aprendizaje de calidad a través de la aplicación de las mejores técnicas de innovación. Aprovecha esta excelente oportunidad.

Se puede realizar en directo o diferido, más información:

objetivos

Díptico Introducción a la edición digital académica