2009-05-16 16 views

Respuesta

11

La consideración más importante es no sobre-diseñar al punto que se interpone en la forma de construir y lanzar algo. La parálisis del análisis es el mayor inhibidor de la productividad, el progreso y los resultados.

Sí, planeé un poco. Elige un marco. La perfección en un marco será imposible de encontrar porque no existe, en parte porque no sabes lo que necesitas hasta que lo construyas de todos modos. Lo más probable es que, si eliges algo, será mejor que no elegir nada.

Sí, trate de elegir herramientas flexibles e interoperables para ver hacia dónde se dirige.

Sí, busque un buen conjunto de funciones integradas en el que se vea en los próximos 6-18 meses. Tratar de mirar más allá de eso no es realmente realista de todos modos, ya que la mayoría de los proyectos cambian tanto de todos modos hacia la primera versión.

Por lo tanto, elige con qué te sientes cómodo o con qué te resulte familiar. No siga a la multitud, haga lo que le de los mejores resultados, lo más rápido y con frecuencia. Comprenda que es posible que tenga que cambiar en el futuro. Entonces, sea lo que sea que construyas ahora, trata de usar pruebas unitarias para que puedas volver a factorizar si es necesario alguna vez.

Si lo que estás construyendo va a ser un gran éxito, será un gran problema y fácil de trabajar una vez que gane dinero, ya que podrás conseguir otros talentos para ayudarte .

Comparta lo que termina eligiendo y por qué para su situación: ¡también nos ayuda a aprender de usted!

0

Depende.

empezar por mirar sus requisitos (funcionales o definidos por el usuario) (No funcional - aspectos que describen su sistema deseado link text)

Siguiente Me aclarar lo que significa tener una aplicación web escalable. Defínalo como casos de prueba que se pueden probar con claridad (debe admitir X vistas de página/segundo con un tiempo de respuesta de < Y segundos).

Una vez que tuve esas piezas en su lugar, me gustaría ver qué tipo de habilidades puede apoyar mi equipo de desarrollo (para el proyecto inicial y el mantenimiento continuo). Luego, encuentre algunos estudios de casos de aplicaciones en la naturaleza que usan un lenguaje o marco similar. Si alguien más ha creado una escala de lenguaje/estructura específica, entonces es muy probable que usted también pueda hacerlo.

Por último, salga y busque algunos proveedores de hosting que admitan el idioma, el marco y los requisitos elegidos.

2

En primer lugar en el lenguaje, en gran medida no importa. PHP, Java y .Net son probablemente los tres más importantes, todos están probados en el sentido de que ejecutan algunos de los sitios más grandes en la Web, así que no escuche a nadie que le diga que uno es más adecuado que cualquiera de los demás.

Algunos también pueden poner a Ruby y Django/Python en esta lista. No tengo nada en contra de ellos, pero no conozco ningún sitio grande (por ejemplo, los mejores 50) que use ninguno de los dos.

consideraciones de alojamiento dependen de qué tan bajo que desea iniciar, pero básicamente el orden es:

  1. compartido;
  2. Servidor privado virtual;
  3. Dedicado.

La escalabilidad será principalmente sobre el diseño de su aplicación que cualquier idioma, marco o proveedor. El esquema de base de datos eficiente, la entrega eficiente y el uso de Javascript/CSS y el almacenamiento en memoria caché en memoria son temas comunes a cualquier lenguaje o marco.

+0

Sitios web escritos en Ruby: Twitter, Github, Amazon ... –

1

Idioma - Recomendaría algo con buenos marcos y buenas bibliotecas de prueba como Perl o Java.

Marco: depende de lo que planeas hacer. Si comienza con un hosting que no permite FastCGI, es mejor evitar tales frameworks como Catalyst o Rails. Es por eso que amo CGI :: Application (principalmente Perl, pero también para otros idiomas) - puede ejecutarse como CGI, FastCGI o mod_perl. Para el desarrollo, se puede ejecutar desde su propio servidor web.

Alojamiento - nada es mejor que tu propio servidor. Puede ser su propio servidor, servidor alquilado o servidor virtual. Pero puede comenzar con el alojamiento más barato y cuando necesite más, debería poder pagarlo.

+0

Ruby on Rails no requiere FastCGI, por lo que no estoy seguro de por qué el soporte FastCGI es relevante allí. – Chuck

3

No se case necesariamente con un idioma o marco. Es posible que algunas partes de su sitio funcionen mejor con diferentes idiomas y marcos que otras. Por ejemplo, todos los sitios de 37signals se basan en Ruby on Rails, pero recientemente escribieron una publicación de blog sobre cómo la tecnología subyacente de uno está realmente escrita en Erlang ahora porque es mucho más fácil hacer concurrencia de esa manera.

Obviamente, hay un nivel de complejidad donde las cosas se convierten en una mezcolanza, pero usar la herramienta adecuada para el trabajo, incluso si eso significa diferentes herramientas para diferentes trabajos, puede simplificar las cosas.

Cuestiones relacionadas