entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

¿Qué tecnología recomendáis para hacer este tipo de aplicación web?

Hola a todos,

Me he propuesto hacer una aplicación (privada: para mí y mis amigos) que nos ayude en la gestión de diferentes listas de ejército para wargames. Imaginaos una cantidad notable de tablas en MySQL con datos sobre cada uno de los múltiples ejércitos que puede hacerse. Con una abstracción tal que es en las propias tablas se definen todo tipo de peculiaridades que tienen que cumplir dichas listas (validaciones). Si conocéis el programa Army Builder sabréis de lo que hablo, sino no tampoco tiene demasiada importancia.
Necesito un entorno gráfico que alimentado por esos datos definidos en la BD vaya ayudando a un usuario a construir una lista compleja de acuerdo a las normas del wargame en cuestión.

El esquema de la BD ya lo tengo listo, convenientemente normalizado, y ahora toca elegir un lenguaje de programación y desarrollarlo propiamente.

Y la cuestión es la siguiente: No sé qué lenguaje elegir. Mi idea, en un primer momento, era hacer un interfaz web (y no sabría elegir correctamente el lenguaje -php, asp .NET, puro javascript- o algún framework adecuado). Pero últimamente no sé si lo mejor sería hacer una aplicación de escritorio (en cuyo caso la haría con C# -no me gusta que sea interpretado-, o Freepascal -compilado a máquina ¿no?-). Supongo que la elección es algo que tengo que hacer yo ya que con todo se puede hacer, pero pongo aquí algunas características que me gustaría que tuviera la aplicación una vez finalizada y a ver si podéis recomendarme la "mejor" tecnología. Estoy perdiendo demasiado tiempo en la elección y no avanzo por más que lo intento. Cuanto más miro, más dudas tengo.

Vaya por delante que, aunque tengo conocimientos de desarrollo, son a un nivel bastante bajo. Una de las razones por las que me embarco en este proyecto es para aprender, y no me importa el tiempo que vaya a costarme porque nadie espera esta aplicación.

  • Tiene que ser PRIVADA. Es decir, tiene que aportar cierta dificultad para no permitir la entrada o uso a los usuarios no autorizados (o descargas pirata). No tengo idea de que esto vaya a ser de pago, pero al menos sí me gustaría que, llegado el momento, necesite al menos un registro en algún lado para poder usarse y crear una pequeña comunidad alrededor de la aplicación.
  • Las modificaciones (bugs/mejoras) que vayan saliendo deben poder llegar al usuario con cierta facilidad. No me gustaría tener que andar con versiones diferentes y avisando a los usuarios de que tienen que actualizar.
  • Habrá una aplicación para dispositivos móviles que permitirá únicamente consultar las listas que los usuarios creen con la aplicación. Dichas listas no sé si buscarme la manera de enviarlas a los móviles vía fichero encriptado, o publicarlas en inet en la base de datos y permitir el acceso al host, etc.
  • Y lo que quiere todo el mundo ¿no? Rápido. La navegación por la aplicación debería ser fluida, teniendo en cuenta que continuamente va a estar calculando y recalculando datos en pantalla con los datos que consultará desde la BD.

No sé si estoy dando suficientes datos como para que podáis guiarme un poco en la elección :) Espero que sí.

3 Respuestas

2votos

Chiro300 Puntos750

Saludos, pues la verdad mucho depende en que lenguaje te sientas mas fuerte y de gustos, además cuanto quieres gastar en lo que es cuestiones de Hosting, a mi gusto usuaria tecnologías .Net (C#, MVC y EntityFramwork), pero también seria mas sencillo desarrollarlo en PHP ya que es fácil de programar y rápido,

Tienes que tomar en cuenta ciertos factores, a mi punto de vista son los siguientes:

  1. Tiempo, cuanto tiempo necesitas para realizar la aplicación y calcular tus habilidades con uno y otro lenguaje, para poder calcular un tiempo.

  2. Complejidad, que tan complejo va a ser tu desarrollo y si el lenguaje te dará el potencial que necesitas, si es algo simple recomiendo PHP y si es algo mas complejo C# y Java.

  3. Gusto, con que lenguaje te sientes mas cómodo para desarrollar o si quieres aprender una nueva tecnología usa la.

Otra cosa si no quieres estar liando con las actualizaciones has una aplicación web de esta forma no te metes en temas de mandar actualizaciones a las aplicaciones de escritorio, pero mas que nada yo pienso que es una decisión de gusto.

0voto

Leonardo-Tadei comentado

Hola @Chiro300!

por qué decís que si es simple recomendás PHP y si es algo más complejo C# o Java?

Salvo que con PHP te refieras al lenguaje y con C# y Java te refieras a los frameworks no entiendo el motivo... pero seguro que no vale comparar un lenguaje con un framework.

Saludos!

PD: adhiero a tu respuesta en proponer tecnologías web, ya que el acceso y las actualizaciones, que son dos puntos importantes, es como mejor se solucionan.

0voto

SilaYMario comentado

Gracias a ambos por las respuestas, chiro y leonardo. Espero que salgo algo bueno de todo esto :)

1voto

Carlos A Millan Puntos160

Sería genial hacerlo con Python-Django, ya que puedes crear tu proyecto más ràpido y fàcil.

0voto

SilaYMario Puntos210

Finalmente el planteamiento será el siguiente:

  • Con .NET haré la capa de negocio y de datos. La idea es configurar múltiples web-services que se encargarán de todo el calculamen y consultas a la BD y servir a la capa de presentación (aún por definir) lo que solicite.
  • La capa de presentación será primeramente una web (html - javascript). Y más adelante, según necesidades, podré hacer o una app móvil que consuma dichos servicios web para hacer lo mismo, o una aplicación de escritorio que lo haga, o lo que fuere.

¿Creéis que estoy planteando cosas muy alejadas de lo que suele hacerse?

0voto

Chiro300 comentado

Saludos.

Bueno es que es depende el alcance que deseas de tu aplicación si lo que deseas es poder usarla en distintas plataformas un web services esta bien para hacer esto además WCF te da mucho potencial en este sentido y puedes hacer un web services de tipo RESTFUL, ya queda a tu elección, pero creo que es buena idea como lo estas planteando y sobretodo si es proyecto por hobbie mejor mete le todo lo que quieres aprender, igual si vas usar tecnologías .Net te recomiendo que le eches un ojo a EntityFramework para tu acceso a datos y a MVC 4 para tu parte de presentación web.

Mucha Suerte!!!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta