Clases avanzadas en JS

En el artículo anterior escribí una manera simple de tener clases en JS sin tener que usar ES6 aunque demasiado simples si queremos hacer uso de metodologías avanzadas de OOP.

Para paliar la deficiencia de OOP en Javascript, durante muchos años usé un framework llamado Qooxdoo el cual aporta todo un sistema de clases bastante avanzados que me simplificó la vida en proyectos bastante grandes de Javascript pero hoy en día encontré una alternativa más liviana aunque no aporta la misma funcionalidad.

Separador

Clases simples en JS

Una de las cosas que siempre he echado de menos en Javascript es tener un buen sistema de clases donde se puedan implementar aplicaciones haciendo uso de patrones orientados a objetos. En ES6 han agregado el soporte para clases aunque bastante limitado para mi gusto siendo una lástima no haber aprovechado la nueva especificación para crear un lenguaje orientado a objetos mucho más robusto.

Si eres como yo que huye de los transpiladores hasta que ES6 esté bien soportado hay un paquete para node que permite tener un sistema bastante simple de clases con herencia.

Separador

Sistema simple de plantillas en PHP

Con una sola clase tendremos la posibilidad de manejar templates de una forma sencilla. Las plantillas son renderizadas sin hacer uso de mucha lógica lo que simplifica su uso.

En caso de necesitar estructuras de datos complejas así como lógica compleja para generar el resultado se puede optar por sistemas de plantillas más completos como Twig o Smarty.

Separador

Facilitando el procesado de textos en PHP

Considerando que PHP surgió para procesar textos parece mentira que después de tantos años y versiones el manejo de cadenas sea tan deficiente e incongruente. Para tratar de unificar el manejo de cadenas en PHP y, además, de una manera orientada a objetos he creado la clase jfString.

Actualmente los nombres de las funciones de cadenas en PHP presentan ciertas incongruencias:

Separador

Compartir datos entre procesos

Por medio de esta clase podemos usar la memoria compartida como si fuera un array normal. Cada vez que se trata de leer y escribir en el array se estará accediendo a la memoria compartida para almacenar de manera persistente la información y poder compartir entre procesos los datos.

Esta clase toma en cuenta la concurrencia por lo que hace uso de semáforos antes de leer y escribir los datos en memoria.