Aplicativos com Interface Gráfica

Cada dia mais eu tenho usado o linux (Ubuntu). Não tenho preferência entre KDE ou Gnome, por isso tenho instalados os 2 desktops environment ou com alguns também falam desktops manager. Antes eu usava bem mais o KDE , mas agora uso mais o Gnome, ou seja tudo depende da época. Como gosto de linguagens de programação open source, e sempre programei em Java, tenho também estudado ultimamente Ruby, Groovy e também C/C++. Investigando um pouco sobre desenvolvimento Linux especificamente sempre encontro 2 requisitos quando alguém está contratando alguém para trabalhar com desenvolvimento Linux especificamente, são eles o GTK and QT. Mais precisamente quando se fala em GTK se pensa em Gnome, quando se fala em QT se pensa em KDE.

Bom para mim, sempre que precisei desenvolver algum aplicativo com interface gráfica, usei o Swing do Java. Que é um graphical widget toolkit para Java, parte da Java Foundation Classes (JFC), uma aAPI para desenvolver graphical user interface (GUI) usando Java. Não me fale, que Swing é lento, porque isso já aconteceu em um passado de 5 anos atrás. Hoje Swing sim é uma opção para se desenvolver (GUI) usando Java. Tem grandes cases como o NetBeans, o SquirrelSQL, JEdit citando alguns aplicativos que uso no meu dia a dia.

Tenho também outro toolkit para desenvolver aplicações gráficas chamado SWT. Standard Widget Toolkit (SWT) também é um widget toolkit para Java, originalmente desenvolvido pela IBM e agora mantido pela Eclipse Foundation. SWT é escrito em Java, mas para mostrar elementos GUI, acessa bibliotecas GUI nativas dos sistema operacional usando JNI (Java Native Interface), de uma maneira similar sobre aqueles programas escritos usando uma API especifica dos sistema operacional. Programas que usam SWT são portavéis, mas a implementação do toolkit, apesar do fato de ser escrita em Java, é unica em casa plataforma. Exite grandes apliativos desenvolvidos usando SWT, é todas as ferramentas que se baseiam nele como RAD, RSA, RDA (todas da IBM), tem também o Azureus BitTorrent para citar um bom exemplo de aplicação open source.

Bom pessoal, neste artigo escrevi sobre os graphical widget toolkit que conheço Swing and SWT, pois sou do mundo Java.

Prometo escrever nós próximos artigos sobre o GTK e QT.

Enquanto isso, fica aqui 2 links interessantes:

List of widget toolkits

Graphical user interface builder

Kleber Rodrigo de Carvalho

Servidores de Aplicação JEE

Eu estava fazendo uma busca por market share relacionado ao servidores de aplicação JEE. Não encontrei nada realmente conciso, mas posso dizer que o WebSphere AS e o Weblogic AS devam estar entre os lideres. Cheguei até a encontrar algo no google dizendo que nos Estados Unidos o WebLogic AS já teria passado a frente do WebSphere AS.

Vou colocar abaixo os application server que considero importante no Java Enterprise:

Se você quer saber sobre compatibilidade com qual versão do JEE, aconselho você seguir esses links:

Kleber Rodrigo de Carvalho

O Geronimo está com os dias contados?

Eu já publiquei um post Cadê o WebSphere Application Server certificado em JEE 5.0

O artigo publicodo no TSS, Joseph Ottinger diz que em uma conversar com um anônimo que tem acompado o desenvolvimento de Geronimo application server, diz que os Geronimo AS está com os dias contados, e uma razão oferecida para isso seria o patrocínio da IBM, que possui várias committers no guadro de funcionários.

Um interessante aspecto é que o Geronimo AS é muito parecido com o Eclipse (na forma que foi concebido), e ele afirma que a inovação no Geronimo AS está sendo conduzida por 2 aspectos: aparentemente a IBM não quer investir na arquitetura do Geronimo AS e o outro aspecto é que a IBM quer proteger sua marca WebSphere AS.

