Biblioteca GUI ou Gerenciador de Janelas usando HTML [fechado]

2

Ok ... Você quer alguma clareza?

Sendo um programador, esse tipo de pergunta sempre tem condicionais.

  1. Existem quaisquer back-ends de DEs ou (mais geralmente) de DE que suportem a criação (scripts) ou modificando a interface do usuário em HTML e seus idiomas da Web associados?

  2. Se não forem os idiomas existentes em uso, como eles são modificáveis e seria possível criar um interpretador para fazer a ponte entre um layout de interface do usuário escrito em HTML e um determinado idioma. (Pelo que entendi o padrão atual parece ser XML, então esta última opção deve ser um pouco mais cara)

  3. Colocando tudo isso de lado, quão difícil seria fazer algo assim a partir do 'zero'. O gerenciador de login do Mint já tem a capacidade de pegar arquivos HTML para fazer telas de login customizadas, então é possível colocar um Web Engine em cima do sistema operacional e conversar entre os componentes da interface do usuário e do SO.

Dito isso, @goldilocks mencionou que o HTML é realmente ristrictivo na comparação XML. Eu imploro para diferir e para esse fim eu construí uma página web em menos de 3 dias que espelha os principais elementos de interface do usuário que a maioria dos DE usa da maneira que eu gostaria que eles fossem definidos. (não funcional, claro, mas é um começo.) :) link existem algumas verrugas que não estão sendo totalmente polidas, mas o conceito está lá. (não esqueça de passar o mouse sobre alguns elementos):)

Pergunta original

Hi I've been searching for the past couple of months for a Linux DE that's built on HTML. I found this as I was starting this question http://blogs.gnome.org/alexl/2010/11/23/gtk3-vs-html5/ and it's great but that's GTK via browser.

What I want is to able to build my own DE as such using HTML. I'm currently using Cinnamon in Linux Mint and I can theme it via CSS but I'd like to be able to make my own DE with custom toolbars and such.

Note: I'm not talking about a ground up DE just being able to build the user facing UI (the application switcher [alt+tab],the app menu, toolbars, etc.)

I'd still use a standard window compositor and file manager etc. and it'd still all be linked in with the GTK theming engine but more customizable. :)

EDIT: para a posteridade. Que seja conhecido que o Deepin 2014 introduziu uma interface de usuário de desktop construída usando HTML, CSS e JS. Não é exatamente estável (muitos bugs impedem a recomendação de uso como um driver diário), mas o ponto é que é possível. E ... este fórum teve a miopia de fechar a minha pergunta como pouco clara. Bem, eu acho que está bem claro agora o que eu estava pedindo e que (ao contrário das respostas abaixo) é totalmente possível.

    
por azariah 19.03.2014 / 04:10

2 respostas

3

Uma opção aqui é glade :

Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.

The user interfaces designed in Glade are saved as XML, and by using the GtkBuilder GTK+ object these can be loaded by applications dynamically as needed.

By using GtkBuilder, Glade XML files can be used in numerous programming languages including C, C++, C#, Vala, Java, Perl, Python,and others.

Isso se concentra no uso de uma ferramenta de estilo WYSIWYG, mas tenho certeza de que há documentação para escrever o XML diretamente, já que isso é algo comum - sem dúvida alguns aplicativos GNOME onipresentes foram feitos (em parte) desta maneira.

No entanto - e acho que é isso que alguns dos comentários censuráveis do seu post estão tentando atingir, embora eles não o formem claramente - nem XML nem HTML são turing complete e, portanto, possivelmente não pode ser usado no lugar das linguagens de programação. Elas são linguagens de marcação , que podem, pelo menos no caso de XML, ser usadas para descrever estruturas de dados estáticas - < hr="http://en.wikipedia.org/wiki/Abstract_data_structure"> arrays, árvores, gráficos, etc. - bem como documentos ou interfaces superfícies .

Embora os tipos de dados abstratos sejam essenciais para a programação, os ADTs por si só não são suficientes. O código XML / HTML nunca pode corresponder a um programa porque não há possibilidade de coisas como controle de fluxo . Eles são simplesmente descrições estáticas. Para ser justo, HTML / CSS pode esticar a definição de "estático", mas no final até mesmo uma aplicação web muito simples ainda requer o uso de uma linguagem de programação completa tanto no cliente (javascript) quanto no servidor.

O ponto de coisas como glade é simplificar a descrição de partes estáticas de uma interface GUI. Observe que essas descrições ainda devem ser incorporadas ao código-fonte real C, python etc. para serem úteis.

Uma inversão disso, que talvez seja mais próxima do que você está pedindo, é incorporar referências a artefatos executáveis (coisas escritas em uma linguagem de programação) dentro do mark-up:

I'm talking about being able to edit and fully customize things like the 'menu' (known to most end-users as the 'start menu') in HTML and by extension the panel ('taskbar') also to do what I want how I want it.

Por exemplo, você poderia descrever a barra de tarefas em HTML, incluir botões e outros widgets e fazer referência a ações dentro dela. Neste caso, o DE ou gerenciador de janelas é análogo ao servidor em um aplicativo da Web.

DE tendem a ser menos flexíveis a esse respeito do que os gerenciadores de janelas. Você pode estar interessado em openbox , que é um gerenciador de janelas configurável em XML que pode ser usado sozinho ou dentro do DE como o GNOME.

    
por 19.03.2014 / 10:35
1

Embora eu duvide muito seriamente, você encontrará algo escrito em pure HTML (não consigo imaginar como isso funcionaria) existe > Jolidrive . Você precisará de um navegador para usá-lo, é claro.

Se você quiser que a área de trabalho seja no navegador, talvez você queira pesquisar e compilar ChromiumOS . Acho que há alguns sites que oferecem pacotes built-for-you , mas Eu não saberia o quão atual eles seriam nem se eles seriam sancionados ... Eu sei que eles estão vindo junto com Wayland como você pode leia aqui .

Quanto ao resto, todos usam algum tipo de linguagem de marcação, , mas não acho que seja HTML. Certamente, incentivo você a dar um passo além e realizar sua meta de desenvolver um ambiente de área de trabalho totalmente compatível com HTML. Eu ficaria feliz em fazer o teste beta.

Então, novamente, de acordo com esta página da Wikipédia , QML é:

a JavaScript-based, declarative language for designing user interface–centric applications.

QML é a linguagem de marcação framework Qt para interfaces de usuário. Eu não sei o que o Cinnamon é construído, embora eu tenha um palpite bem strong, é o GTK desde que começou com o Linux Mint após a cena de sucesso do Gnome 3 e era suposto ser o novo Gnome 2.

Ainda assim, o Qt é muito legal. Desde o 5.2 eles têm sido praticamente totalmente móveis / desktop agnósticos, eu acho.

    
por 19.03.2014 / 06:07