3 recursos para aprender Swift, el nuevo lenguaje de programación de Apple

Una de las noticias que más ruido ha generado de todas las presentadas ayer en la presentación de Apple hace referencia a Swift, el nuevo lenguaje de programación que pretende sustituir a Objective-C a la hora de desarrollar aplicaciones para iOS y Mac.

Aunque este nuevo lenguaje es más fácil de aprender, más moderno y con más recursos, más rápido y eficaz, muchos programadores se han quejado en Twitter. Después de aprender Objective-C para poder crear aplicaciones, tendrán que invertir muchas nuevas horas para familiarizarse con Swift.

Apple ya presenta Swift de forma oficial en developer.apple.com/swift, con algunos enlaces útiles. Para facilitar el camino han empezado a aparecer recursos, de los cuales os dejamos tres:

learnswift.com: De momento solo solicitan el email para ser avisados del lanzamiento. Pretenden ser un portal en el que se muestren ejemplos, así­ como ví­deos explicando cómo realizar diversas funciones con Swift.

Guí­a oficial en Apple: Un tour completo por Swift en un conjunto de páginas web publicadas por Apple.

Libro gratuito en iTunes: El libro oficial puede bajarse desde itunes.apple.com, 500 páginas en inglés para aprender los secretos de este nuevo lenguaje que, recordemos, podrá convivir sin problemas junto con Objective-C, por lo que no es un cambio radical y sí­ un primer paso para una futura sustitución.

Swift, el nuevo lenguaje de programación para crear aplicaciones iOS y OS X, ya tiene un libro gratuito

Swift

Y sigue la racha de novedades en la presentación de Apple para llegar a una que afecta directamente a los que crean aplicaciones para iOS y OS X. Se trata del lanzamiento de Swift (developer.apple.com/swift), un nuevo lenguaje de programación que permitirá sustituir Objective-C en las plataformas de Apple, aunque usa el mismo compilador, por lo que podrán convivir dentro de la misma aplicación.

Swift tiene muchas ventajas cuando se compara con Objective-C, y ya han lanzado un libro gratuito para que sea posible estudiar este nuevo sistema.

Entre las ventajas se habla de estructuras que soportan mejor los métodos, las extensiones y los protocolos, de interacciones más rápidas sobre las colecciones, de patrones de programación funcional, de mejoras en los punteros… detalles que pueden servir para crear aplicaciones adaptadas a un nuevo sistema operativo, aunque está claro que el hecho de ser compatible con Objective-C ayudará a que la migración sea indolora.

En la demostración que han capturado en TC han comprobado como Swift ejecuta el mismo programa casi 4 veces más rápido que si está hecho en Python, mientras que Objective-C era «solo» tres veces más veloz.

PDFium, el motor de renderizado de pdf de Chrome, ya es opensource

PDFium

En code.google.com/p/pdfium ya tenemos disponible el proyecto PDFium, motor de renderizado de PDF de Google Chrome que a partir de ahora estará dentro de Chromium, proyecto de código abierto de la compañí­a.

La información, divulgada en Google Plus, ha generado muchos virtuales aplausos entre la comunidad de desarrolladores, que también han visto como subí­a como la espuma en reddit.

Ya hay abierto un grupo de discusión (aún vací­o) en groups.google.com y una lista de problemas detectados en code.google.com, esperando de esta forma la colaboración de programadores de todo el mundo que quieran ayudar a construir el mejor motor de renderizado de PDF del momento.

Excelentes noticias para los que quieran trabajar con PDFs en su sitios web o en la aplicación que estén desarrollando.

Microsoft lanza juego para aprender a programar

En codehunt.com tenemos un nuevo proyecto de Microsoft Research que puede ayudarnos a aprender a programar en Java o en C# al mismo tiempo que jugamos.

Para poder avanzar tenemos que programar, y para ello tenemos que seguir el tutorial incluido en el primero nivel. En el juego somos cazadores de código, tenemos que encontrar, restaurar y capturar la mayor cantidad de fragmentos de código posible, y comparar nuestro progreso con los compañeros.

No es adecuado para los que no tienen ningún tipo de conocimiento de programación y sí­ para los que quieren mejorar o practicar, ya que no se explican las bases de construcción de rutinas, ni lo que son funciones, ni procedimientos, ni clases, ni herencia ni ninguno de los conceptos necesarios para aprender a programar (por lo menos en los primeros niveles), pero sí­ ayuda a hacer la tarea mucho más divertida.

En este PDF presentan el proyecto, donde dejan claro que se trata de modificar los códigos existentes para adaptarlos a lo que se pide en cada momento, obteniendo puntos a medida que acertamos en cada nivel.