Geronimo AS também conhecido com WebSphere Community Edition (WASCE), estava melhor do que sua versão paga e a IBM percebeu que o rendimento das lincença do WebSphere AS poderia secar completamente. Portando quando o Geronimo AS passou no teste de compatibilidade do JEE 5.0 em Maio de 2007, recursos que estava trabalhando no Geronimo AS foram alocados para trabalhar no WebSphere AS, enquanto competidores com o GlassFish AS conquista mercado a cada dia e outros competidores aumentam seus portifolios de projetos sem se preocupar com a compatibilidade com JEE (aqui ele está falando sobre o JBoss AS).

Como resultado o Geronimo AS está sendo agredido no bom e no mal, nos dois sentidos, a boa arquitetura foi declinada por causa da competição com o WAS 5.x e WAS 6.0 e o aumento do portifolio de produto foi focado no WAS 5.x e WAS 6.0 e em competidores externos.

Eu parei por aqui e recomendo a leitura completa do artigo, principalmente dos comentários.

Mas temos que levar algumas coisa junto com esse artigo. O WebSphere AS é líder de mercado até onde eu sei, não chego aqui no mérito se ele é o melhor AS JEE do mercado. o GlassFish AS para mim está se tornando cada dia mais um produto de alta visibilidade, embora isso não se reflita no Marketing share do application server da Sun o Sun Java System Application Server Platform, mas é claro que a Sun ganha muito com o GlassFish AS , principalmente tecnologicamente. É importante lembrar também que o JBoss AS ainda não é certificado JEE 5.0 assim com o WebSphere AS, então eles os executivos, mas do que nós devemos sabem se isso traz receita ou não.

Kleber Rodrigo de Carvalho

Oracle quer comprar a BEA

Se você também foi pego de surpresa como eu, saiba que acabei de ver essa na InfoQ.

A Oracle ofereceu 6.7 billões de dolares para adquirir a BEA. A Oracle ofereceu $17 USD por cada ação da BEA. Antes da oferta, a ação da BEA estava sendo negocia a $13 USD, um aumento de mais de 25%. No momento que escreve esse post estou checando aqui a atual cotação da BEA. Neste exato momento a cotação está $18.82 USD, com um aumento de 5.20 (38.18%). Para vocês terem uma idéia o preço de fechamento das ações da BEA ontem foi de $13.62 USD.

Ou seja enquanto estou aqui no meu mundo de developer, atrás do meus códigos, tem várias investidores abrindo aquele sorriso com um lucro de 38,18% no dia.

A Oracle publicou o sua Oracle Letter Proposes to Buy BEA Systems for $17.00 per Share in Cash.

A Oracle comentou as razões para a aquisição:

A aquisiçao da BEA pela Oracle vai possibilitar um aumento nos recurso de engenharia, que vai acelerar o desenvolvimento do nosso pacote de middleware em escala mundial. Os clientes da Oracle e BEA serão beneficiados com o aumento de investimento em engenharia que eles repassaram para as tecnologias SOA.

Agora vamos esperar as noticias que vão rolar depois disso. Aquelas noticias que todos nos estamos acostumados. Lado da BEA, vai ser aquele discurso que a BEA nunca esteve a venda. Do lado da Oracle é uma resposta direta a SAP, hoje sua principal concorrente. E a IBM como fica nessa historia ?

Kleber Rodrigo de Carvalho

Java open source e linux

