TLDR : Divagación larga y cuestionable sobre diversas tecnologías web .
Por menos de cincuenta dólares, hay muchos sitios de alojamiento a precios razonables donde puede obtener un nombre de dominio y un año de alojamiento web. Yo uso A2 Hosting, pero de ninguna manera es el único que existe.
Yo recomendaría no alojar un sitio web de acceso público en su computadora; Es un riesgo de seguridad marginal, pero lo más importante es que no podrá manejar el tráfico de gran volumen y almacenar grandes cantidades de contenido. Si tiene algún tipo de rack de servidores en casa, ignore lo que acabo de decir, pero aún necesitará algún tipo de dirección IP estática y un nombre de dominio asociado con esa IP para que sea accesible de manera consistente y fácil.
- ¿'Aplicación de página única (SPA)' significa una aplicación que solo tiene una página en el sitio web?
- ¿Cuáles son algunas buenas ideas de aplicaciones web para un portafolio completo de desarrollo web Full Stack?
- ¿Cómo diseñan las grandes empresas backend para aplicaciones web?
- ¿Por qué la mayoría de las aplicaciones web solo están diseñadas para adaptarse a la mitad de la pantalla en un monitor grande?
- ¿Cuáles son los mejores temas de WP, aplicaciones web y otras herramientas para crear sitios web de directorio seleccionados?
La forma general en que su aplicación terminará funcionando se parece a estos pasos, comenzando en el nivel de un usuario que accede a su sitio web.
- El usuario abre la URL en el navegador; El navegador solicita la página del servidor.
- El servidor resuelve la dirección en un script que devolverá contenido.
- El servidor puede consultar una base de datos para recuperar el contenido almacenado.
- El servidor puede almacenar contenido en una base de datos.
- El servidor genera los datos, que se muestran en el navegador del cliente.
Tiene una variedad de opciones para el back-end, donde se ubicará el script del lado del servidor. Los lenguajes más populares para generar contenido de forma dinámica desde el lado del servidor son probablemente PHP, ASP y JSP, sin ningún orden en particular. Hay guerras religiosas enteras sobre cuál de estas es la más adecuada. (Y luego están Python y Perl, especialmente entre otros idiomas).
Personalmente, prefiero PHP. Por un lado, si opta por un servicio de alojamiento Apache, es casi seguro que PHP estará preinstalado y listo para usar de inmediato. Honestamente, ASP y JSP también son ampliamente compatibles.
En términos de usabilidad, PHP es probablemente el más fácil de aprender, y como proyecto de código abierto basado en la comunidad, decir que los recursos de PHP son abundantes sería insuficiente. PHP también tiene una biblioteca estándar gigante de funciones que hacen que una variedad de tareas sea muy simple.
ASP es en muchos aspectos similar a PHP, pero técnicamente es una creación patentada de Microsoft. Probablemente los recursos también sean suficientes para ASP. JSP también es como PHP, pero está basado en Java, lo que puede ser una ventaja ya que ya está familiarizado.
A continuación, necesitará algún tipo de base de datos que el script del servidor back-end consulta para obtener el contenido que enviará al cliente. Las bases de datos basadas en SQL, como MySQL, son muy maduras y existen desde hace siglos, y es casi seguro que tendrá soporte para estas en cualquier servidor web que valga la pena. PHP hace que sea muy fácil conectarse a bases de datos MySQL con funciones estándar, y ASP / JSP tampoco debería ser demasiado difícil.
Otra opción que se está volviendo muy de moda en estos días es NoSQL, un término general para bases de datos que usan modelos más flexibles de almacenamiento de contenido. En otras palabras, cuando utiliza una base de datos de estilo SQL tradicional, el formato de su información se define de manera muy rígida en términos de tipos de datos y longitudes, mientras que las bases de datos NoSQL permiten un diseño más simple y dinámico. (Esta es probablemente una mala explicación, pero definitivamente deberías buscar NoSQL como mínimo).
Cómo exactamente harías para codificar estas cosas es una búsqueda de Google; Existen numerosos tutoriales sobre cómo crear sistemas y scripts de administración de contenido PHP / ASP / JSP para el tipo de propósito que usted describe.
En cuanto al front-end (que, particularmente con estos lenguajes de servidor, se mezcla de manera fluida en el mismo archivo de código), una comprensión sólida de HTML5 y CSS3 es ciertamente importante. JavaScript también es muy útil para mejorar la experiencia del usuario.
Y finalmente, tienes que conectar tu sitio web juntos. Si termina con varios archivos de script del lado del servidor, simplemente puede hacer solicitudes POST y GET entre las distintas páginas para comunicar sus datos y parámetros.
Sin embargo, con la llegada de la Web 2.0, no todo requiere necesariamente una recarga de la página para mostrar el contenido. Las solicitudes de AJAX en JavaScript pueden PUBLICAR u OBTENER dinámicamente el contenido de otro script de servidor y colocar los resultados en una etiqueta HTML en particular en su página actual.
Lo que te he descrito aquí es una mirada de muy alto nivel a lo que podría pasar detrás de un sitio web como Craigslist. Sin embargo, es clave tener en cuenta que las principales aplicaciones web no necesariamente reinventan la rueda cada vez, lo que hace que todas estas capas (base de datos, servidor, marcado del lado del cliente, secuencias de comandos del lado del cliente) desde cero.
Existe una variedad de marcos y paradigmas de servidor que existen para organizar y mantener fácilmente aplicaciones web de alto rendimiento, especialmente la arquitectura MVC, que intenta separar la lógica de manejo de información del código de interacción del usuario.
Mientras tanto, en el lado del cliente, hay plantillas preconstruidas (CSS, en particular) y código de arranque (como Twitter Bootstrap) que le brindan algo en términos de estilos y temas para construir una interfaz. Para JavaScript del lado del cliente, plataformas como jQuery simplifican drásticamente la cantidad de código que se requiere para crear una página suficientemente interactiva para la web moderna.
Menciono todo esto incluso si no necesariamente usarás estas campanas y silbatos cuando hagas lo que sea que estés haciendo; Es importante tener en mente una visión más amplia de las tecnologías, ya que lo que hace ahora puede no ser necesariamente la mejor y más pragmática forma de hacerlo.
Eso es todo por ahora. Por favor, avíseme si algo no tiene sentido. Si está buscando algo que realmente se centre en cómo hacer esto, busque algo similar a Google para construir un sitio web con [insertar acrónimos aquí].