Como terminar minha dependência do .NET? [fechadas]


10

Desenvolvo aplicativos da GUI do Windows há muitos anos e pulei para o .NET no início de 2005. O .NET é sem dúvida uma plataforma notável e ainda o estou usando, mas com uma variedade de tecnologias por aí, não quero permanecer dedicado a este acampamento. Quero aprender novos idiomas com os quais posso desenvolver aplicativos GUI.

Estou aprendendo Ruby e acabei de instalar o Python. Eu li sobre o WxRuby, uma estrutura para o desenvolvimento de aplicativos Windows GUI. em Ruby. Estou procurando por uma estrutura semelhante para Python.

Além disso, quero saber qual idioma é mais adequado para um aplicativo GUI em nível de produção. Duvido que Ruby seja mais focado na plataforma da Web com seu glamour, Ruby on Rails.

Sei que talvez não receba essas classes ricas do .NET e o impressionante IDE do Visual Studio, mas ainda quero seguir o caminho menos percorrido. Eu não quero ir com o IronPython e o IronRuby; no entanto, algum tempo depois, posso mergulhar nas mãos para explorá-los.


5
Pena que a Microsoft tenha decidido abandonar aleatoriamente o IronPython e o IronRuby. Eu não acho que eles realmente entendem que tipo de mensagem perturbadora eles enviaram para a indústria / comunidade ao fazê-lo.
Rei Miyasaka

2
@Mahmoud Eles pararam de gastar dinheiro com isso; eles estão apenas deixando a comunidade administrá-lo agora. O desenvolvedor líder, Jim Hugunin, não podia mais trabalhar nele de Microsoft, então naturalmente, ele deixou a empresa, bem como: hugunin.net/microsoft_farewell.html
Rei Miyasaka


9
@ Thomas Ainda está abandonado. Só porque larguei minha namorada não significa que ela não existe mais ou não é mais viável ... o que quer que a última possa significar.
Rei Miyasaka

2
@Rei, para você, ela não existe mais :) Ditched é uma passagem só de ida para o bar de solteiros, onde você pode conviver com MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython e IronRuby. histórias de quanto amor você tem nos velhos tempos.
Gbjbaanb

Respostas:


14

Verifique Qt.

é sem dúvida tão rico quanto o .NET, e o IDE (QtCreator) é simples, mas bastante poderoso. Obviamente, é melhor usado no C ++ nativo, mas a ligação do Python é mantida completa e atualizada.

Além disso, é realmente uma plataforma cruzada e agora também inclui plataformas móveis :-)


11
É difícil chamar o Qt de um sistema C ++ nativo, pois ele precisa de um compilador separado antes de compilar com ele. Não é um sistema ruim, no entanto.
precisa

11
de maneira alguma, seu 'nativo' como "compila diretamente para linguagem de máquina, sem bytecode / VM / JIT lá", também como: "sem camada de emulação de plataforma, o código resultante é específico do sistema operacional". o mocpré-compilador nada mais é do que um açúcar de sintaxe para criar um código de aparência mais simples em alguns cantos específicos (principalmente manipulação de sinal); ele se encaixa na cadeia de compilação aproximadamente no mesmo local que o pré-processador C. É principalmente um artefato histórico da estabilização API antes de certa C ++ recursos tinha estabilizado através compiladores
Javier

Para ser justo, o moc adiciona dinamismo que o C ++ ainda não possui.
Tamás Szelei 3/11

6

Bem, o wxRuby é apenas uma ligação do Ruby para o wxWidgets , um incrível kit de ferramentas GUI para várias plataformas. Existe uma ligação semelhante para o Python chamada wxPython, bem como ligações para muitas outras linguagens.


Os widgets existem, mas quão integrados eles são com a linguagem principal? Quão ativo é o apoio da comunidade?
RPK

