Você deve sempre programar o lado do servidor para um site?

38

Estou prestes a começar a criar um site de projeto de música para um amigo. Deve ser bem simples por enquanto: nenhum conteúdo dinâmico (datas de turnê etc.) e nada mais do que algumas músicas de amostra incorporadas ou links do SoundCloud. Não estou esperando usar nada além de JavaScript e Bootstrap ou Foundation para uma grade responsiva.

Isso é suficiente no entanto? Posso simplesmente fazer o upload de arquivos HTML, CSS e JS para um host e acabar com isso, ou devo reservar um tempo para programar um servidor de back-end em Node ou PHP?

    
por Deegriz 01.08.2016 / 02:11
fonte

5 respostas

87

Se você não sabe se precisa do código do lado do servidor, provavelmente não *

* Advertência : o código do servidor é essencial para a segurança, quando você deseja controlar internamente o acesso a conteúdo, dados ou funcionalidade. (Não precisa necessariamente ser seu servidor, veja o último parágrafo.)

Pergunte a si mesmo qual problema seria usar as tecnologias do lado do servidor. Se você não consegue pensar em nenhum (e no seu caso, eu também não posso), você não precisa deles.

Esteja ciente de que muito mais do que você imagina é possível usando apenas o código do lado do cliente. Estruturas JavaScript como AngularJS ou ReactJS podem permitir a integração com conteúdo dinâmico de terceiros por meio de APIs usando o Ajax. (Isso inclui conectar-se a uma API que possa manipular sua própria segurança.)

    
por 01.08.2016 / 03:36
fonte
56

Leia sobre geradores de sites estáticos. Eles permitem que você crie um site de maneira programática (usando modelos, dados etc.) e não criando HTML manualmente. O resultado é um conjunto de HTML e CSS estáticos que não exigem nenhum back-end.

O

link lista e classifica vários desses geradores de código aberto; ofertas de código fechado provavelmente também existem.

    
por 01.08.2016 / 03:25
fonte
6

Você pode e deve usar apenas um site estático, se for o suficiente, ou usar uma estática gerador de sites . Por quê? Manutenção . Código tem erros. A cada poucas semanas há outro buraco de segurança do WordPress encontrado. Se você usa um CMS comum, você terá que consertá-lo constantemente. O site do seu amigo em breve conterá propaganda de drogas ilegais, propaganda do ISIS, malware instalado nos computadores dos visitantes ou algo pior. Mesmo se você corrige regularmente, você pode estar muito atrasado, então você tem que verificar constantemente se há hacks. Existem maneiras de proteger este CMS. Instale "plugins de segurança", configure um firewall de aplicação web como o mod_security, etc. Tudo apenas mais trabalho. Eles também precisam ser mantidos atualizados. Às vezes, as regras do mod_security vão quebrar um plugin para o WordPress, você tem que analisar isso e consertá-lo. Mais trabalho.

Você pode pensar que ninguém vai querer invadir esse site. Mas, para os buracos de segurança comuns encontrados em sistemas CMS comuns, há logo bots automáticos que rastreiam / pesquisam na Web e hackam TODOS os sites que usam esse CMS. Eles só querem espalhar seus links / malware / propaganda.

Com um site estático (criado manualmente ou com um gerador), você não tem esse problema.

Se você implementar seu próprio back-end, ele também terá falhas de segurança (ninguém é perfeito), mas provavelmente ninguém irá explorá-los para esse pequeno site. Mas o que você quer implementar? Se você quiser criar um editor onde seu amigo possa alterar as datas da turnê, pense em quanto tempo isso levará até que seja fácil para ele usar sem sua ajuda. Quantas vezes você pode mudar rapidamente as datas para ele com esse orçamento?

Na minha opinião, hoje em dia muitas pessoas simplesmente usam sistemas CMS para cada site, porque o HTML estático é "antigo". Se você não precisa de nada que não seja possível com o HTML5, use o código do lado do servidor. Mas se você não precisa, você economiza muito tempo sem isso.

    
por 03.08.2016 / 09:37
fonte
3

Você só precisa fazer programação de back-end quando precisar.

No entanto, mesmo os recursos básicos, como formulários de e-mail, normalmente exigem uma programação básica de back-end. Se é apenas um site de exibição, então sim, tudo bem.

    
por 02.08.2016 / 04:04
fonte
2

Não necessariamente, mas há alguns problemas que você provavelmente enfrentará se criar todo o site em HTML simples.

Muitos sites têm os mesmos elementos de menu, cabeçalho e rodapé em várias páginas. Se você simplesmente copiar e colar essas informações de uma página para outra, isso pode se tornar tedioso e propenso a erros à medida que o site se torna maior e você precisa continuar fazendo alterações nessas áreas.

Nos dias que antecederam a programação do lado do servidor era tão comum uma forma comum de resolver isso era usar quadros para incorporar essas áreas em todas as páginas. Isso caiu em desuso alguns anos atrás, então eu não recomendo fazê-lo agora. Você poderia escrever algum código simples do lado do servidor para exibir esses elementos comuns em todas as páginas.

Eu concordaria com outras pessoas aqui que recomendaram o uso de um CMS pronto para uso.

    
por 02.08.2016 / 19:08
fonte