Rataforo
El Rataforo, nuestro foro de prueba
Rataforo es nuestro software de foro web. Es una maravilla de la programación, creado en Perl por el Rat. En realidad aún está en desarrollo.
Características planeadas
- Rápido
- Estoy usando Plack y SQLite, el foro debería ser bastante rápido.
- Ligero
- Mi servidor de pruebas es un servidor virtual con poca RAM y debe correr bien ahí.
- Limpio
- El código está sobre el modelo MVC y la base de datos tiene un diseño minimalista.
- Personalizable
- Hacer temas visuales debería ser relativamente sencillo.
- Internacional
- Soporte para traducciones y UTF-8.
¿Por qué preferir Rataforo sobre Simple Machines o phpBB?
Porque no es un spaghetti de CGIs mal puestos, sino una web app autocontenida, lo que significa que al mismo tiempo es más rápido, más eficiente y más pequeño. Puedes correr Rataforo atrás de Nginx o Lighttpd.
Perl es mucho más eficiente que Php, así que desde ahí ya sabes que todo marchará mucho más rápido.
SQLite es el backend por default, es una base de datos con gran escalabilidad, que debe ser más que suficiente para la mayoría de los foros. Si tu foro realmente excediera las posibilidades de SQLite, cambiar el backend a PostgreSQL sería trivial.
¿Por qué en Perl?
Son varias las razones:
- Quería hacer un experimento con PSGI/Plackup
- En este mundo post-Apache tiene mucho sentido hacer muchas cosas como web apps. Estoy muy satisfecho con lo que logramos con Geeklog, por ejemplo, y quisiera poder hackear unos web apps bien locos muy rápido en Perl. Para la próxima usaré Dancer, que es un nivel de abstracción más sobre Plackup.
- No quiero usar Php
- Php usa demasiados recursos, este servidor tiene como 256 MB de RAM y una instancia de
php-fpmse come una parte significativa de eso. - No quiero aprender Php 7
- No me interesa aprender Php 7. Aprendí Php 5.6, con todas sus novedades de OOP y estuvo bien, pero no tengo suficiente cerebro como para seguir en el tren de defender Php.
- No quiero MySQL/MariaDB
- También es otro big spender que no puedo auspiciar. Tiene algunas características que me gustan pero en general no es mi RDB favorita.
- Quiero probar SQLite
- Desde hace años tengo la teoría de que SQLite debe ser muy robusto para este caso de uso. Según yo sí.
- Quiero migrar fácilmente a PostgreSQL
- ...por si SQLite no da el ancho, jaja.
- No quiero invertir mucho tiempo
- Soy programador profesional de Perl, así que soy experto y puedo resolver cualquier bugcillo en minutos. Si lo hago en Racket, me tomaría horas. No quiero causar downtimes.
Sigo siendo fan de Racket/Lisp.