11
@RPK - Você terá uma comunidade bastante pequena usando qualquer kit de ferramentas da GUI com Python ou Ruby. A comunidade wxPython é maior que o Ruby; A comunidade de Ruby é dominada pelo Rails agora, mas o Python tem uma diversidade mais aparente.
Jeremy

A comunidade de @ Jeremy Ruby não é dominada pelo Rails, mas dá a percepção de que é, o que é uma pena.
alternativa

5

Não tenho certeza se sua pergunta se limita a determinar se Ruby ou Python é melhor ou se você está perguntando quais outros idiomas você pode querer aprender a desenvolver aplicativos da GUI do Windows em geral. Estou assumindo o último.

Há também programação Java, Delphi ou Win32 nativa. Qualquer um deles é adequado para o desenvolvimento de aplicativos GUI no Windows. O código nativo do Win32 ainda pode (deve?) Ser gravado pelo Visual Studio, mas não há dependência do .NET.


4
+1 para Delphi. Crie aplicativos Windows nativos de 32 bits rápidos, sem a bagagem do .NET. Versão de 64 bits provavelmente vindo em algum momento de 2011.
tcrosley

11
GUI Java são lentas? Onde isso está provado?
precisa

9
@ Tim Williscroft - O SWT é rápido, mas a maioria dos aplicativos Swing é um pouco lenta demais. É tão evidente que nem consigo imaginar a necessidade de provar isso.
Jeremy

11
@ Jeremy Eu me curvo ao seu conhecimento superior. Estou tão envergonhada que venho fazendo errado há anos, mas agora eu sei.
precisa

2
Win32 nativo está bem. Não é bom para o desenvolvimento rápido, mas não é extremamente difícil.
Paul Nathan

5

HTML5 e JavaScript.

Eu gostaria de estar brincando, mas não estou .

Assustador pensar que ninguém teve essa resposta há meio ano.

Triste...


Há um ano, comentei com os programadores que a Microsoft jogou o VB6 com a água do banho e que eles poderiam fazer o mesmo com o .NET. Alguém me respondeu e escreveu que a MS nunca abandonaria o .NET. Bem, surpresa, surpresa! É por isso que prefiro ficar com o software da liberdade e as comunidades de código aberto. Se o .NET fosse de código aberto, o comportamento da MS não teria importado tanto, porque a comunidade poderia ter levado a estrutura adiante.
systemovich

11
Mono alcançou em grande parte. O problema é que o estigma e a política em torno dele tornam impossível para outras empresas adotá-lo confortavelmente. A mesma história se aplica ao Java, que é de código aberto, com a Sun tentando processar o Google. A diferença é que o Google não esperava que a Sun os processasse. Todos esperam que a Microsoft os processe e, mesmo que tenham jurado que não, as pessoas evitam o C / .NET / Mono / ECMA. Realmente, não se trata de código aberto versus qualquer coisa; é sobre MS ter perdido completamente a cabeça. Quase todos os softwares correm o risco de seus principais colaboradores ficarem loucos ou entediados, abertos ou não.
Rei Miyasaka

+1 porque é ótimo poder portar HTML5 e JS diretamente do navegador para um aplicativo de desktop nativo. Agora temos web, mobile (usando PhoneGap ) e windows 8, todos sob uma plataforma de código aberto!
Raynos

11
O final do artigo ao qual você vinculou sugere que a MS não abandonará sua enorme base de desenvolvedores e / ou fará todo o código em HTML5 + JS, e que isso é mais um problema de relações públicas do que qualquer outra coisa.
Scott Whitlock

@ScottWhitlock, é apenas a microsoft expandindo as ferramentas que você pode usar sem descontinuar ou descartar o suporte a todas as ferramentas existentes. É uma ótima maneira de atrair mais desenvolvedores para o microsoft eco system.
Raynos

4

Lembre-se de que as pessoas que não são da Microsoft e que não são da Apple são orientadas por linha de comando, e o design da GUI é bastante inútil. Até certo ponto, eles comprometerão e criarão GUIs em HTML, para serem consumidos pelos navegadores, mas isso é para seus clientes, não para si mesmos.