Una buena idea que puede usarse de forma muy productiva dentro de las escuelas.

overlook, un sistema para ayudar a realizar los tests de nuestra nueva aplicación

Todo gran proyecto cuenta con un grupo de personas que se encarga de realizar los tests de las diferentes funcionalidades. El equipo de calidad recibe las instrucciones de lo que cada sección debe hacer y empieza a buscarle cosquillas en busca de posibles errores, ya sean técnicos o de diseño.

Existen muchos sistemas que ayudan a registrar estos errores, y overlook.io es una nueva opción, sencilla y efectiva, para mantener bajo control todos los errores encontrados.

Solo tenemos que abrir el proyecto y definir las áreas que deben ser probadas. Cada responsable podrá ir marcando los errores encontrados, que cambiarán de estado a medida que son revisados por el equipo correspondiente.

Es posible definir enlaces para probar funcionalidades, e incluso enviar dichos enlaces para que otras personas de fuera del equipo realice las pruebas, siempre generando informes para que sea posible ver el estado del proyecto como un todo.

Overlook tiene versión gratuita limitada a un único usuario. El resto de planes comienzan con 12 dólares al mes y se incrementa el precio a medida que se necesitan más proyectos en nuestra cuenta, aunque es posible probarlo durante 30 dí­as de forma gratuita para verificar si atiende a nuestras necesidades.

El editor para programadores, Atom, de GitHub, ahora es de código libre

atom

Hace unos meses que Github, la conocida y utilizadí­sima plataforma para compartir y guardar repositorios de código, anunciaba el lanzamiento de la beta privada de su nuevo editor Atom. El editor se lanzó al mercado con su propio código siendo privado, pero ahora, después de unas diez semanas en fase beta pública, lanzan el editor descargable gratuitamente, público y con código abierto.

El código publicado incluye entre el material disponible cantidad de paquetes y librerí­as dedicados al soporte de múltiples lenguajes de programación, como por ejemplo un paquete que nos permite instalar expansiones de terceros o el paquete Atom Shell, un framework para aplicaciones de escritorio.

Desde que el editor se hizo público ha visto ya unas 250.000 descargas y unas 40 actualizaciones, y la misma comunidad de usuarios que lo ha utilizado ha publicado unos 800 paquetes, creados con CSS y JavaScript, orientados a aumentar su potencial y caracterí­sticas – si os interesa echarle un ojo a las herramientas creadas por dichos usuarios o queréis crear una vosotros mismos podéis hacer clic aquí­.

GitHub seguirá trabajando en el editor y mejorando lo presente, pero cuentan también con el apoyo de la comunidad para que el desarrollo sea mejor, más rápido y más creativo. Por ahora tenemos el editor disponible en OS X 10.8 y podéis descargarlo de este enlace.

Los mejores métodos intensivos para ser programador, una profesión en auge

Encontrar un método para aprender a programar de una manera rápida y eficiente no es tarea fácil. Son muchas las personas que ven en sus puestos de trabajo una carencia fundamental, la de conocer algo de programación, pero no saben qué método es mejor para adquirir esos conocimientos. Además, no cabe duda de que la formación en las TIC es anti-crisis: se prevén para 2015 hasta 900.000 puestos de trabajo en la Unión Europea.

En una reunión con los ministros de trabajo de varios paí­ses de la UE, Richard Bruton, ministro irlandés de Trabajo, Empresa e Innovación, afirmó que la tasa de creación de empleo en el sector de las TIC serí­a de un 7,6% en la próxima década, más del doble de la previsión general de empleo. En el contexto de crisis económica, la figura del programador gana mucha importancia, como indica el estudio combinado de Infojobs y ESADE, el más completo del sector laboral español.

Por suerte para todas las personas interesadas en la programación, existen métodos intensivos de aprendizaje que no requieren ni experiencia previa ni la formación de los másteres tradicionales, que suele oscilar entre uno y dos años. Se trata de una nueva tendencia educativa procedente de Estados Unidos que forma programadores en los denominados ”˜bootcamps”™. Estos ”˜bootcamps”™ son programas intensivos de corta duración, entre dos y tres meses, que están enfocados a encontrar empleo a los alumnos una vez los acaban.

En esta lista figuran los mejores ”˜bootcamps”™ para aprender a programar en todo el mundo, ¡entre los que figura uno basado en España!

1) Dev Bootcamp: se trata de un programa intensivo para aprender programación impartido en Chicago, Nueva York y San Francisco, que consta de una instrucción de 9 semanas. Aproximadamente entre 70 y 100 horas por semana, incluyendo una pequeña parte de teorí­a (40 horas), a través de libros y tutoriales, pero sobre todo mediante ejercicios prácticos. Enseñan conocimiento técnico real ”“ pues el alumno sale comprendiendo cada lí­nea de código que escribe ”“ y también mucha confianza en sí­ mismo. Su precio es de 12.200$.

