Publicidad

RSS GitHub

Quedan pocos días para acabar el año y como viene siendo todo un clásico, vamos a hacer balance de las tecnologías, lenguajes y herramientas para desarrolladores que hemos ido viendo a lo largo de este año en Genbeta Dev. Comenzamos este especial de repasando el 2013 en Genbeta Dev analizando los mejores servicios en la nube para desarrolladores. Github, el repositorio de proyectos más grande del mundo Github es una herramienta fundamental para cualquier desarrollador. Es el lugar preferido para alojar su repositorio público y poder colaborar de forma distribuida con otros desarrolladores. Muchos de los proyectos más populares Open Source utilizan Github para alojar su código o realizar integración continua utilizando todo tipo de plugins y herramientas que se conectan con la API de Github y los mágicos hooks de git. Si bien, no es un servicio en la nube al uso como podríamos pensar si hablamos de PaaS o IaaS, con Github podemos crear las páginas de soporte de nuestros proyectos gracias a su GitHub page, distribuir nuestro código para que cualquier desarrollador lo clone o haga un fork usando git. Además de todos el sistema de tickets, wiki, milestone para gestionar los proyectos a gran escala. Más información | Github Google App Engine, la nube de Google cada vez más grande La competencia entre los PaaS es dura. Google ha ido metiendo la cabeza en esa lucha especialmente contra Amazon ofreciendo su alternativa muy ligada a cómo se escalan servicios en Google. Google App Engine apareció de forma muy básica allá por 2008 soportando tan sólo Python, aunque rápidamente incorporó Java y más adelante se han ido añadiendo Groovy, JRuby, Scala, Clojure o el más reciente PHP y su experimento con Go. La mayor diferencia frente a servicios como EC2 es su facilidad de despliegue en la nube. Como buen PaaS, simplemente nos debemos de preocupar de desarrollar la aplicación y el propio App Engine lo escalará a las maquinas que sean necesaria de forma totalmente transparente. Cuenta con varios plugins y SDK para Eclipse para facilitar la tarea de programación y despliegue. El ecosistema de Google App Engine ha ido creciendo incorporando más servicio de Google Cloud como Google Cloud SQL, Google Cloud Storage o Google Cloud Endpoints para crear el backends de apps móviles. Más información | Google App Engine Windows Azure, la nube de microsoft Tengo que reconocer que cuando empecé a escuchar que Microsoft estaba preparando un servicio en la nube tenía mis reparos sobre si sería demasiado enfocado a plataformas Windows. Todo lo contrario, Azure está abierto a diversas tecnologías como Java, PHP, Ruby, Python o Node.js, sin olvidarnos de .NET. Y sus SDKs están disponibles para Mac, Windows o Linux, un acierto esa apertura. Por supuesto, las maquinas virtuales o algunas de las bases de datos que ofrece son propietarias de Microsoft, aunque su fiabilidad en la nube es incuestionable. Entre los servicios que ofrece como plataforma en la nube nos encontramos servicios para plataformas móviles iOS, Android, Windows Phone o Xamarin para el envío de notificaciones y backend, big data, almacenamiento, la propia de infraestructura de nuestra aplicación, etc.. Más información | Windows Azure Conclusiones: muy difícil quedarse con tan sólo tres servicios en la nube Aunque en esta selección del repaso de tecnologías del 2013 sólo queríamos mencionar los tres más destacados, esta categoría tiene un un gran número de plataformas y servicios increíbles para los desarrolladores. Y más que aparecerán en este 2014. Es el mayor filón para muchas empresas que han visto que ofrecer servicios a los desarrolladores tiene unas altas expectativas de monetización. Ellos nos ofrecen las herramientas y nosotros podemos crear aplicaciones de forma más ágil y eficaz. Si ahora creas una startup es imprescindible que uses un servicio de los mencionados para poder ir escalando tu infraestructura según tus necesidades. A continuación algunos de los servicios en la nube que no podíamos dejar de mencionar: Amazon Web Services para muchos de nosotros aunque no haya sido seleccionado entre los tres más destacados, quizás porque es algo habitual contar con EC2 o un S3 en nuestros proyectos cabe un mención muy especial. Y este año hemos conocido más servicios que se unen a su tremendo ecosistemas como los más recientes Amazon Kinesis o Amazon Simple Notification Services (SNS). Parse, sin duda, si nos planteamos añadir a nuestras aplicaciones notificaciones push es uno de los primeros servicios en la nube al que recurriríamos. Nos ofrece un amplio abanico de servicios para el envío y gestión de notificaciones tanto a Android como iOS, así como ejecutar script en la nube para llevar parte de la lógica del envío a un backend distribuido con su reciente servicio Cloud Code. Apigee es un servicio en la nube que nos permite manejar nuestra API con un potente panel de herramientas que van desde la gestión de la seguridad, caché, estadísticas como el mantenimiento de distintas versiones o tratamiento y transformación de los datos. Además nos permite crear en sencillo paso una consola sandbox para poder enseñar el uso de nuestra API a los desarrolladores. Empresas como Twitter la usan para este fin. Y simplemente enlazando al resto de servicios que teníamos en nuestra lista Heroku, Cloud Foundry, Simperium o Bitbucket. En Genbeta Dev | Repasando el 2013

