En el pasado día del programador (el 256vo día del año) el pana (significa amigo/compañero en Venezuela) Luis Chacon me regaló The pragmatic programmer, un libro promocionado por Gubatron en su blog y en artículos de otras páginas.
Lo terminé de leer hace poco y me pareció muy bueno, el libro enseña cosas que todo programador debería hacer. Aunque la mayoría las conocemos, no la ponemos en práctica o pensamos que son aplicadas correctamente, pero luego descubrirán nuevas formas de hacerlo o correciones que se deben hacer. A lo largo del libro, se abarcan muchos temas y se enfoca en todos los aspectos de un programador (si crees que por tener la palabra programador en el título solo habla de código, estás equivocado) tanto en la creación y mantenimiento de codigo, metodologías de desarrollo, comunicación con demas miembros del equipo y clientes, automatización de tareas diarias, ejecución de pruebas, documentación de codigo y procesos, etc.
Portada de «The pragmatic programmer»
Para todo programador/desarrollador debería ser obligatorio leer este libro y al igual que Gubatron, opino las universidades deberían dictar temas tratados en este libro a los estudiantes de Ingeniería de Software.
Para obtenerlo pueden buscar en Amazon, su librería local o su método ilegal favorito pero gratuito 😉
GIT es un sistema de control de versiones creado por Linus Torvald (el creador de Linux) y últimamente muy utilizado en los proyectos de Software Libre debido a su arquitectura distribuida y licencia de uso. Si usan Netbeans notarán que por defecto no trae soporte para usar GIT en nuestros proyectos, ya están trabajando en ello, pero mientras tanto podremos usar NBGit, un plugin para añadir soporte GIT a Netbeans.
Entramos a a la página de descargas del proyecto, descargamos el archivo .nbm y una vez dentro de Netbeans, entramos al menú Herramientas->Plugins, seleccionamos la pestaña Descargados y añadimos este archivo. Reiniciamos Netbeans y listo, ya tendremos soporte GIT para nuestros proyectos y en menú de Equipo (Team) aparecerá Git con opciones para configurarlo.
Espero que les sirva de ayuda para cuando necesiten usar GIT en Netbeans.
Actualización al 20/08/2012: Las últimas versiones de Netbeans ya incorporan esta característica por defecto.
El viernes pasado recibi mi invitación para participar en la beta de AppInventor, un programa para crear aplicaciones para Android sin necesidad de escribir código, si nunca lo han escuchado o desean ver una introducción, pueden chequear el siguiente vídeo:
App Inventor in Action
Para comenzar a usarlo, se debe iniciar sesión con la cuenta de google y descargar un instalador, revisándolo por encima, trae un emulador de un móvil con Android, un depurador de código y parte del SDK de Android. El instalador pesa casi 60MB y está disponible para Windows, GNU/Linux y MacOS.
Pantalla principal de AppInventor
Una vez instalado no pude encontrar el ejecutable para iniciar la aplicación, pero al buscar información en la página, me di cuenta que es una aplicación web hecha en HTML5/Javascript (estos de Google se estan tomando en serio la computación en la nube), la misma, contiene a la izquierda un menu con una serie de componentes para usar en la interfaz de la aplicación, en el medio la ventana de la pantalla telefóno y a la derecha las propiedades del componente y un navegador de componentes usados. Esta interfaz es sencilla, igual a los IDEs existentes por lo que para los desarrolladores no será problema el uso de AppInventor, los componentes simplemente se arrastran a la pantalla del teléfono y con doble click vamos editando las propiedades.
Esta parte es sólo la vista de la aplicación (como el modelo MVC) por lo que para agregar eventos y definir las acciones a ejecutar cuando el usuario interactúa con estos componentes, utilizamos la vista de bloques, accesible por un botón en la parte superior derecha. Al hacer click allí, se abre una aplicación Java Web Start (se vé el gran uso de Java en Android por parte de Google) donde pasarmos a la vista de asignación de eventos y acciones (como el controlador segun MVC), lo interesante, es que podemos asignar eventos y acciones a través de bloques parecidos a las piezas de un rompecabeza, uniendo los bloques podremos realizar el programa deseado sin escribir una línea de código. El famoso Hola Mundo, lo hice en menos de 5 minutos sin leer manuales, usando 3 bloques como se ve en la siguiente imagen:
Bloques de acciones en AppInventor
Luego podemos ver los resultados en nuestro teléfono Android o usando el emulador, generar el paquete y distribuirlo. No he leído, pero creo que por ahora no hay mucha interacción con el Market y no se como es la licencia para el uso de esta aplicación.
Me gustó como se trabaja con esta herramienta y permite desarrollar cosas sencillas en pocos pasos (obviamente cosas complejas requiere escribir código), además permite a personas ajenas a la programación, realizar aplicaciones sencillas para si mismas. Google está haciendo un buen trabajo con esto y me llamó la atención que todo fuese bajo web, muchos no nos imaginaríamos hace unos años la posibilidad de crear aplicaciones desde el navegador.
Secrets of the JavaScript Ninja, es un libro escrito por el famoso John Resig, (Si eres un desarrollador web deberías saber quien es) creador de jQuery, la grandiosa librería Javascript que facilita enormemente el desarrollo con Javascript.
Hace unos días lo terminé de leer y me gustó mucho, me parece un libro recomendado para todo desarrollador que trabaje con Javascript (recordemos que jQuery no es lo mismo que Javascript), los ejemplos y temas estan dirigidos a programadores con experiencia media o avanzada en el lenguaje, en mi caso, me considero un novato en este lenguaje y logré aprender mucho pero varios temas no los pude entender bien o tenía que leerlo varias veces para captar la idea, sin embargo, si son nuevos con este lenguaje también es bueno leerlo, porque enseña a ver las cosas distintas y como aprovechar la resolución de algunas cosas desde un punto de vista donde se toma ventaja de las características únicas de Javascript, o bien sea problemas existente pero como adaptarlo a las posibilidades de JS.
Los principales temas abarcados por el libro son: tips para mejor desarrollo de scripts, como crear una libería JS, funciones para facilitar ciertas operaciones, ejecuciones de pruebas, creación de código compatible con varios navegadores y muchos mas. Así que, si trabajan con este lenguaje, desean aprender y les gusta leer, compren esten libro que les será muy útil.