Quero tornar meu Fedora Linux capaz de seguir:
Use o Linux para uma plataforma de desenvolvimento completa sem exigir nenhuma outra instalação do sistema operacional, mas ainda capaz de criar e testar programas em plataformas diferentes.
Substitua completamente a máquina Windows por todos os outros trabalhos, por exemplo, Office, Paint, Área de trabalho remota, etc.
Você pode sugerir projetos e ferramentas de código aberto para alcançar os objetivos acima?
linux
opensource-projects
Xinus
fonte
fonte
Respostas:
Você pode facilmente desenvolver desenvolvimento de plataforma cruzada, seja um programador de sistemas, desenvolvedor da Web ou desenvolvedor de aplicativos de desktop. Se você gosta de sistemas, é provável que todos os utilitários e / ou drivers que você escreve para o Linux funcionem bem para outros * nix com modificações mínimas. Desde que você escreva o código C padrão e não use muitas chamadas específicas do sistema, elas podem ser fáceis de portar para o Windows.
Se você é um desenvolvedor de aplicativos para desktop, pode segmentar GTK, QT ou wxWidgets e provavelmente seu aplicativo funcionará bem nas três principais plataformas de hoje (* nix, Windows, Mac). Novamente, reduza ao mínimo as chamadas específicas do sistema ou isole-as em uma biblioteca de wrapper que será específica do sistema. Você também pode segmentar uma máquina virtual como a JVM e / ou CLR, que permitirá que o aplicativo funcione de maneira geral.
Se você é um desenvolvedor da Web, provavelmente encontrará muitas alternativas diferentes para escolher. Prefiro um pequeno servidor web chamado Cherokee e desenvolvo e executo aplicativos ASP.NET (mono) e Django que executam nele e usam um back-end PgSQL.
Portanto, a conclusão é que o desenvolvimento de plataforma cruzada no Linux pode ser feito, desde que você possa compilar o código na plataforma de destino e tenha isso em mente ao escrever seu código ou se tiver como destino uma VM. O outro ponto é que você pode encontrar o The Paradox of Choice e não saber o que usar. Para isso leia abaixo a minha resposta para a segunda pergunta.
Quanto à segunda pergunta, o melhor recurso que encontrei é chamado de alternativas de código aberto . Este site lista softwares comerciais e suas alternativas de código aberto. Quase todas as alternativas rodam no Linux e no FreeBSD.
fonte
Defina "plataforma". Não é possível testar razoavelmente o software destinado ao uso no Windows ou Mac sem realmente executar esses sistemas operacionais, mesmo que seja possível usar a compilação cruzada para construí-lo no Linux. Para testes reais em outros sistemas operacionais, o VMware é uma ótima ferramenta.
A segunda parte da sua pergunta provavelmente deve ser uma pergunta totalmente separada. Mas você pode usar o OpenOffice.org ou o Google Docs para substituir o MS Office, Pinta ou GIMP ou qualquer outra coisa para substituir o Paint, VNC ou Empathy + Vinagre para substituir a Área de Trabalho Remota, etc.
Seria mais fácil responder a essas perguntas se você desse alguns casos de uso mais específicos.
fonte
Weeeeeeel, # 1 é bastante doozie, senhor. Não sei se existe alguma maneira de alcançar esse objetivo. A compilação cruzada para outros * nixes pode ser feita ( com um pouco de dor de cabeça ) na sua caixa de desenvolvimento, mas como exatamente você deve executar esse código sem o SO e a arquitetura apropriados? Existem incursões extensas na emulação de sistema por aí, mas, no final das contas, isso é uma confusão. Se você deseja testar o software em um SO / arquitetura, execute-o nesse SO / arquitetura!
Agora, por outro lado, existem ferramentas que simplificam a criação do mesmo projeto em vastas faixas de configurações. Cmake é provavelmente o mais conhecido e bem testado. Pelo menos, isso o ajudará a testar seu projeto em outros sistemas ou incentivará outras pessoas a fazer isso por você.
Para ser bom, tenho certeza de que isso também é impossível em outros sistemas operacionais.
# 2 é muito, muito mais fácil
Escritório aberto
Gimp
Gnomo
KDE
Áreas de trabalho remotas
e assim por diante. Eu ajudaria mais, mas a acuidade das suas perguntas diminui acentuadamente.
fonte
Depende da sua plataforma de destino. Se você está desenvolvendo para uma plataforma virtual (Java ou mesmo .NET), deve ficar bem. Existem algumas plataformas mais amigáveis no Linux do que no Windows (por exemplo, Ruby).
Quanto ao Linux como desktop, você apenas precisa listar o software que está procurando. Atualmente, praticamente não há software para desktop do Windows que não tenha uma alternativa para Linux.
fonte
O MonoDevelop deve ser capaz de ajudá-lo a lidar com o lado do desenvolvimento:
(ênfase é minha)
fonte