Em um aplicativo da Web somente de javascript, que informações de estado o URL deve conter?

5

Estou escrevendo um aplicativo da web de página única que fala com uma camada de negócios por meio de RPC assíncrono (codificado com json). Estou segmentando navegadores bastante modernos, para que eu possa, no mínimo, controlar o URL após o hash. No entanto, a URL não será realmente o que direciona o estado do aplicativo (que será mantido por uma camada de modelo javascript), portanto, eu não tenho para fazer qualquer coisa com ele. Eu poderia até manter o mesmo o tempo todo sem qualquer problema de implementação.

A questão é, o que deve entrar no URL? Não vou entrar no aplicativo porque espero que a pergunta seja geralmente útil. Quais são os tipos de expectativas que os usuários têm sobre os botões para voltar e avançar? Sobre digitar um URL? Existem atualmente práticas recomendadas geralmente aplicáveis para este tipo de aplicação?

    
por psr 25.08.2011 / 00:10
fonte

2 respostas

3

O URL deve ser usado para o que faz: localizar um recurso.

Você deve colocar na URL apenas as coisas relativas à localização do recurso, para que os usuários sempre possam encontrá-lo (favoritos, permalink). Com isso em mente, você deve evitar inserir variáveis nele ou outros dados personalizados.

Veja o link dessa pergunta, por exemplo, e como é fácil compartilhá-la entre redes sociais.

Você também deve considerar que muitos usuários (como eu) podem preferir navegar em seu site diretamente da barra de URL. Por exemplo, brincando com números. Se eu estou lendo um artigo no blog com um URL contendo uma pasta chamada 2011, posso tentar remover toda a parte do URL até a pasta do ano, esperando ver uma página que contenha todos os artigos de 2011.

Então, eu também poderia mudar de 2011 para 2010 para navegar nos artigos do ano passado, e assim por diante ...

Muitas vezes, os sites fornecem comandos de navegação muito básicos (e às vezes ineficientes ou completamente ausentes). Geralmente, é mais fácil navegar em um site diretamente pela barra de URLs.

Editar

Também gostaria de acrescentar que o URL deve descrever o máximo possível o conteúdo do recurso vinculado, usando palavras-chave claras, não números aleatórios ou palavras enganosas / inúteis.

    
por 25.08.2011 / 10:59
fonte
0

Uma das interfaces de aplicativos da web, é URL (barra de endereços). Ele pode ser considerado uma contraparte da API (application programming interface) na mesma faceta que alguns dos comportamentos do aplicativo podem ser controlados diretamente da URL. Por exemplo, você pode diretamente digitar http://www.yoursite.com/update/john/phone-number-to/9195527768 . Dessa forma, você pode controlar seu aplicativo da web diretamente da barra de endereço e a barra de endereço se torna algo semelhante à linha de comando, e a URL se torna um comando.

Outro uso do URL, como outros disseram, pode ser um bookmarking. Você pode lembrar Problema no botão Voltar de aplicativos AJAX . Isso impediu que os usuários pudessem também marcar um estado específico (ou página ou recurso) de um site. Por exemplo, considere que seu site é http://www.yoursite.com . Não importa quanto o visitante do seu site interaja com ele, ele ainda verá http://www.yoursite.com . Como diabos ele deve obter um link para um recurso específico do seu site e enviá-lo para o amigo dele / dela? Via Firebug?

Além disso, se você não alterar o URL ao alterar o estado do seu aplicativo, nenhuma entrada será adicionada ao objeto window.history , portanto, se o usuário clicar no botão Voltar, em vez de ser levado ao estado anterior do site ( ou aplicação), ele seria levado ao domínio anterior (talvez google.com, talvez yahoo.com, qualquer domínio, mas não o seu). Esta é uma experiência seriamente frustrante. O painel de controle do Paralle Plesk funciona exatamente como o que você descreve aqui, e é horrível.

Outro uso de URL seria SEO (search engine optimization). Google, Yahoo e Bing saberiam e indexariam o conteúdo do seu site com base nos URLs que você enviar para eles. Um URL, um índice, menos chances de ser encontrado na rede.

Eu recomendo strongmente que você refaça o seu trabalho. Sem ofensa, mas quando dizemos a melhor prática, queremos dizer algo que foi feito por muitas pessoas e organizações. O que você quer fazer é tão raro que não me lembro de nenhum exemplo de tal aplicação. A melhor prática vem da implementação repetida de algo. Eu acredito que não há melhores práticas para esta arquitetura.

    
por 25.08.2011 / 11:51
fonte