Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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.
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:
>
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
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)
--- Ruby
------- Java
@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...)
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:
>
@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...).
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?
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ê.
>
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:
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.
>
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).
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.
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.