Checklist para liberar un proyecto Open Source en Github

4 Comentarios
Checklist para liberar un proyecto Open Source en Github

Github nos permite liberar cualquier proyecto en el que hayamos estado trabajado en privado. En ocasiones, nuestra intención es simplemente compartirlo sin más pretensiones como un pet project o como ejemplo de alguna kata que hemos estado preparado. Pero cuando queremos comenzar un proyecto Open Source un poco más serio, como una librería que queramos compartir con el resto de desarrolladores, quizás debamos pararnos a pensar un poco más antes de publicar nuestro código en Github si cumple una serie de pasos previos.

Vamos a repasar una serie de puntos interesantes para cualquier proyecto Open Source. Un pequeño checklist de recomendaciones, desde la visión tanto de un maintainer de proyectos de software Open Source como de un desarrollador que se encuentra un proyecto en Github y quiere usarlo.

Leer más »

Cómo manejar Git como un experto desde Android Studio

5 Comentarios
Cómo manejar Git como un experto desde Android Studio

Hoy en día no nos imaginamos el desarrollo de un proyecto de software que no incluya un control de versiones, entre las diferentes opciónes para un VCS, Git, sin duda, se ha posicionado favorablemente por delante de otros grandes como Subversion y Mercurial.

La curva de aprendizaje que este tipo de herramientas suele implicar suele ser bastante alta, ya que la gran variedad de características y opciones que incluyen lo convierten en recursos complejos a la vez de muy potentes.

Leer más »
Publicidad

Metaprogramación en compile-time con Groovy

Comentar
Metaprogramación en compile-time con Groovy

En el anterior artículo sobre Metaprogramación en runtime con Groovy explicamos qué es la metaprogramación y vimos las distintas técnicas que ofrece Groovy de metaprogramación en runtime.

En esta ocasión lo que vamos a aprender son las distintas posibilidades de metaprogramación en tiempo de compilación. Este tipo de técnicas lo que nos van a permitir es intervenir durante las distintas fases de compilación y, de esta forma, generar código en tiempo de compilación.

Leer más »

¿Cómo puede ayudarnos Github con sus nuevas funcionalidades a trabajar en equipo?

12 Comentarios
¿Cómo puede ayudarnos Github con sus nuevas funcionalidades a trabajar en equipo?

Es indiscutible que GitHub es el sistema de control de versiones más usado para la publicación y desarrollo de software libre. Pero también muchas empresas lo utilizan en su día a día en su versión Enterprise.

GitHub siempre está añadiendo nuevas funcionalidades poco a poco para simplificar labor del control de versiones de nuestros proyectos.

Sin embargo, la semana pasada, con motivo de su conferencia Github Universe, la compañía sacó a la palestra una buena cantidad de novedades que te pueden interesar.

Leer más »

Integración continua en Android con BuddyBuild

2 Comentarios
Integración continua en Android con BuddyBuild

La integración continua es un proceso en el desarrollo de software que consiste en crear versiones automáticas de nuestro producto lo más a menudo posible para asegurar la integridad de nuestro código.

Este proceso funciona además muy bien con sistemas en los que existen tests que validan nuestro código, pues la integración continua comprobará entonces no sólo que se puede construir, sino además que funciona correctamente.

