
Olá, meu nome é Mikhail Kapelko. Estou envolvido no desenvolvimento profissional de software há mais de 10 anos; no meu tempo livre, desenvolvo jogos e ferramentas para sua criação.
Neste artigo, falarei sobre meu primeiro aplicativo de desktop duradouro - o gerador de site estático PSKOV.
Longevidade
Por um aplicativo durável, quero dizer um aplicativo que funciona sem uma única alteração nos sistemas operacionais lançados entre 2010-2030. Em outras palavras, um aplicativo duradouro possui 10 anos de compatibilidade com versões anteriores e 10 anos de durabilidade. No entanto, o PSKOV ainda funciona no Windows 2000, por isso possui 19 anos de compatibilidade com versões anteriores.
Tecnicamente, PSKOV é um único arquivo HTML com marcação compactada (HTML), estilos (CSS) e código (JavaScript). O PSKOV é executado estritamente em um navegador da web sem interagir com o servidor.
Essa organização oferece ao PSKOV as seguintes oportunidades:
- pode ser copiado sem restrições
- pode ser colocado em qualquer hospedagem
- pode ser executado localmente
- pode funcionar sem internet
Não posso garantir 10 anos de durabilidade, porque Eu não possuo o futuro. Ao mesmo tempo, o histórico de HTML, CSS e JavaScript sugere que essas tecnologias estão se desenvolvendo com a maior compatibilidade com versões anteriores possível. Primeiro, os novos recursos do JavaScript não substituem os antigos. Em segundo lugar, os fabricantes de navegadores estão interessados em ter seus navegadores trabalhando com o maior número possível de sites. Como resultado, por exemplo, a tag <center> , declarada obsoleta em 2014, funciona sem problemas 5 anos depois em 2019.
Ao mesmo tempo, qualquer aplicativo em um navegador da Web tem uma séria limitação - uma célula enganosamente denominada sandbox. Essa célula nega o acesso ao sistema de arquivos local do usuário e a quase todos os recursos na Internet sem a permissão do proprietário do recurso (CORS). Como resultado, o aplicativo pode fornecer algo para um servidor específico ou para um usuário na forma de um arquivo para download. É inconveniente fazer o download de arquivos um de cada vez ou em um arquivo, e é por isso que a abordagem do servidor agora prevalece no mundo, cujos problemas abordarei um pouco mais tarde.
Para liberar o PSKOVA da célula, tive que criar o LFSD , um pequeno script Python que precisava ser executado com as mãos enquanto o PSKOVA estava trabalhando. O LFSD permite que o PSKOV funcione com o sistema de arquivos local do usuário. O Python é selecionado devido à sua presença padrão no Linux e no macOS, além da capacidade de instalar no Windows (mesmo no Windows 2000).
Histórico
O PSKOV foi testado com sucesso para criar os seguintes sites pequenos:
Agora, sobre os motivos da criação do PSKOVA precisamente na forma de um aplicativo durável para um navegador da web.
Razão número 1: acumulação e preservação do conhecimento de forma acessível
Este não é o primeiro ano em que trabalho na criação de ferramentas convenientes de desenvolvimento de jogos. Até recentemente, o conhecimento acumulado era de aplicativos de desktop nativos , artigos de treinamento sobre tecnologias relacionadas ou resultados de vídeo . Os tipos indicados de conhecimento acumulado são diferenciados pelo fato de que esse conhecimento está essencialmente morto:
- poucas pessoas baixam um aplicativo desconhecido
- apenas algumas pessoas lerão artigos
- unidades de pessoas assistirão pelo menos parte do vídeo
De muitas maneiras, essa morte se deve à inacessibilidade: você precisa fazer um esforço desconhecido para obter um resultado desconhecido. É improvável que alguém possa ser atraído hoje. A situação é completamente diferente com um aplicativo em um navegador que potencialmente funciona em qualquer lugar: você precisa fazer um esforço conhecido - abrir um link - para obter um resultado desconhecido. A história da revolução do Twitter sugere que quase todo mundo sabe como abrir links e gosta da mudança do "regime sangrento".
Razão número 2: democracia
Hoje em dia, qualquer pessoa que espirra na Internet é realizada por meio de serviços que quase sempre pertencem a uma empresa: mensagens , mapas , pesquisa , música , código fonte , etc. Além disso, sem nenhuma discussão com esses usuários, sem a qual esse serviço nunca decolaria.
Em outros casos, a empresa pode simplesmente proibir que um navegador concorrente use seu serviço, como aconteceu recentemente com a versão web do Skype . No entanto, existem pessoas que discordam dessa política. Graças a eles, são exibidas ferramentas para desativar os bloqueios.
Na minha opinião, esse estado de coisas é inaceitável. No entanto, a falha não está apenas no negócio descontrolado, mas também em usuários simples, cada um de nós. Você pode argumentar que os usuários não têm escolha, que alguém (poder, répteis, sublinhado, necessário) tornou esse mundo injusto. Alguém pode até culpar diretamente o poder / reptilóide e acreditar que sem eles viveremos. Infelizmente, a história da humanidade diz o contrário : "o estado não é um tipo de horda hostil que ocupou a sociedade, mas aquilo que cresce e espelha a sociedade ".
Como parte do povo, comecei comigo mesmo e decidi usar meu poder para o bem: criar os aplicativos de que preciso para que funcionem para todos em todos os lugares e sempre. PSKOV é a primeira tentativa que mais que excedeu minhas expectativas. Obviamente, o PSKOVA tem suas próprias limitações na forma de LFSD e trabalha com HTTP sem criptografia; Ainda há muito a ser feito para aumentar a disponibilidade do PSKOV, mas agora estou pronto para discutir com qualquer um: o PSKOV funcionará sem uma única alteração em 10 anos. Como diz o ditado, lembre-se deste tweet.
Isso conclui a história do meu primeiro aplicativo de desktop de longo prazo - o gerador de site estático PSKOV.