O embaixador do OpenJDK Tom Marble, oferece nos um update do Open Sourcing Java a implementação do Java SE da Sun que surgiu no último ano. (Se você ficou interessado, verifique o video anterior no SDN Channel sobre “Java Opens Up“.Tom fala sobre o IcedTea project. IcedTea project é o OpenJDK sem plugins binarios que podem ser redistribuidos.
Se você é um Java Developer, suas aplicações podem ser melhor distribuidas com GNU/Linux.
Você tem interesse em entender melhor a JVM, aproveite e contribua para o contribua para o OpenJDK.

Se você também está tentando encontrar seu WiFi hot spots (sinal do WiFi), o Geek Gadget Guru tem alguma coisa para você no final do video.
Essa noticia foi postada em Open Source Java for Linux no blog do SDN Channel.

Kleber Rodrigo de Carvalho

Porque o Java é importante para a IBM

Na semana passada fiz uma apresentação na FATEC em São Paulo, na terça feira dia 02 de Outubro. O tema da minha apresentação foi Porque o Java é importante para a IBM, dentro do 9 Congresso de Tecnologia.

  • A IBM
  • A demanda por profissionais qualificados
  • Porque o Java é importante nas universidades e no mercado de trabalho
  • Mercado de trabalho e as linguagens de Programação
  • O profissional que o mercado procura
  • As oportunidades
  • Como os universitários podem se preparar para o mercado de trabalho
  • IBM Academic Initiative

O objetivo da minha apresentação foi mostrar para estudantes de graduação e pos graduação que tipo de profissional o mercado de TI está procurando hoje, e como eles podem desde já se preparar para este mercado. Também apresentei o IBM Academic Initiative, que é um programa que se aproxima estudantes da IBM (Colégios Técnicos e Universidade).

Estou recebendo alguns e-mails dos estudantes da FATEC sobre vários temas discutidos na apresentação. Fiquem a vontade para comentar aqui também sobre suas dúvidas.

Estou disponibilizando o download da apresentação aqui.

Quero agradecer aqui as pessoas que conversei na FATEC, aos alunos que se interessaram pelo assunto. Também gostaria de agradecer a Macia Ito e Célia Rabelo entre outros professores que conversei quando estive lá.

Deixo aqui o meu muito obrigado a todos.

Kleber Rodrigo de Carvalho

Eclipse and Java: Introducing Persistence

After the series of 16 tutorials is designed to help you started writing Java programs using the Eclipse integrated development environment, I posted Eclipse and Java for total beginners, we have a new series of tutorials.

Eclipse and Java: Introducing Persistence was designed to teach beginning Java programmers how to save Java objects to disk files using XML or object serialization. If you have completed the Total Beginners tutorial or have some basic familiarity with Eclipse and Java, then these series are for you.

Kleber Rodrigo de Carvalho

Liberado o código fonte do .Net

Segundo Scott Guthrie em seu blog, Scott o .NET framework terá seu código fonte aberto sob a Licença Microsoft.

“Reference use” means use of the software within your company as a reference, in read only form, for the sole purposes of debugging your products, maintaining your products, or enhancing the interoperability of your products with the software, and specifically excludes the right to distribute the software outside of your company.

Kleber Rodrigo de Carvalho

RubyLearning.com to Relaunch Free Online Lessons

JRuby just released a maintenance release JRuby 1.0.1. This release contains bug fixes. The 1.0.1 release is available for download at the JRuby website.

A plan for JRuby 1.1 was also posted. The release is scheduled to happen before RubyConf in early November. The plan:

– compiler complete
– AOT compilation working with jrubyc
– stdlib all precompiled
– gem install precompilation
– virtual filesystem-inside-JVM (maybe) or hacked rubygems that can run out of an archive
– performance improvement to be quantified…java integration, execution, memory reduction·
– Yarv bytecode execution and compilation (maybe)
– AST sharing as an option (sharing across runtimes)…need to explore AOT compilation and its (positive?) effect on memory too
– real threading brutalization, testably multithread-safe core classes (maybe, needs heavy testing on many-core systems)
– Java API rubification, perhaps with require ‘javax.swing’ and so on·

Note: AOT compilation refers to Ahead Of Time compilation, meaning that Ruby source code can be compiled down to class files. This is in contrast with JIT compilation, which happens at runtime, Just In Time.

AST sharing is supposed to reduce memory usage when multiple JRuby runtimes share a single JVM process. An AST is an Abstract Syntax Tree, a data structure representing the source code, which is used by the interpreter and the various compilers (AOT, JIT).

This news comes from InfoQ.

Kleber Rodrigo de Carvalho