FacturaScripts se rediseƱa para el 2018

El año pasado les hablamos de las bondades de FacturaScripts: facturación y contabilidad con software libre, un ERP y CRM con un potencial increíble que destacaba por su fÔcil uso y la velocidad con que se pueda adaptar e implementar en cualquier tipo de negocio, hoy por hoy FacturaScripts sigue creciendo, trayendo a sus usuarios nuevas características y ampliando su soporte. Este crecimiento acelerado ha traído consigo la necesidad de mejorar el software desde su corazón para que sea mÔs escalable en el tiempo y para que este encaminado con las tecnologías actuales, es por esto que su creador Carlos García (NeoRazorX) nos cuenta de primera mano como ha estado Rediseñando FacturaScripts para 2018.

RediseƱando FacturaScripts para 2018 por NeoRazorX

Durante el verano, con mÔs de 60.000 descargas, 12.000 instalaciones que actualizan mensualmente, 4.000 usuarios registrados en la web y 90 plugins, nos encontramos ante un breve periodo de calma que queríamos aprovechar para solucionar algunos problemas de diseño del núcleo de FacturaScripts: problemas de dependencias, imposibilidad de heredar entre controladores o vistas, y una gigantesca masa de código, fruto de estos años de desarrollo.

Era el momento de replantearlo todo. Aprender de los errores y de los aciertos, y construir unos nuevos cimientos para los próximos años. De lo contrario moriríamos de éxito, puesto que añadir nuevas características requería cada vez mÔs esfuerzo.

Bajo estas premisas comenzamos un prototipo de núcleo con composer y algunos de los componentes de symfony. Composer nos permite añadir y gestionar dependencias en PHP muy fÔcilmente, y beneficiarnos de la carga automÔtica de las clases necesarias. De symfony elegimos httpfoundation, para gestionar cómodamente la entrada y salida de datos, translator para convertir a FacturaScripts en multi-idioma, event-dispatcher para gestionar eventos, y twig, un motor de plantillas con herencia que nos ha enamorado.

Sobre estos cimientos comenzamos a construir 3 tipos de controladores extendidos: ListControllers, para listados, EditControllers, para modelos simples, y PanelControllers, para modelos mĆ”s complejos que tienen relaciones con otros modelos. Por ejemplo, clientes, que al editar un cliente tambiĆ©n quieres ver sus direcciones, cuentas bancarias, facturas recientes, etc…

Las interfaces de FacturaScripts ya eran intuitivas, y una de las partes mÔs valoradas por los usuarios, lo que nos lastraba era el código. Los controladores extendidos son algo que necesitÔbamos desde hace tiempo para reutilizar código y poder añadir nuevas características de forma mucho mÔs sencilla.

Si eres desarrollador, a menudo te habrÔs encontrado en la situación de creer que tu código es maravilloso, y unos meses después darte cuenta de lo malo que es. Es normal. Afortunadamente ahora existen herramientas y servicios, como scrutinizer-ci, que te permiten obtener una valoración mÔs objetiva de tu código, ademÔs de señalar errores comunes y ofrecer consejos.

Antes de comenzar con el prototipo decidimos revisar nuestro código con scrutinizer-ci, obteniendo una puntuación de 5.4, siendo la clase fs_controller la gran responsable, aunque no la única. Y con pocas posibilidades de mejorar el diseño sin romper la compatibilidad. MÔs motivos para comenzar con un nuevo núcleo.

Hoy, la nota de FacturaScripts 2018 es de 8.66, teniendo sobresaliente en la inmensa mayorƭa de las clases y sus mƩtodos.

Un mejor diseño nos ha permitido añadir nuevas opciones a todos los formularios, como la exportación a PDF o Excel en cualquier pÔgina o listado, y el megabuscador, que ahorrarÔ mucho tiempo a todos los usuarios.

Ya sólo queda terminar algunas tareas y comenzar con la beta y la actualización de plugins. Os mantendremos informados ;-).

Comentarios sobre FacturaScripts 2018

Si algo nos agrada es ver que herramientas de código abierto y que ademÔs son destinadas al crecimiento empresarial tengan éxito, es un trabajo duro que muchas veces pasa por debajo de la mesa, estoy seguro que este no es el caso porque la satisfacción de los usuarios que hoy usan esta herramienta es muy alta.

El crecimiento en la complejidad y las funcionalidades de herramientas como estƔ conlleva un reto tƩcnico bastante grande, muchas veces las aplicaciones no estƔn preparadas para crecer tanto o simplemente sus desarrolladores se enfocan en mantener viejas estructuras que no estƔn alineadas con las nuevas tecnologƭas, creo que un punto muy favorable de FacturaScripts es esa claridad con que miran su software y esa humildad para saber cuando se deben hacer los cambios.

Con esta nueva versión, FacturaScripts ademÔs de ser mÔs eficiente traerÔ nuevas funcionalidades que estÔn muy relacionada a las necesidades de las organizaciones actuales, creemos que esta también serÔ una exitosa versión y que los usuarios de este poderoso ERP podrÔn hacer crecer sus negocios de mejor manera.