Se você quiser permanecer no mundo da GUI, suponho que você queira dar uma olhada na Apple ou ficar com o .NET no Windows.

Faz sentido?

HTH


4
Isto não é estritamente verdade. No mundo * nix, temos e usamos GUIs bastante extensivamente.
greyfade

@ Christopher: eu sei e absolutamente ciente disso. Tomemos, por exemplo, Oracle. Eles foram lançados com a GUI HTML, que é muito lenta. Não estou procurando apenas negativos, provavelmente o Oracle pode ser gerenciado via linha de comando muito bem.
RPK

@RPK: IIRC, o Oracle 9i tinha uma ferramenta de administração maravilhosa, que era um aplicativo de desktop da GUI. Eu preferia muito a administração por linha de comando. O Oracle 10g implementou isso como uma página da web, o que não foi tão bom.
precisa

11
O GTK é bastante popular nos desktops Linux, e existem outros kits de ferramentas da GUI. Eu não acho que seja comum executar uma área de trabalho sem uma GUI, mesmo se você usar o terminal para muitas tarefas; apesar de servidores * nix, você normalmente faria tudo através de uma linha de comando.
Jeremy

2
+1 porque eu me pareço com essa observação. Normalmente, a programação da GUI que faço é relacionada a aplicativos da web. Faço um esforço consciente para colocar esse grau de design em prática, tornando-o intuitivo, simples e óbvio, mas minha própria experiência de computação é algo como 80% Emacs, 15% navegador, 6% outro (com uma margem de erro de 1%) .
Inaimathi

3

Eu recomendaria o Java na sua situação.

Razões:

  • Se você conhece o .NET, ficará relativamente à vontade com o Java (o C # foi amplamente inspirado no Java e muitas das convenções e até nomes de bibliotecas são muito semelhantes)
  • Java possui alguns recursos impressionantes da GUI (mesmo que não sejam tão amplamente reconhecidos). Os melhores kits de ferramentas de GUI de plataforma cruzada são, na minha opinião, Swing (que é totalmente multiplataforma, com aparência e comportamento consistente) e SWT (que também utiliza componentes nativos, como por exemplo o Eclipse). O JavaFX 2.0 também parece promissor para o futuro.
  • Existem muitas ferramentas do tipo "GUI builder" para ambas (geralmente disponíveis como plug-ins IDE para, por exemplo, Netbeans ou Eclipse)
  • Provavelmente é uma questão de preferência pessoal, mas eu argumentaria que o Netbeans ou o Eclipse são, em geral, melhores IDEs que o Visual Studio, e certamente mais capazes do que você vê em outros idiomas ou plataformas.
  • A plataforma / ecossistema Java é um ótimo lugar para se estar em geral - enorme variedade de bibliotecas e ferramentas, principalmente se você gosta de código aberto.

Como alternativa, você pode tentar uma das novas linguagens inovadoras da JVM, como Scala ou Clojure, se estiver se sentindo aventureiro ...


3
Também desenvolvedores Java tendem a ser mais até a velocidade sobre a maneira correta de software de gravação, enquanto muitos mais .NET caras só funda código sem aplicar padrões de projeto, SOLID, etc.
Wayne Molina

-1

Python funciona bem para GUI. Você pode dar uma olhada no PyQt, PyGTK, WxPython etc. Eles são usados ​​ativamente para o desenvolvimento da GUI (no Linux) e são considerados multiplataforma.


-4

Examine outras linguagens de programação que funcionam com o tempo de execução .Net, como IronRuby e IronPython. Em seguida, confira o projeto mono .

Essas etapas o tirarão da sua zona de conforto .Net e do desenvolvimento no Linux. A partir daí, é um pequeno salto para o desenvolvimento completo no estilo UNIX.


5
-1 porque ele afirma na pergunta "Eu não quero ir com o IronPython e o IronRuby"
Inaimathi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.