Google trabaja en el desarrollo de una nueva plataforma de desarrollo web

En el artículo Google working on advanced Web engineering se explica que Google está trabajando en la creación de una nueva plataforma de desarrollo web debido a las limitaciones que presenta la tecnología actual:

“We’re getting to the place where the Web is turning into a run time integration platform for real components,” said Alex Russell, speaking at the EclipseCon, being held this week in Reston, Virginia. At Google, Russell works on the Chrome browser. He is also the creator of the widely used Dojo JavaScript framework.

Despite its popularity, the Web offers only relatively primitive programming capabilities, compared to other platforms for delivering applications, such as Java or Microsoft Windows. One major shortcoming is that Web technologies don’t have a “common component model,” which slows code testing and reuse, he said.

As an example, Russell showed off a new element he created called commenting. For Web pages that allow user comments, the commenting element, rendered as a tag, can automatically format the text submitted by a user and even add an accompanying photo. The tag is actually a program, complete with its own API (application programming interface), Russell said. With the unified component model, HTML can be a sub-class of a larger environment, allowing for more ways to manipulate HTML code.

Google engineers, Russell included, are also developing a proposal to add classes to the next version of JavaScript. A core element of object-oriented programming, classes are blueprints for reusable chunks of data and behaviors. Today, JavaScript does not support classes, so JavaScript programmers tend to use function calls to define many chunks of operational code that aren’t actually functions, such as methods and constructors. This practice is time-consuming and makes the code more difficult to reuse.

¿Aplicación nativa o aplicación web?

La discusión entre aplicación nativa o aplicación web es un tema recurrente de los últimos años. Acabo de encontrar dos artículos que presentan dos escenarios muy distintos de la guerra que existe entre estas dos formas de desarrollar aplicaciones.

Mientras que en Apps could be overtaking the Web, says report se dice que el tiempo que invierte una persona en usar una aplicación nativa en un dispositivo móvil ya supera al tiempo que se emplea en navegar por la Web o utilizar una aplicación de escritorio, en el artículo Survey: Android programmers shifting toward Web apps explica que los desarrolladores de aplicaciones  para Android están abandonando esa plataforma debido a las dificultades de desarrolla y están retornando a las aplicaciones web.

Más información: ¿Aplicación nativa o aplicación web?

Como aprendí a programar

Interesante reflexión sobre la programación: How I learned to program. El inicio del artículo resumen muy bien las sensaciones que nos producen a muchos el ponernos delante del ordenador a programar:

Programming is, without a doubt, the most mentally rewarding thing I’ve ever done. Programming taught me that life should be fun, filled with creativity, and lived to the fullest. Programming taught me that anything is possible; I can do anything I want using only my mind.

Programming also taught me that learning is fun. It showed me that the more you know, the more power you have. Programming showed me that a life filled with learning is a life worth living. Programming revealed to me who I am inside, and has continuously helped me work towards my goals.

I feel extremely lucky to have had the means and opportunity to learn programming early in my life. While my methods are certainly not optimal for everyone, they worked well for me.

Traducido al español:

La programación es, sin lugar a dudas, la mayor gratificación mental que jamás he obtenido. La programación me enseñó que la vida debe ser divertida, llena de creatividad, y vivida al máximo. La programación me enseñó que todo es posible, puedo hacer lo que quiera con sólo mi mente.

La programación también me ha enseñado que el aprendizaje es divertido. Me mostró que cuanto más sepas, más poder tendrás. La programación me mostró que una vida llena de aprendizaje es una vida digna de ser vivida. La programación me reveló lo que soy por dentro, y no ha dejado de ayudarme para lograr mis metas.

Me siento muy afortunada de haber tenido los medios y la oportunidad de aprender a programar en edades tempranas. Mientras que mis métodos no son ciertamente óptimos para todo el mundo, a mí me sirvieron bien.

Y el artículo continúa dando algunos consejos como “instala Linux” o “crea pequeños programas de línea de comandos” con los que uno puede estar o no de acuerdo, pero que tienen su base.

Los lenguajes de programación de Google no triunfan

Según el artículo Google programming languages failing to gain traction, los dos lenguajes que está desarrollando Google, Go y Dart, no se sitúan entre los más populares.

Go es un lenguaje de programación concurrente, compilado y con recolector de basura, inspirado en la sintaxis de C.

Dart es una plataforma de desarrollo web que incluye un nuevo lenguaje de programación, librerías, una máquina virtual y un compilador a JavaScript.

Verificación automática de aplicaciones Web 2.0

Automated stress testing for Web 2.0 applications helps Web developers find programming errors:

Web applications such as Google Mail, Facebook and Amazon are used every day. However, so far there are no methods to test them systematically and at low cost for malfunctions and security vulnerabilities. Therefore, computer scientists from Saarland University are working on automatic methods of testing, which check complex web applications autonomously. For the first time, they will present this work at exhibition booth F34 in hall 26 at the computer fair Cebit. The trade show will take place from March 6 to 10 in Hannover.