Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MeninoBonito

PHP Desktop + GTK

Recommended Posts

Já ouvi dizer que é possível fazer aplicações desktop com php + gtk isso é verdade?

Gostaria da opinião daqueles que são experientes sobre como esta a aceitação no mercado (compensa estudar)?

Gosto de php e sempre quis fazer aplicações desktop, até o momento sei só linguagem para web. :/

 

Mais um detalhe: Tem como controlar o hardware com php gtk? Por exemplo, uma leitora de código de barras, ou seja, essas coisas que uma linguagem desktop pode fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre mercado eu não sei dizer, se é que há algum, é muito raro encontrar alguma aplicação para desktop feita em PHP.

 

Se quer desenvolver para desktop, recomendo que você aprenda Python. Java e Ruby são também boas opções, mas a curva de aprendizado delas é mais longa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, estudar vale a pena, principalmente para se ter uma visão da parte desktop que é um pouco diferente. Agora pensando no mercado de trabalho com certeza é inviável. Na questão de usar um leitor de código de barras você consegue até em uma página web.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para falar a verdade, ontem tive esse mesmo pensamento. Se você procurar no youtube, encontrará muitos aplicativos feitos em GTK.

 

Caso queria opiniões sobre profissionais da área, procure sobre Pablo Dall'Oglio. Ele é o fundador do fórum PHP-GTK do Brasil e deu grande auxílio a documentação oficial do PHP-GTK.

 

Sobre a conversa com hardware. Realmente não sei lhe dizer. Mas acredito que sim. Pois o PHP pode se comunicar com o hardware do servidor (shell, leitura e escrita de portas). Entretanto, é só uma suposição.

 

Há um artigo de comunicação do PHP com porta serial via PHP:

Controlando a Arduino com PHP via porta serial

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quer desenvolver para desktop, recomendo que você aprenda Python. Java e Ruby são também boas opções, mas a curva de aprendizado delas é mais longa.

Discordo quanto à curva de aprendizado. Java é um pé-na-saco :P É demorado para aprender pois, para cada problema, há 3224342 classes diferentes do Java para resolvê-lo. Você gasta horas só pra ler sobre isso e descobrir qual é melhor para o seu caso

Mas Ruby e Python são bem tranquilos. Já fiz interface GTK com Python e é bem simples. Há um editor drag-and-drop, parecido com o do Netbeans, por exemplo.

 

Uma coisa que me incomoda um pouco no PHP web e mais ainda no PHP desktop é a ausência de threads. É muito simples fazer um programa multi-thread em Python ou Ruby. Mas o PHP não suporta isso

 

Eu já ouvi falar "bastante" no PHP-GTK. Mas só ouvi. Nunca vi um app feito com ele. Enquanto que muitos apps nativos do Gnome ( umas das interfaces pra Linux) são em Python

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, creio que você não discorda de mim afinal. Eu disse que curva de aprendizado para Java e Ruby é maior que a de Python. Ou seja, explicando melhor, que eu considero o seguinte:

(do mais fácil de aprender ao mais difícil)

- Python

--- Ruby

------- Java

Compartilhar este post


Link para o post
Compartilhar em outros sites

@mangakah

 

Pensei que você estava relacionando essas 3 com o PHP. Realmente não discordamos, então :)

 

Mas acho que Ruby e Python estão lado a lado. Ambos são fáceis de aprender e com muita referência na web. Talvez o que "dificulte" no Ruby são as estruturas a mais que ele oferece (if's em ordem diferente do comum, as iterações distintas...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não posso falar sobre Ruby e Python. Mas entre PHP e Java. Fico com o java. E sim, escolho ele, pelo fato dele ser mais difícil de aprender. Além da valorização com o programador.

 

A barreira para se aprender e iniciar a carreira profissional com o Java é muito grande. E isso faz com que o mercado tenha menos programadores(isso é ruim) e, em consequência, menos programadores "gambiarrentos"(isso é bom).

 

Gambiarra sempre existiu e sempre vai existir. Se faz em qualquer linguagem de programação, isso é fato. Mas o que eu já vi de PHP em locais que eu trabalhei... me dava um desânimo na carreira profissional. E foi muito menos "perceptível" em Java. :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

@mangakah

 

Pensei que você estava relacionando essas 3 com o PHP. Realmente não discordamos, então :)

 

