Estou ansioso para desenvolver um aplicativo de desktop usando Python. Sou iniciante e não tenho experiência suficiente em Python. Eu também sou um programador Java. Embora eu tenha alguma experiência na criação de interfaces de usuário usando o Swing, vejo que os aplicativos desenvolvidos no Swing são muito lentos. Bem, isso pode ser uma das razões pelas quais muitas das principais implementações são feitas em C / C ++ como em navegadores / jogos.
Desenvolver uma interface do usuário em C ++ pode ser uma opção melhor, mas eu prefiro escolher uma linguagem de programação de alto nível em vez de C / C ++. Então, optei pelo Python, presumindo que ele teria um bom desempenho no Java Swing, já que o próprio Python é nativo em C / C ++.
Então, posso prosseguir com essa suposição de que o Python é melhor que o Java Swing para desenvolver uma interface do usuário? Ou você sugere uma linguagem que é melhor que Python para desenvolver UIs? Se eu continuar com o Python, qual kit de ferramentas devo usar o Tkinter ou o wxPython e por quê?
fonte
Respostas:
Acabei de iniciar o desenvolvimento de um aplicativo de desktop do Windows, usando python. Estou usando o PyQt .
É muito fácil de instalar e colocar em funcionamento. O tutorial aqui: http://zetcode.com/tutorials/pyqt4/firstprograms/ mostra como é fácil, mostrarei o código:
Isso abre uma janela para você.
Escolhi Python / PyQt em vez de C # / WPF porque quero aprender python e meu empregador está me dando tempo.
Meu gerente me recomendou o PyQt em outras estruturas, pois, na sua experiência, é mais fácil de usar.
fonte
Se você deseja desenvolver uma GUI nativa para Windows ou OSX, aconselho o uso do Tkinter (ou seja, a biblioteca da GUI Tk com roupas python), pois isso o aproxima muito mais da aparência nativa do que o wxPython (wxWidgets para python) . Não estou achando fácil quantificar, mas aos meus olhos as capturas de tela do Windows e OSX . YMMV. Eu sei que Tk ( importante: com o conjunto de widgets Ttk) é muito fortemente nativo.
Se você está desenvolvendo para Linux ... eu não posso aconselhar honestamente um sobre o outro, pois perdi a noção da aparência atual da plataforma preferida. :-)
fonte
Eu diria que é uma boa escolha se você já conhece e gosta de Python. Caso contrário, use a linguagem que você já conhece, que é Java. A única exceção aqui é se este é um projeto de aprendizagem, caso em que eu sugeriria que obter experiência com outros idiomas seria uma boa idéia.
Meu argumento aqui é que o Python não é realmente melhor ou pior que o Java para aplicativos de interface do usuário, portanto, use a ferramenta com a qual você gosta de trabalhar.
fonte
O único conselho real que se pode dar para todas as perguntas como esta é "experimente e veja se você gosta" - as opiniões de outras pessoas sobre linguagens de programação (particularmente sobre o que pode ser sua linguagem mais amada ou mais odiada) raramente valem muito .
No entanto, meus 5 centavos vale a pena - para obter GUIs simples e rápidas para Windows, a combinação de Python e wxWidgets funciona muito bem. Mas, como eu disse, tente você mesmo - você pode montar algo simples, mas útil em uma hora, mais ou menos, mesmo sem muita experiência em Python (eu certamente não tenho muito).
fonte
Caso alguém acabe aqui por meio do mecanismo de pesquisa: você pode gerar rapidamente alguns exemplos do Tkinter usando o gerador de PAGE. Ele gera um código decente que lhe dará a idéia do que será necessário para chegar aonde você deseja ir. Definitivamente, é necessário que você aceite a generalidade, como afirma o autor, mas para alguém que queira testar as águas ou ter uma idéia geral de onde está indo, é uma boa ferramenta. PÁGINA no SourceForge .
fonte
Eu acho que certos tipos de aplicativos são bastante gerenciáveis para escrever em Python.
Por exemplo, o Task Coach é escrito em Python / wxPython. Eles usam um compilador Python2exe como py2app, py2exe etc para criar executáveis de plataforma cruzada e aparência nativa.
fonte
Se você está restrito ao desenvolvimento no ecossistema do Windows e usa o Visual Studio, considere o Iron Python. Iron Python é Python mais objetos .NET.
fonte