La respuesta es: todo lo anterior. (Por ejemplo, HTML/CSS, del lado del servidor, base de datos de secuencias de comandos del lado del cliente, etc.)
Sin embargo, sólo la menor cantidad posible de cada uno de aquellos requeridos para obtener la característica individual más simple en realidad trabajan.
Según su pregunta, parece que nunca antes ha hecho una aplicación web. Eso está bien, y su pregunta es buena, ya que recuerdo que encontrar mi primera aplicación web fue bastante desalentadora.
Para comenzar a usar esta mejor práctica, recomiendo iteraciones cortas/ajustadas, donde cada iteración produce código de trabajo terminado.
Aquí es una simple descripción de este proceso, por mi experiencia:
- dejar de trabajar en su especificación funcional - déjela a un lado, y mantenerlo - es un trabajo importante.
- Elija 1 función ... hágala la característica más simple en su especificación como lo es ahora.
- creo que ha de ser: para mostrar la versión más simple posible de su página de inicio
- empezar a trabajar en todo lo que se necesita para hacer que su página de inicio súper simple en realidad funciona.
- Para que funcione esta 1 página, tendrá que aprender un poco sobre cada parte de su pila, excepto tal vez la base de datos, eso está bien, puede continuar en una iteración posterior.
- Elegir las herramientas en su pila ...
- desarrollo de la máquina/medio ambiente (por ejemplo, Linux/Apache/PHP, o ventanas/IIS, asp.net, etc.)
- si usted no sabe su stack, pídales a sus amigos o colegas que lo recomienden.
- encontrar un tutorial sobre el desarrollo del lenguaje (php, asp.net, Javascript/jQuery) - hay un montón de tutoriales en línea - sólo Google para ellos
- Siguiendo los tutoriales y/o hacer preguntas específicas sobre el SO y/o SF, instale sus herramientas/plataforma, y obtenga un ejemplo de tutorial para trabajar.
- Una vez que tenga confianza, comience a limpiar y desarrolle su súper simple página de inicio.
- Ahora ... regrese a su especificación funcional y elija la siguiente característica más simple, tal vez una que involucre la base de datos.
- Repite los pasos anteriores, selecciona tus herramientas y aprende a usarlas con un tutorial, luego pasa a implementar tu característica simple real.
- Después de haber hecho algunas funciones simples, digamos 3 por ejemplo, revise su especificación funcional y vea si necesita una actualización basada en lo que ha aprendido haciendo las 3 primeras funciones.
- Revise su código de sus primeras 3 características, ¿aprendió algo desde que comenzó? ¿Hay alguna razón para refactorizar o limpiar? Si es así, haga 1 paso en la limpieza/refactorización.
- Una vez que esté satisfecho con sus 3 funciones simples, vuelva a su especificación y elija otra característica y/o agregue más sofisticación a una función existente.
Cada ciclo descrito anteriormente es una iteración, manténgalos cortos y siempre termine con código de trabajo que podría enviar potencialmente, si su aplicación solo requería esa característica pequeña.
No inventé el proceso anterior, se llama Scrum. Aunque en realidad no necesita saber nada más de lo que he descrito anteriormente para comenzar, puede leer más al respecto (en su tiempo libre, o tal vez no hasta que haya completado 5 funciones simples) aquí:
wikipedia entry on scrum
Tenga en cuenta que cada iteración probablemente será necesario que para aprender un poco y crear un poco de cada una de las partes componentes que usted describe más arriba: HTML/CSS, código del lado del servidor, bases de datos, etc.
Por lo tanto, lo que hará "primero" es implementar la característica más simple posible, utilizando la menor cantidad de codificación necesaria para que funcione esa característica.
Buena suerte.
¡Vaya! Tal vez debería haber especificado que este es un * proyecto personal *. No hay cliente(¡Ojalá llegue a un público amplio cuando esté listo!) – Tyler
Eso solo significa que usted es el cliente (o su audiencia). Si se trata de un proyecto personal serio, trátelo como tal. Obtendrá una gran cantidad de información sobre cómo ejecutar otros proyectos y su proyecto será mucho mejor. Trabaje en la interfaz de usuario y muéstresela a algunos amigos, incluso encontrará cosas que quiera cambiar una vez que trabaje en un diseño. – Luis