Mas acho que Ruby e Python estão lado a lado. Ambos são fáceis de aprender e com muita referência na web. Talvez o que "dificulte" no Ruby são as estruturas a mais que ele oferece (if's em ordem diferente do comum, as iterações distintas...)

 

Exatamente. Para quem começou com Javascript e PHP, eu acho a tipagem estática de Ruby e a maneira um pouco diferente dele lidar com dados (cada variável é um objeto) e a maneira como se faz iterações, entre outras diferenças, uma barreira a mais ao aprendizado que não existe em Python. Dá pra aprender a sintaxe básica de Python em um dia, para quem já conhece PHP. Já Ruby precisa de um pouco mais de tempo. Tipo de 4 dias à uma semana. Enquanto Java precisa de uns 20 dias (LEMBRANDO: A sintaxe básica...).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera é isso aí, vamos trocando ideias!

 

Pelo o que entendi python trabalha com GTK também, existe alguma ferramenta como o visual studio para trabalhar com python+gtk?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara aprender sempre vale a pena ainda mais se você já sabe sobre PHP, mais em relação a comparar o PHP a outras linguagens para desktop eu já acredito que o PHP saia perdendo um pouco pelo fato de já existir um mercado forte utilizando essas plataformas.

 

Eu comecei a estudar a pouco tempo o PHP+GTK e sinceramente me surpreendi com o que era possível ser feito e acredito que muita gente ia se surpreender também com o que pode ser feito com a união dos dois.

 

Mais já como o que Gabriel Heming disse eu já discordo a limitação muitas vezes é do programador e não da linguagem e isso é provado pelo PHP-GTK se você chegar para muitos e dizer que é possível fazer aplicações para desktop com PHP muita gente não vai acreditar em você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que entendi python trabalha com GTK também, existe alguma ferramenta como o visual studio para trabalhar com python+gtk?

Até onde sei, o Visual Studio é um Eclipse modificado pro PHP (pelo menos era isso no começo. talvez hoje mudou). Então você pode usar o Eclipse, assim como qualquer outra IDE.

 

Existe o Glade, que é uma ferramenta para montar interfaces gráficas em GTK:

http://glade.gnome.org

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza criei coragem! Só mais um detalhe...

 

O gtk é bem suportado no windows da mesma forma como no linux?

 

Sem querer pedir muito, se alguém tiver um link/vídeo mostrando um sistema php+gtk em funcionamento com ou sem integração de hardware agraço muitíssimo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza criei coragem! Só mais um detalhe...

 

O gtk é bem suportado no windows da mesma forma como no linux?

 

Sem querer pedir muito, se alguém tiver um link/vídeo mostrando um sistema php+gtk em funcionamento com ou sem integração de hardware agraço muitíssimo.

Uns tempos atrás (acho que muitos...) pesquisei sobre o GTK. Bom, achei bastante interessante, mas ao mesmo tempo que me dá vontade de aprender, não sinto muito tesão por sistemas Desktop, é algo que não sei explicar exatamente. Eu vi um sistema exemplo de locadora feito, e não achei ruim, a interface é bem bonita.

 

Mas, se caso eu fosse programar para Desktop, acho que faria a interface em Python e QT. Mas vai me perguntar: "Porque não Java?", pelo fato de ser lento a biblioteca Swing e eu não gostar de Java, apesar que existem outras bibliotecas de interface em Java, como a AWT. Já programei nela e brinquei bastatente com esta biblioteca (swing), mas acabei desanimando de estudar Java a fundo e foquei em outras coisas.

 

Não sei dizer se QT e Python são lentos como o Swing do Java, então se alguém tem conhecimento disso, por favor faça uma descrição, adoraria saber.

 

Respondendo sua pergunta, eu testei o sistema de locadora no WinXP ( :pinch: ), então quanto a plataforma Linux, não sei dizer, porém acredito ter o mesmo comportamento (ou deveria ter).

Compartilhar este post


Link para o post
Compartilhar em outros sites
pelo fato de ser lento a biblioteca Swing

Isso já é passado. Em anos atrás, seria verdade. Agora é mito.

 

SUN/Oracle desenvolveu (não sei dizer qual exatamente, mas acho que foi no tempo da SUN ainda), e muito, sua máquina virtual. Também foi um mito que java é compilado uma única vez. A linguagem java é compilada (para a JVM) e interpretada (para o sistema operacional). E, por ser dessa maneira, conforme o software é executado, a máquina virtual dá uma maior prioridade a determinados processos, podendo tornar maior a performance do Java em relação a outra linguagem compilada. Isso é comprovado, não mais tornando java uma linguagem lenta.

 

http://www.guj.com.br/java/54562-java-e-compilada-ou-interpretada#286488

 

O gtk é bem suportado no windows da mesma forma como no linux?

dizem que uma das vantagens do PHP-GTK é ser multiplataforma. Então diria que é bem suportado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.