Estou prestes a começar a criar um site de projeto musical para um amigo. Por enquanto, deve ser bem simples: nenhum conteúdo dinâmico (datas da turnê etc.) e nada além de algumas músicas de amostra incorporadas ou links do SoundCloud. Não estou esperando usar nada além de JavaScript baunilha e Bootstrap ou Foundation para uma grade responsiva.
Isso é suficiente? Posso simplesmente fazer upload de arquivos HTML, CSS e JS para um host e concluir com ele, ou devo reservar um tempo para programar um servidor back-end no Node ou PHP?
Respostas:
Se você não sabe se precisa do código do servidor, provavelmente não precisa *
* Advertência : o código do servidor é essencial para a segurança, quando você deseja controlar internamente o acesso ao conteúdo, dados ou funcionalidade. (Ele não precisa necessariamente ser seu servidor, consulte o último parágrafo.)
Pergunte a si mesmo que problema seria o uso de tecnologias do servidor. Se você não consegue pensar em nenhum (e no seu caso, também não consigo), 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 pode lidar com sua própria segurança.)
fonte
Server-side code is essential for security
alguns desenvolvedores não dão a mínima para segurança. Não até você jogar o rosto na bagunça deles. Minha linha é que, se você precisar de autenticação, precisará de um back office. Se você precisar armazenar dados, precisará de um backoffice onde os dados serão verificados uma segunda vez após serem verificados pelo lado do cliente.Leia sobre geradores de sites estáticos. Isso permite 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ático que não requer nenhum back-end.
https://www.staticgen.com/ lista e classifica vários desses geradores de código aberto; as ofertas de código fechado provavelmente também existem.
fonte
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?
faz apelo por apontar que há uma terceira, no caso do OP bastante atraente, opção IMHO :)Você pode e deve usar apenas um site estático, se for suficiente, ou usar um gerador de site estático . Por quê? Manutenção. O código possui bugs. A cada poucas semanas, há outra falha de segurança no WordPress. Se você usa um CMS comum, precisará corrigi-lo constantemente. Caso contrário, o site de seus amigos em breve conterá propaganda de drogas ilegais, propaganda do ISIS, malware instalado nos computadores dos visitantes ou algo pior. Mesmo se você o corrige regularmente, pode ser tarde demais para ter que verificar constantemente se há hacks. Existem maneiras de proteger esse CMS. Instale "plugins de segurança", configure um firewall de aplicativo da web como mod_security etc. Tudo isso funciona mais. Eles também precisam ser mantidos atualizados. Às vezes, suas regras de mod_security quebram um plug-in para o WordPress, você precisa analisá-lo e corrigi-lo. Mais trabalho.
Você pode pensar que ninguém vai querer invadir esse site. Mas, para as falhas de segurança comuns encontradas nos sistemas CMS comuns, em breve existem bots automáticos que rastreiam / pesquisam na web e cortam TODOS os sites usando 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á brechas de segurança (ninguém é perfeito), mas provavelmente ninguém as explorará nesse pequeno site. Mas o que você deseja implementar? Se você deseja criar um editor em que seu amigo possa alterar as datas da turnê, pense em quanto tempo isso levará até que seja fácil o suficiente para ele usar sem a sua ajuda. Quantas vezes você pode alterar rapidamente as datas para ele com esse orçamento de tempo?
Na minha opinião, muitas pessoas hoje em dia usam apenas sistemas CMS para todos os sites, porque o HTML estático é "antigo". Se você não precisar de nada que não seja possível com o HTML5, use o código do lado do servidor. Mas se você não precisar, economiza muito tempo sem ele.
fonte
Você só precisa fazer programação de back-end quando precisar.
No entanto, mesmo recursos básicos, como formulários por e-mail, requerem programação básica de back-end. Se é apenas um site de exibição, então sim, tudo bem.
fonte
Não necessariamente, mas é provável que haja alguns problemas se você criar o site inteiro 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 poderá se tornar tedioso e propenso a erros, à medida que o site aumentar, e você precisará continuar fazendo alterações nessas áreas.
Nos dias que antecederam a programação no lado do servidor, uma maneira comum de resolver isso era usar quadros para incorporar essas áreas em todas as páginas. Isso caiu em desuso há vários anos, então não recomendo fazê-lo agora. Você pode escrever um código simples do lado do servidor para exibir esses elementos comuns em todas as páginas.
Concordo com outras pessoas aqui que recomendaram o uso de um CMS pronto para uso.
fonte