Recursos para aprender acerca de AngularJS

En este post me gustaría grabar algunos lugares en los que he encontrado información acerca de una tecnología que ha llamado mi atención durante los últimos meses. Se trata de una forma en la que se puede agregar interactividad en el cliente web (el navegador) y generar lo que se conoce como Aplicaciones de Una Página (SPA).

Lo último no es forzosamente el tipo de producto que se desarrolla, pero se vuelve una herramienta que lo facilita grandemente.

AngularJS es un poderoso framework hecho en javaScript para desarrollar aplicaciones web, que además de proveer al desarrollador de herramientas para trabajar con la información de la aplicación en el cliente, le enseña nuevos trucos al navegador, es decir, uno literalmente puede crear nuevas etiquetas que el navegador será capaz de entender y mostrar al usuario de manera transparente.

Entre muchas otras cosas interesantes hace algo que se conoce como “data binding”, es decir, que los valores de la información que compone la aplicación (variables, datos obtenidos desde una base de datos o un web service) se desplieguen dinámicamente en la página (aplicación). Es decir, que dichos valores cambien en tiempo real. En el ejemplo “clásico” se muestra un campo de texto (<input type="text"/>) que modifica el contenido de una etiqueta de encabezado (<h1></h1>).

Hay muchos buenos ejemplos que se pueden ver en la página principal del proyecto. Además me gustaría listar otros lugares en los que he encontrado información que me ha ayudado a seguir aprendiendo más acerca del proyecto:

Debo advertir antes que este contenido está principalmente en inglés

  • AngularJShttp://angularjs.org) La página oficial del proyecto.
  • egghead.io Videos cortos pero sustanciales acerca de conceptos clave en el framework.
  • yearofmoo.com Un blog que para mi gusto está muy bien redactado.
  • AngularJS en +-60 min Un video que me pareció extremadamente bueno para empezar a entender conceptos.

Bienvenido

Este es de hecho mi segundo intento por comenzar un blog.

Me he convencido a mí mismo de que debo tener uno para poder mantener registro de lo que voy aprendiendo y las cosas que encuentro interesantes mientras navego por la red.

Servirá principalmente como un repositorio para esas cosas pequeñas que hago y problemas que resuelvo que tal vez vuelvan a suceder en el futuro y espero que también ayudarán a otros en su búsqueda por salvar al mundo una línea de código a la vez…

Mi lengua natal es español, pero trataré de escribir en inglés también para practicar mis habilidades con el idioma (como dicen… lo que no se usa se echa a perder…)

Welcome

This is actually my second attempt to start a blog.

I have convinced myself that I should really have one in order to keep track of what I learn and the things I find interesting while surfing the web.

It will mostly serve as a repo for those little things I do and problems I solve that might come to pass again anytime in the future and hopefully will help others in their quest to save the world one line of code at a time…

I’m a native Spanish speaker, and so I will most likely try to write in both languages.. doing this in English so I can keep practicing my language skills. (Because as they say… “use it or lose it…”)

Ubuntu desktop, may of 2013

Empezando a usar Ubuntu (otra vez…)

Esta es mi tercer semana trabajando con Ubuntu 13.04. Debo decir que ha sido una experiencia interesante hasta ahora. He instalado y usado Ubuntu en una de las particiones de mi laptop desde la versión 9.04, y aunque la mayor parte del trabajo que realicé en la Universidad pudo haber sido hecho en Ubuntu, nunca tuve una necesidad real de usarlo como mi SO principal. Ahora que quiero aprender más a fondo acerca del desarrollo web, me doy cuenta de que en esta industria se usan los sistemas *nix como la opción por default. Y aquí estoy… tratando de seguir la convención y re-aprendiendo los comandos de la consola y los conceptos que linux tiene para ofrecer.

Muchas cosas han mejorado desde la versión 9.04 debo admitir, y ha sido tres semanas bastante cómodas hasta ahora. Algunas pequeñas cosas que debo buscarles solución son que la laptop se “traba” cuando está sólo con la batería y que no puedo cambiar el brillo, pero estoy seguro de que averiguaré cómo hacer que funcionen.

Algunas cosas que he hecho para “personalizar” mi experiencia con el “nuevo SO” han sido instalar toda clase de programas como:

  • BURG (Brand-new Universal loadeR from GRUB): Una forma gráfica de mostrar los sistemas operativos que tengo instalados.
  • Gnome 3: Un ambiente gráfico de escritorio. No porque no me guste Unity, pero creo que soy más eficiente usando este.
  • Skype : pues…, skype :p
  • Sublime text 2: Un editor excelente con el que me topé hace unos meses y no he dejado ir desde entonces.
  • Inkscape: Una grandiosa herramienta para crear y editar vectores.
  • Filezilla: un cliente FTP.

Para algunos de ellos tuve que agregar repositorios especiales y tal vez agregue un post después que contenga todas estas instalaciones. También debo decir que para Sublime Text me tomaría todo un post para describir los paquetes que he instalado para personalizarlo.

Como parte de mi investigación en el desarrollo web he instalado node y un par de paquetes npm también (como jade, stylus y cofeescript ) con los que estaré trabajando en aprender espero que en un tiempo no muy lejano.

Finalmente, un framework completo del que me enamoré: meteor. Ahora estoy trabajando en un proyecto para aprender cómo desarrollar con él, algunos de mis posts tal vez estén relacionados con esto en el futuro (también acerca de AngularJS, que también me gustó desde la primera vez que lo ví :) ).

Ubuntu desktop, may of 2013

Starting to use Ubuntu (again…)

This is my third week working on Ubuntu 13.04. I must say it has been an interesting experience so far. I have installed and used Ubuntu on one of my laptop’s partition since version 9.04, and although most of the work I did at College could easily be done in Ubuntu, I didn’t really have a need to use it as my primary OS. Now that I want to learn more in depth about web development, I can tell that the industry is using *nix systems as a rather default option. So, here I am… trying to follow the convention and re-learning the console commands and concepts that linux has to offer.

Many things have improved since version 9.04, I must acknowledge, and it’s been quite a comfortable three weeks so far. Some minor things that I still have to work on the solution are that the laptop freezes when on battery and I can’t change the brightness, but I’m sure I will sort that out.

Some things I have already done to “customize” my experience with the “new OS” have been installing kinds all of sofware like:

  • BURG (Brand-new Universal loadeR from GRUB): A graphical way to present my dual-boot installed OS
  • Gnome 3 desktop environment. Not that I don’t like Unity, but I think I get more done using this.
  • Skype : well, skype :p
  • Sublime text 2: an excellent text editor I came across a few months ago and haven’t let go ever since.
  • Inkscape: an awesome vector art creation and editor tool.
  • Filezilla: an FTP client.

For some of them I had to add special repositories and I might add a post later that encloses all those installations. Also Sublime text would take me a whole other post so I can describe all the packages I installed to customize it.

As part of my researching on web development I have installed node and a couple of npm packages as well (like jade, stylus and cofeescript ) that I’ll be working on learning hopefully not too far from now.

Finally, the one fullstack framework I fell in love with: meteor. I am currently working on a project to learn how to develop with it, some of my posts might be related to this in the future (also some related to AngularJS, which I also really liked when I saw it for the first time :) ).