Estoy a punto de comenzar a crear un sitio web de proyecto musical para un amigo. Debería ser bastante simple por ahora: sin contenido dinámico (fechas de gira, etc.), y nada más que unas pocas canciones de muestra incrustadas o enlaces SoundCloud. No espero usar nada más que JavaScript vainilla y Bootstrap o Foundation para una cuadrícula receptiva.
¿Es esto suficiente sin embargo? ¿Puedo simplemente cargar archivos HTML, CSS y JS a un host y terminar con ellos, o debería tomarme el tiempo para programar un servidor back-end en Node o PHP?
Respuestas:
Si no sabe si necesita un código del lado del servidor, probablemente no *
* Advertencia : el código del lado del servidor es esencial para la seguridad, cuando desea controlar internamente el acceso al contenido, los datos o la funcionalidad. (No necesariamente tiene que ser su servidor, consulte el último párrafo).
Pregúntese qué problema resolvería con las tecnologías del lado del servidor. Si no puede pensar en ninguno (y en su caso, yo tampoco), entonces no los necesita.
Tenga en cuenta que mucho más de lo que podría pensar es posible utilizando solo el código del lado del cliente. Los marcos de JavaScript como AngularJS o ReactJS pueden permitirle integrarse con contenido dinámico de terceros a través de API utilizando Ajax. (Esto incluye conectarse a una API que podría manejar su propia seguridad).
fuente
Server-side code is essential for security
bastante algunos desarrolladores no dan una mierda sobre seguridad. No hasta que arrojes su cara en su ... desastre. Mi línea es si necesita autenticación, necesita una oficina administrativa. Si necesita almacenar datos, necesita un backoffice donde los datos se verifiquen por segunda vez después de que el cliente los verifique.Lea sobre generadores de sitios estáticos. Estos le permiten crear un sitio de manera programática (usando plantillas, datos, etc.), y no creando HTML a mano. El resultado es un conjunto de HTML y CSS estáticos que no requieren ningún backend.
https://www.staticgen.com/ enumera y clasifica varios generadores de código abierto; Es probable que también existan ofertas de código cerrado.
fuente
Can I simply upload HTML, CSS, and JS files to a host and be done with it, or should I take the time to program a backend server in Node or PHP?
llama a señalar que hay una tercera opción, en el caso de OP bastante atractiva, en mi humilde opinión :)Puede y debe usar solo un sitio estático si es suficiente, o usar un generador de sitio estático . ¿Por qué? Mantenibilidad. El código tiene errores. Cada pocas semanas se encuentra otro agujero de seguridad de WordPress. Si usa un CMS común, deberá parchearlo constantemente. De lo contrario, el sitio web de sus amigos pronto incluirá publicidad de drogas ilegales, propaganda de ISIS, malware instalado en las computadoras de los visitantes o algo peor. Incluso si lo parches regularmente, es posible que sea demasiado tarde, por lo que debe verificar constantemente los piratas informáticos. Hay formas de asegurar este CMS. Instale "complementos de seguridad", configure un cortafuegos de aplicación web como mod_security, etc. Todo es más trabajo. También tienen que mantenerse actualizados. A veces, sus reglas de mod_security romperán un complemento para WordPress, debe analizarlo y solucionarlo. Mas trabajo.
Podrías pensar que nadie querrá piratear ese sitio. Pero para los agujeros de seguridad comunes que se encuentran en los sistemas CMS comunes, pronto hay bots automáticos que rastrean / buscan en la web y piratean TODOS los sitios que usan ese CMS. Solo quieren difundir sus enlaces / malware / propaganda.
Con un sitio estático (creado manualmente o con un generador), no tiene ese problema.
Si implementa su propio back-end, también tendrá agujeros de seguridad (nadie es perfecto), pero lo más probable es que nadie los explote para ese pequeño sitio web. ¿Pero qué quieres implementar? Si desea crear un editor en el que su amigo pueda cambiar las fechas de la gira él mismo, piense cuánto tiempo le llevará hasta que sea lo suficientemente fácil de usar sin su ayuda. ¿Cuántas veces puedes cambiar rápidamente las fechas para él con ese presupuesto de tiempo?
En mi opinión, demasiadas personas hoy en día solo usan sistemas CMS para cada sitio, porque el HTML estático es "antiguo". Si no necesita nada que no sea posible con HTML5, use el código del lado del servidor. Pero si no lo necesita, ahorrará mucho tiempo sin él.
fuente
Solo necesita hacer programación de backend cuando lo necesite.
Sin embargo, incluso las funciones básicas, como los formularios de correo electrónico, requieren una programación básica básica. Si es solo un sitio de exhibición, entonces sí, está bien.
fuente
No necesariamente, pero hay algunos problemas con los que es probable que se encuentre si crea todo el sitio en HTML sin formato.
Muchos sitios tienen los mismos elementos de menú, encabezado y pie de página en varias páginas. Si simplemente los copia y pega de una página a otra, esto puede volverse tedioso y propenso a errores a medida que el sitio se hace más grande y necesita seguir haciendo cambios en estas áreas.
En los días anteriores a la programación del lado del servidor era tan común, una forma común de abordar esto era usar marcos para incrustar estas áreas en cada página. Esto cayó en desgracia hace varios años, por lo que no recomiendo hacerlo ahora. En su lugar, podría escribir un código simple del lado del servidor para mostrar estos elementos comunes en cada página.
Estoy de acuerdo con otros aquí que han recomendado usar un CMS estándar.
fuente