Xeno - Tecnologias Web a usar - Parte I Servidor

Publicadas por Jose Carlos Tamayo

Este post es la continuacion de Xeno -Introduccion

Al elegir las tecnologias con las que voy a trabajar en el desarrollo de este juego, use la epxeriencia que tengo al hacer sistemas web, qeu no es mucha pero me parece suficiente como para tener una primera version del juego usable.

A continuacion les pongo las tecnologias que usare del lado del servidor y dare una explicacion pausible del porque, leanlo estoy seguro que pueden encontrar algo util o mejor aun sugerencias en donde mejorar mi proyecto:

SERVIDOR

Lenguaje de Servidor: Usare PHP 5 para el BackEnd. Las razones son las siguientes:

  1. La primera es una regla que aplico al desarrollo de cualquiero programa que hago, el mejor sistema es el que existe, es decir podria usar cosas misterios y excentricas (para mi por supuesto)como RubyOnRails, Python, o hasta Java el cual es uno de mis lenguajes favoritos, pero PHP es un lenguaje realmente facil para programar y muy rapido, ademas el sistema no va a ser muy complejo, un ejemplo, una ves chekee por curiosidad un clon del ogame llamado ugamela, la base de datos en total tenia como 20 tablas nomas, en mysql todas en MyIsam, osea nada de foreigns key o esa cosas exoticas que tanto les gusta a los Database Designer. Por lo tanto cosas como reflexion de clases o herencias de objetos no son necesarias.
  2. Es posible y necesario que mas gente se integre al desarrollo del juego, entonces es mas facil encontrar desarrolladores animados para estos juegos con conocimientos de php , que con cualquiera de los otros lenguajes, claro es posible que esta facilidad lleve a que en algun momento el codigo se vuelva spaguetti, pero no va a ser asi si se lleva un control rutinario de calidad del codigo,ademas tengo la mania de documentar todo,como los estandares del codigo y revisar la calidad cada tanto. A mi parecer el fuerte de PHP es la facildad con la que se puede crear codigo.
  3. No conozco (debo reconocer que no todo se puede saber) otro lenguaje para desarrollo web tanto como conozco PHP.

Servidor de Base de Datos:Aqui estaba en la duda entre Mysql y Postgres. Postgres es de lejos mi favorito ya que ademas de que lo conozco, me permite hacer cosas como guardar arreglos (osea arrays) enteros en la base de datos (si, se que va contra las leyes de normalizacion, pero si digg lo hace porque yo no) o usar de forma facil transacciones. El problema es que no hay muchos hosting que soporten PHP, y si lo hubiera pues no encuentro hasta ahora uno que sea gratuito. Por eso me iria mas por Mysql, ademas de que siguiendo con el punto numero 1, hay mas facilidad de encontrar gente que sepa Mysql en lugar de Postgres, aunque la diferencia entre uno y otro no es tan excesiva como es Ruby o Python vs PHP. De todas formas estoy dispuesto a hacer una pequeña inversion para mantener un servidor de prueba en Postgres. Por mientras el desarollo de la version alpha la estoy haciendo en postgres.

Servidor: Pues nada mejor que Apache 2 para aderezar las cosas. Uso windows para el desarrollo y sera una maquina linux para negocio ( osea el deployement, a falta de mejro palabra).

Bueno esa serian las tencologias del lado del servidor a usar en mi juego. Creen que usar PHP escale bien al final?, o conocen algun otro camino para progrmaar jeugos web? Quizas algun motivo por el cual PHP no se deberia de usar para este tipo de juegos? Bueno no lo se pero estoy seguro que lo averiguaremos. Un saludo
a todos y la siguiente parte tratara acerca de la parte cliente del juego.

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

4 comentarios:

  1. Eversor dijo...

    Yo creo que php es un lenguaje muy bueno para la web , ya que incluye muchas (muchismas) funcionalidades , que estan directamente enfocadas a la web , tiene la gran ventaja de que al ser GNU estan introduciendo modificaciones y mejoras continuas (dentro de poco creo que saldra la version 6 de php) ademas que tienes infinidad de fucniones , para todo lo que se te ocurra , ya que como quienes lo desarrolan son una comunidad , digamos que hay uno que le encanta Java , y dice , como que no existe tal funcion en php , pues me la creo , y asi para otros lenguajes.

    Respecto a la base de datos yo uso (realmente porque venia asi) MySQL con el motor (que tambien es importante) myISAM , pero para el nuevo juego estamos dudando entre myISAM e innoDB , pero en fin , aunque puedas meter matrices directas en la otra base de datos (que es una chulada) , simepre puedes hacer un serialize/unserialize que practicamente te lo hace solo , lo que pasa es que lei (no se donde) que lo que mejor funcionaba con php era mySQL , ademas con phpMyAdmin , puedes hacer pruebas hasta que tengas la query que buscabas y luego darle "crear codgio php" y una cosa menos que hacer...


    hay alguna forma para que pueda saber donde he comentado , porque seguro que alguna se me olvida...

  2. Jose Carlos Tamayo dijo...

    See, muchas veces leia que uno de los problemas de PHP es que no hay una sintaxis formal (¿seran las palabras?) en sus funciones, es decir existia la funcion destruyo_arreglos_yeah(), y tambien existia una funcion que hacia lo mismo llamada destruyoMasArreglos(), osea de camel case a separacion con subguiones. Pero parece que para miles de programadores esto no es importante. Lo principal que tiene PHP a su favor es todo el ADDON de cosas que hay para PHP, desde codigo gratuito hasta aceleradores y debugeadores.

    En Base de datos si tuviera eleccion me quedo con el elefante. De hecho myISAM se lo rompe al elefante y a Inno en velocidad, pero solo en lectura. Hace un dia no se donde lei que mISAM cuando hace un INSERT o UPDATE bloquea toda la tabla a diferencia del InnoDB que solo bloquea la Fila nomas. Postgres hace las cosas de forma parecida. Saludos Eversor.

  3. eversor dijo...

    Y objetivamente cuales son los pros y los contras de postgresSQL frente a mysql , y he de dar por echo que todas las funciones de mysql seguiran funcionando , no? porque sino me puedo volver loco , en plan mysql_fetch_array y todas esas no?

  4. Jose Carlos Tamayo dijo...

    Bueno en lo que respecta a las funciones como mysql_fetch_array, pues postgres tiene sus propias funciones en PHP, en este caso es pg_fetch array osea, ahi si tas j0d!d0.Yo mis accesos a la Bd es mediante un objeto que tiene su metodo query(), asi si cambio de BD, en teoria solo cambio lo que hay dentro del metodo nomas (en "teoria" digo porque el SQL varia en los dos para consultas especializadas ^^)

    Sobre Postgres Vs Mysql uff se a escrito muchsimo. Lo malo es que lo unico consiso y coherente (porque tambien hay los que escriben puras sandeces) que encuentro tiene mas de dos años de antiguedad. Pero lo que si es seguro es que Postgres sacrifica velocidad por escalabilidad e incorruptibilidad en los datos,... al menos hace dos años fue asi.

    En fin si te funciona el Mysql,ni loco lo cambies, recuerda el viejo dicho del developer: "No lo arregles si no esta roto" , tambien no olvides que.. Postgres Rock, big time =D!!

Publicar un comentario