La unión de varias tecnológicas, teniendo a Facebook como estandarte, dio como resultado en agosto la presentación de Internet.org (EN), una iniciativa que pretende sentar las bases de los problemas logísticos actuales para llevar internet al resto del planeta.
Me he tomado mi tiempo, pero tenía ganas de dedicárselo al white paper (EN) de la iniciativa, de 68 páginas, en estricto inglés técnico, y que desvela algunas de las claves para tal titánica acción.
Como es de esperar, y teniendo a Facebook por líder, el documento es un continuo autobombo a los logros de la compañía, pero bien sea dicho de paso que la red social es un ejemplo a seguir en cuanto a optimización, y que hoy en día quizás sea la mejor guía de buenas prácticas para ahorrar ancho de banda y sacar el máximo partido al hardware con el que contamos.
Así es como, a modo de resumen, dejo por aquí plasmadas algunas de las deducciones a las que han llegado, y que podrían sentar precedente (o al menos abrir camino a futuras implementaciones):
- HipHop for PHP: Un decompilador (o como diablos debería llamarlo) que transforma PHP en C++. Y es interesante porque partiendo de la hipótesis que los datos suministrados no estén inflados, aseguran que con ello reducen el consumo de recursos hasta un 50%, lo que me lleva a confirmar nuevamente que por mucho que hemos avanzado en lenguajes web, C++ sigue siendo rey y señor de la optimización.
- HHVM: viene pegado del anterior, y podríamos considerarlo la evolución del mismo. La máquina virtual de PHP en la que corren la mayoría de scripts de facebook, una bestia parda del rendimiento que aseguran es 9 veces más rápida que el uso de PHP convencional. Tenéis por aquí el proyecto de GitHub (EN), que reza algo tal que así:
HHVM is a new open-source virtual machine designed for executing programs written in PHP. HHVM uses a just-in-time compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. HHVM has realized > 6x increase in web request throughput for Facebook compared with Zend PHP 5.2.
- WebP frente a jpg: De hecho no es nada nuevo para un servidor, que recientemente se lo recomendaba a un compañero TALENTUM que está desarrollando una app con muchísimo contenido gráfico, y quería dar el paso a lenguajes web. El formato WebP de Google (EN) para imágenes comprime las imágenes para servirlas al servidor, con lo que se ahorra casi un 20% de ancho de banda. Ahora cuenten ese 20% por todas las imágenes que tiene una web (o peor, una red social), y tienes un aumento del rendimiento terrible.
- Air trafic control: otro de los proyectos de la gran F, destinado a servir de herramienta de optimización de renderizado, simulando condiciones de conectividad de cualquier lugar del mundo. De esta manera, puedes calcular procesos de carga y ajustar los frames para conexiones peores que las nuestras, de forma empírica y no mediante cavilaciones.
- Facebook for Every Phone (EN): un proyecto a medio camino entre lo que es la app oficial, y productos como Wikipedia Zero, que intentan aprovechar todo el amplio conocimiento de redes y características para llevar las herramientas digitales a medios donde no existen infraestructuras necesarias para sustentarlas. Una aplicación de Facebook low cost, tanto de gasto de ancho, como de batería, para terminales low cost, en países en vías de desarrollo.
- Y por supuesto, la necesidad de infraestructuras que abarquen todo el globo: Una carrera que ya empezó no hace mucho, y que pretende ser uno de los principales caminos a seguir por el resto de tecnológicas (acercar internet al tercer mundo es aumentar tu cuota de mercado, y por tanto, repercute en más dinero). En esta entrada de hace unos meses, hacía un recorrido por los principales proyectos al respecto.
Guau Pablo me hiciste acordar cuando se programa en cobol, y los ordenadores antiguos de pantalla en blanco y negro. Como cambiaron las tecnologicas, y mas el c++. aun me acuerdo mis inicios cuando trabajaba en foxpro y tambien en visual basic.
Y tambien es curioso con mucha programacion que se realiza en plugins etc… vienen de php si no me confundo(me puedes rectificar porque veo que eres experto en el tema).
No conocia WebP que segun comentas el sustituto de de Jpg, yo conozco el formato png que para los blogs sigue siendo un formato menos pesado y consume menos recursos en el server…
Y lo mejor de todo es el nuevo html5 creo que es una buena alternativa de codigo y implementacion a nuevos blog, ya he visto muchos asi, y me parece una forma muy efectiva.
Pienso que joomla, y otros servicios como magento,entre otros muchos. Se estan quedando desfasados creo que wordpress es la plataforma mas activa.
No se si sigues a Jesús-Eduardo Conde Núñez muy buen profesional como tu y es curioso es gallego de la Coruña.
Gracias como siempre Pablo con tus articulos
A tí Miguel por ofrecer estos pedazo de discursos.
Lo cierto es paradigmático que, conforme abstraemos capas de arquitectura, seguimos necesitando lenguajes inferiores para las tareas más actuales. Y es normal, teniendo en cuenta que lenguajes como C llevan con nosotros varias décadas, mientras que lenguajes web (y llamo a lenguajes de programación javascript y php, por poner dos ejemplos, que HTML y CSS son estrictamente lenguajes de maquetado) apenas son unos recién llegados.
Respondiendo a tu pregunta, por lo general cada vez tendemos más partir de frameworks y boilerplates para empezar los proyectos, una suerte de templates que ahorran esas horas iniciales de estructura de carpetas y repetición de código para cada script o página.