2) Hackreactor: este programa solo disponible en Estados Unidos enseña a desarrollar las habilidades de los alumnos en 12 semanas, 6 dí­as a la semana, aunque exige un pequeño conocimiento previo por parte del alumno. A los alumnos no solo se les enseña código, sino también fundamentos de CS y de ingenierí­a. El graduado sale con experiencia técnica, un sitio web personal, currí­culum y un perfil en LinkedIn. Su precio es de 17.780$ las 12 semanas

3) General Assembly: su curso de desarrollo web intensivo dura 12 semanas, todos los dí­as, durante prácticamente todo el dí­a. Este programa se desarrolla en Estados Unidos, Inglaterra, Alemania, China y Australia. Con un programa eminentemente práctico, enseña a programar, a desarrollar un portafolio personal y prácticas profesionales. Su precio es de 11.500$

4) Starter League: tienen programas intensivos de desarrollo web, JavaScript para programadores y HTML y CSS que duran 3 meses con una preparación sobre todo práctica, y únicamente disponibles en Chicago. Su precio total es de unos 12.000$ por trimestre.

5) Ironhack: se trata del único programa a nivel nacional (con sede en Madrid y Barcelona) que ofrece la formación de los grandes, pero en castellano. Sus cursos duran 8 semanas, unas 400 horas en total, y enseñan todo lo necesario para programar y desarrollar proyectos propios, con una formación eminentemente práctica, incluso sin tener ningún conocimiento previo. El precio de cada máster es de 5.900€

Con la crisis, cada vez cobra más valor el término “reinventarse” para conseguir ese puesto de trabajo tan anhelado. Si quieres formar parte de un sector en auge, ¡empieza ya tu andadura profesional en este sector!

Udacity prepara nuevo curso de Object Oriented Programming: más allá del Hello World!

Udacity, una de las muchas plataformas educativas online de calidad que podemos encontrar para aprender sobre desarrollo web -entre otras cosas- de la mejor manera posible, sigue anunciando grandes noticias para nosotros, y es que apenas dos semanas después de estrenar su aplicación para iPad ahora nos informan sobre la apertura de un nuevo curso sobre Object Oriented Programming.

El curso empezará el próximo 23 de abril de 2014 y se llamará Intro to Object Oriented Programming: Beyond Hello World!. Podemos inscribirnos a partir de ya mismo para reservar una plaza y poder acceder al contenido, que básicamente tratará sobre lenguajes de programación orientados a objetos (técnica que permite que los desarrolladores compartan y reutilicen código más fácilmente) y nos permitirá crear mini proyectos, practicar nuestros conocimientos actuales, conocer más sobre funciones y clases y repasar los conceptos fundamentales de dichos lenguajes – empezaremos utilizando Python.

Aunque el nivel del curso no es avanzado, sí­ será necesario estar algo familiarizado con código básico en C++, Java o el mismo Python, saber cómo utilizar «if statements«, conocer cómo implementar loops y también algunas funciones, aunque en las lecciones se repasarán todos estos conceptos.

El curso costará 150 dólares al mes y podemos registrarnos aquí­, pero también nos permiten informarnos sobre materiales gratuitos o posibles futuras versiones gratuitas del curso en el mismo sitio web.

NASA ofrecerá parte de su Software de forma gratuita por Internet

nasaGran anuncio realizado hace unos minutos por la NASA: se pondrán a disposición del público, sin coste, más de 1.000 códigos en un nuevo catálogo que tendremos disponible en la web a partir del 10 de abril.

Organizados en quince categorí­as generales, el nuevo catálogo ofrece una amplia variedad de aplicaciones para su uso por la industria , las instituciones académicas, otras agencias gubernamentales y el público en general.

Jim Adams, jefe de tecnologí­a adjunto de la NASA, comentó: «El software es un elemento cada vez más importante de la cartera de activos de propiedad intelectual de la agencia, lo que representa alrededor de un tercio de nuestras invenciones reportadas cada año […] Estamos muy contentos de ser capaces de hacer que el software se difunda entre el público con el lanzamiento de nuestro nuevo catálogo de software.»

Podremos encontrar sistemas de gestión de proyectos, herramientas de diseño, manejo de datos y aplicaciones de procesamiento de imágenes, así­ como soluciones para las funciones de apoyo a la vida, la aeronáutica, el análisis estructural y los sistemas robóticos y autónomos.

