domingo, octubre 10, 2010

(Not So) Pragmmatic Programmer

Hace un par de semanas me involucré en un proyecto para desarrollar una aplicación para una agencia de cinematografía. La "prueba de concepto" (como dicen los grandes consultores) la hice en Rails 3 con alguna de las nuevas gemas de la corona. Incluso así se mostró el proyecto al prospecto a cliente. Sobra decir que le gustó la aplicación pero dejó en claro que no estaba dentro de sus prioridades inmediatas. No problema por eso, pero parte de la reunión también fue revisar su actual servicio de hosting para validar el soporte a Rails.

El servicio de USD$8.00 al mes no da para mucho. Claro que no para soportar Rails. ¿Qué hacer entonces? ¿Qué hacer con un hosting debajo de básico que solamente soporta cpanel? Aparecía soporte para Python ¡Oh si! No es Ruby pero no se puede caer más bajo ¿o si? Deficiente soporte. Mis habilidades cpanel'istas no dieron para arrancar web2py en el servidor.

Y ahí, debajo de la manta del 'te lo dije' apareció PHP. OMG! Sí, tendría que usar PHP. ¿Cómo podría hacer menos traumática la experiencia? Una breve búsqueda en Google me arrojó la referencia a Symfony, un framework MVC muy interesante y no tan lejano del modo Rails. Lo descargué en mi máquina, seguí el tuto y conseguí arrancar un módulo completo (controlador, vistas y modelo).

En ese momento decidí hacer la prueba de fuego. Subirlo al servidor y echarlo a andar. FAIL!. Symfony también funciona a base de 'generators' y como tal requiere el acceso a la línea de comandos. USD$24.00 al mes me darían acceso pero no hubo respuesta favorable del cliente. El tan interesante y correcto framework tuvo así que ser descartado.

¿Qué queda a estas alturas? ¿Qué queda después de buscar opciones correctas? ¿Qué queda después de buscar las mejores tecnologías? Usar tecnologías crudas, simplistas y mezclarlas con scripts de internet. Hacer un pequeño Frankestein. Y finalmente es más fácil hacerlo con PHP que con otra selección.

¿Es esa la explicación del bajo nivel que generalmente se asocia a PHP? Al no tener más opción que trabajar con lo menos (hosting de USD$8.00) hay que hacer lo peor. Hacer lo menos. Hacer lo que funcione como sea.

Symfony es una muy buena muestra de un buen nivel de desarrollo con PHP. Encontré otros frameworks minimalistas al estilo de Sinatra (Frank.php) y similares pero la limitante del hosting no permitió aprovecharlos. Solo queda hacer el trabajo sucio con código sucio. Y será en PHP. Don't take it that hard.

Finito.

9 comentarios:

paulo dijo...

No probaste con Heroku?

ChilliCoder dijo...

@paulo He utilizado Heroku para otros proyectos, sin embargo en éste en particular se requiere subir y almacenar archivos por lo que lo descarté inmediatamente. Pensamos en usar Amazon S3 pero igual la parte del costo es restricción.

paulo dijo...

Si los archivos que van a usar son solo imágenes y vas a usar paperclip, en github hay un versión tuneada para subir archivos a un ftp, podes usar ese plugin y usar el hosting actual para almacenamiento.

ChilliCoder dijo...

@paulo estoy usando carrierwave para la administración de archivos pero la idea de una extensión para usar ftp me interesa por que no sé si exista algo así para CW ¡gracias por el comentario!

garaged dijo...

siempre esta el exec(), jejeje, realmente la solucion es obvia, pero no tan amable, contratar hosting de verdad, pero pues ahora la gente ya no quiere pagar ni por eso, 100 pesos al mes le parecen mucho a todos, incluso a los que se dedican a vender aplicaciones "a la medida"

ChilliCoder dijo...

@garaged yeap, todo mundo anda buscando como recortar el gasto, obtener inversión y aumentar las ganancias... feo el mundo capitalista ¿no?

macario dijo...

Jijo, no puedo creer la tacañería de algunas gentes.

S3 es increiblemente barato, pagas literalmente centavos.

Suerte!

carakan dijo...

Lo que te recomendaria si te animas a entrar al "Lado oscuro" o sea programar con PHP, es utilizar CakePHP que igual se asemeja a Rails, tiene los generadores y toda la magia .. pero para PHP, igual asi se queda corto :S , cuando lo tengas listo simplemente lo subes y todo anda, años atras me salvaba de lo que comentaste en tu post.

Lo otro es que te animes a comprar un VPS y luego ir revendiendo el servicio, trabajas menos, utilizas RoR, cobras mas y te sobra un poco como para (rematar) rebajar los precios del hosting y ser competencia a los 8USD :P

david dijo...

Ya usaste el programa Bizspark para startups? Te regala uso de la plataforma Azure y corre PHP, Java, .NET. No te obliga a tener una en particular