Existen en el mercado varios sistemas de integración continua muy conocidos como pueden ser Travis o Jenkins. Pero hoy es vengo a hablar de BuddyBuild: un sistema enfocado a móviles y extremadamente sencillo de configurar y utilizar.

Leer más »

Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

26 Comentarios
Cómo tener éxito en tu próxima entrevista de trabajo para desarrolladores

Seguramente estás un poco harto de tu empleo actual. Tienes un salario absurdo, tu jefe no valora lo que haces, a tu empresa sólo le importa vender y la parte de desarrollo es una carga y, en definitiva, cuando llega el domingo por la noche te acecha la gran depresión.

Es muy normal en los países latinoamericanos. En muchas empresas aún existe la cultura de que lo importante son los números, y dejan la calidad del software a un segundo plano. Su única métrica es que cuanto más rápido acabes tu trabajo, mucho mejor.

Por tanto, te quedan dos opciones: o te acabas uniendo al clan de los vendedores, o te quedarás comiendo marrones y con un sueldo ridículo el resto de tu vida. En realidad hay una tercera: escapar.

Leer más »
Publicidad

Classroom for Github, ayudando a los profesores a gestionar los ejercicios de sus clases

1 Comentario
Classroom for Github, ayudando a los profesores a gestionar los ejercicios de sus clases

Entregar prácticas en diskettes, USB o hacer un .ZIP para enviarlo por email son cosas del pasado. Es una locura no utilizar un sistema de control de versiones para esos menesteres. Github en su apuesta por apoyar la educación con diversos programas para estudiantes ha creado Classroom for Github para facilitar a estudiantes y profesores interactuar mediante la plataforma en las clases presenciales y remotas, por supuesto.

De una forma u otra, salvo algunas implementaciones adhoc realizadas por algunas universidades, es complejo asignar deberes y gestionar los repositorios de los alumnos. Así que Classroom for Github aporta funcionalidades bastante interesantes tanto para profesores como alumnos ayudando al aprendizaje de buenas prácticas de Git, gestión de issues o code reviews.

Leer más »

Evaluación del rendimiento de los desarrolladores: ¿Por qué, qué y cómo?

8 Comentarios
Evaluación del rendimiento de los desarrolladores: ¿Por qué, qué y cómo?

Sabemos que evaluar de manera objetiva es muy complicado, de hecho una de las reglas básicas es "si no lo puedes medir, no lo puedes evaluar". Para medir hay que parametrizar y para parametrizar hay que definir variables, consiguiendo dos objetivos imprescindibles: fiabilidad y validez.

Si trasladamos esa complejidad al ámbito profesional y más concretamente a la evaluación del rendimiento de los profesionales, nos metemos en temas que generan mucha controversia.

Las llamadas evaluaciones de desempeño o revisiones anuales provocan mucho descontento no solo entre los evaluados también entre los evaluadores, fundamentalmente por un motivo: la toma de decisiones en el qué, cómo, quién y cuándo evaluar no suele ser percibida como la más adecuada.

Leer más »

Dart se pasa a Github, buscando el apoyo directo de la comunidad de desarrolladores

10 Comentarios
Dart se pasa a Github, buscando el apoyo directo de la comunidad de desarrolladores

Trabajar de una forma más sencilla y cercana con la comunidad de desarrolladores. Esta es una de las principales premisas que apreciamos en el movimiento realizado por Google migrando Dart a Github.

Dart SDK tiene ahora su propio repositorio, uniéndose a las númeras herramientas y librerías que se han desarrollado alrededor del lenguaje. También se ha trasladado dartbug (aseguran que sin perder ninguna issues) al sistema de bug tracker de Github.

Leer más »

Hello World en TypeScript, el lenguaje en el que se construirá Angular 2

24 Comentarios
Hello World en TypeScript, el lenguaje en el que se construirá Angular 2

En marzo, durante la primera KeyNote del evento ng-conf 2015, se hizo un anuncio bomba por parte del equipo de Angular: la elección de TypeScript como el lenguaje con el que se va a construir la próxima versión del framework.

Sin duda una buena noticia al unir fuerzas y conocimiento la gente de Google con la gente de Microsoft, y que puede ser el inicio del fin de la guerra absurda que sostiene Google con todo lo que huela a Redmond y que tantas incomodidades está produciendo entre los usuarios.

Leer más »
Publicidad
Inicio