Como posso construir um aplicativo como Thunderbird? Qual idioma devo selecionar? [fechado
-
20-09-2019 - |
Pergunta
Não quero construir a funcionalidade Thunderbird. Eu só quero criar um projeto com recursos de plug-in, plataforma cruzada e fácil de instalar. Existe algum documento que ponto para o desenvolvimento do Firefox ou Thunderbird?
Eu sei que o Thunderbird está construído no C ++, então como posso obter esse tipo de gráfico e todas as outras funções.
Por favor me ajude.
Solução
No espírito de outras respostas, sinto -me obrigado a apontar que Mozilla fornece a plataforma que eles usaram para criar seus aplicativos, incluindo Firefox e Thunderbird, - veja Xulrunner.
Com xulrunner você
- Desenvolva interfaces em Xul (UI de plataforma cruzada Descrição Idioma que Firefox e Thunderbird usam) ou até HTML,
- Desenvolva a lógica do programa em JavaScript ou, se você realmente precisar, C ++ (ou mesmo Pitão, como Komodo faz),
- tem suporte para o mesmo mecanismo de extensão que o Firefox/Thunderbird usado
Aqui está uma lista parcial de aplicativos criados no topo do Xulrunner: Xulrunner Hall of Fame.
Para responder à sua pergunta original, a plataforma Mozilla fornece uma rica funcionalidade em muitas plataformas, especificando um conjunto de APIs de plataforma cruzada (por exemplo (simplificação excessiva) xul para definições de interface) e implementando cada API em cada plataforma.
Implementar uma camada de plataforma cruzada do zero é grande quantidade do trabalho, então, em vez de tentar olhar e copiar a implementação do Thunderbird, você deve escolher uma das soluções de plataforma cruzada mencionadas nas respostas aqui (Mozilla, Eclipse, Qt, WxWidgets, etc.)
Cada um tem seus pontos fortes e fracos, sem conhecer seus conhecimentos e requisitos atuais, não é possível escolher um para você.
Outras dicas
Você pode navegar no código -fonte do Firefox aqui:
http://mxr.mozilla.org/firefox/source/.
E Thunderbird:
http://mxr.mozilla.org/seamonkey/source/.
De qualquer forma, se você deseja criar um aplicativo portátil com plug-ins, sugiro que você esqueça de tentar copiar Mozilla e aprender QT ou WXWidgets.
Eclipse RCP Pode ser uma boa solução para criar aplicativos de clientes ricos em plataforma cruzada com recursos de plug-in. O Eclipse RCP é baseado em Java e tecnologias SWT.
Aqui é uma lista de aplicativos criados com o Eclipse RCP. Um cliente de email de demonstração construído com RCP também está disponível aqui. Outro ótimo software construído com RCP é Rssuwl, um leitor de feeds.
Ao selecionar um idioma/plataforma para desenvolvimento, acho que os seguintes pontos devem ser pensados:
- Suporte ao desenvolvimento para os recursos que procuram.
- Manutenção - Em termos de suporte da plataforma/idioma, quanto é suportado para manutenção.
- Compatibilidade com as plataformas de intenção (plataforma cruzada etc.)
- Expandibilidade futura do idioma/plataforma
C ++ é simplesmente uma ótima linguagem. O resto (uso de gráficos ricos etc.) é aprender ...
Muitas opções e outras já sugeriram boas idéias. O Java tornará sua vida (razoavelmente) fácil, mas C/C ++ fornecerá mais poder às custas da necessidade de abstrair APIs.
Devo acrescentar cuidado - provavelmente será difícil fazer alterações no seu aplicativo depois de se comprometer com um conjunto de tecnologias e fazer algum desenvolvimento sério sem reescrever. Por exemplo, se você escolheu C e o tempo de execução portátil do Apache, poderá ter dificuldade em converter para outra coisa. Da mesma forma, se você escrever uma interface do usuário em swing, a conversão para SWT/Eclipse significará uma reescrita da interface do usuário. Não quero desencorajá-lo, basta acrescentar um aviso de que acho que os aplicativos de plataforma X exigem um planejamento bastante cuidadoso.
Algumas notas são a árvore de mozilla também. Thunderbird/Firefox etc. essencialmente construir a mesma árvore de origem, apenas usando componentes diferentes. O sistema Mozilla Build é bastante complicado, na minha opinião mais do que o kernel Linux. Assim, a sugestão de Manuel sobre o esquecimento de Mozilla é boa, a menos que haja algo a ser obtido por sua rota.
O gerente de categoria de Mozilla facilita a adição de suporte ao plug -in ao seu aplicativo, mas, como outros pôsteres disseram, você terá uma colina justa para subir antes de chegar lá.