Los códigos representan las mejores soluciones de la NASA a una amplia gama de necesidades de las misiones complejas.

Cada código tendrá su propia licencia, incluso habrá algunos que solo podrán ser utilizados por ciudadanos estadounidenses y otros que estarán restringidos al uso por otras agencias federales.

Forma parte de su programa de transferencia de tecnologí­a, programa que podéis conocer mejor en technology.nasa.gov

Backbeam, un servicio para hacer aplicaciones móviles y web

Backbeam (backbeam.io) es una plataforma que puede ayudar a los desarrolladores de aplicaciones a eliminar la burocracia para centrarse en la creatividad. Ofrece entornos de producción y desarrollo, base de datos, notificaciones push, autenticación de usuarios con email y contraseña o servicios externos (Twitter, Facebook, Google+, etc), así­ como una herramienta de prototipado que, siendo opcional, permite empezar una aplicación en pocos minutos.

Hablamos con su responsable, Alberto Gimeno, para que nos cuenta más sobre este sistema que, desarrollado en España, está ya trabajando para su implantación en varios paí­ses del mundo.

backbeam

¿Para quién está creado Backbeam, qué se necesita para empezar a usarlo?

Está orientado a programadores, empresas de desarrollo y startups. Para empezar a usarlo simplemente necesitas tener conocimientos sobre alguna de las plataformas soportadas y crear un proyecto en Backbeam.

¿Qué ventaja tiene usar BackBeam para alguien que quiere desarrollar una aplicación android y/o iOS?

Te permite hacer la misma aplicación en mucho menos tiempo, más robusta y sin tener que preocuparte de administración de sistemas e infraestructura de backend ya que el servicio se ocupa de ello por ti.

Toda aplicación móvil (salvo que sea trivial) necesita comunicarse con una base de datos a través de un webservice (API). Backbeam te ahorra toda esta infraestructura y te permite centrarte en lo que mejor sabes hacer y en lo que aporta valor: la aplicación móvil. Puedes crear un modelo de datos en el panel de control y estar introduciendo datos y haciendo consultas desde la aplicación en pocos minutos, sin tener que configurar servidores, bases de datos, deploys o implementar un webservice.

Si tu modelo de datos evoluciona (necesitas campos nuevos, nuevas entidades o nuevas relaciones) simplemente vas al panel de control, realizas los cambios al modelo y automáticamente el webservice/API está actualizado sin hacer ningún tipo de deploy y puedes empezar a usar esos nuevos campos, relaciones o entidades en tu código de iOS, Android o web.

¿Qué tipo de aplicaciones pueden crearse?

Se pueden hacer aplicaciones de todo tipo. Ofrecemos SDKs para web (tanto desktop, como web móvil, como hí­bridas), Android e iOS. El SDK te permite interactuar con el backend a nivel de datos, gestión de usuarios (login con email+password, twitter, facebook, google+, etc), notificaciones push, email delivery, incluso ofrecemos un API real-time muy útil para implementar un chat, juegos multijugador o aplicaciones colaborativas el tiempo real.

¿En qué se diferencia de App Press o ViziApps?

Backbeam es un servicio orientado a que los programadores puedan enfocarse en hacer lo que mejor saben y más les gusta: programar funcionalidades o interfaces que aporten valor, y olvidarse de los procesos tediosos involucrados: configuración de servicios, deploys, migraciones de modelos de datos, etc.

Backbeam no pretende ser un servicio de hacer apps sin escribir código como ViziApps o App Press, ni impone ninguna tecnologí­a en la parte cliente / frontend.

Puedes desarrollar en iOS nativo, Android nativo, aplicación hí­brida, Titanium Appcelerator, Phonegap, Intel XDK, etc. Lo que Backbeam soluciona es toda la infraestructura de backend
necesaria y las funcionalidades tí­picas de toda aplicación web y móvil (autenticación de usuarios, notificaciones push, enví­o de emails, consultas de datos geolocalizadas, almacenamiento de ficheros, etc), pero siempre dando libertad a las tecnologí­as a utilizar en la parte de interfaz / cliente / frontend.

Recapitulando, una empresa a la hora de implementar una aplicación móvil ahora tiene que:

1.- Crear la parte cliente en iOS, Android, phonegap, o la tecnologí­a que prefieran
2.- Implementar un backend con su base de datos, web service, etc.

Backbeam es un servicio que da solucionada la segunda parte, el backend. Dándote la posibilidad de tener esa parte solucionada con un mí­nimo esfuerzo, en comparación con el flujo tradicional que requiere invertir un 50% aproximadamente (datos de kentnguyen.com) del esfuerzo total de desarrollo.