stremer
(usa Arch Linux)
Enviado em 24/04/2008 - 13:23h
cara.
Java é um plataforma completa e não somente uma linguagem. Da pra fazer qualquer coisa com java, só não espere muita performance pois é uma linguagem que roda sob uma VM. Este custo tem a desvantagem de performance (em alguns casos) e maior consumo de memória, por outro lado ganha-se a portabilidade do mesmo binário.
Java depende de uma VM, a não ser que utilize java 1.4 e compile seu programa com o gcj. Mesmo assim ainda tem mta incompatibilidade e deverá usar um binário diferente para cada plataforma. Eu não recomendo visto as incompatibilidades e erros que ja vi por ai, neste caso seria melhor criar algo em ansi c/c++ e usar alguma biblioteca para parte grafica multi-plataforma tipo o wxWidgets.
A unica maneira da pessoa não ter de instalar a VM é você distribuir a VM junto com sua aplicação (como um programa qualquer que você distribui as libs tipo vb e delphi). Para gerar o instalador você pode gerar de diversas maneiras dependendo da plataforma. Em linux pode ser um shell script com o conteúdo binário de um tar.gz contendo a VM e sua aplicação. Para windows você pode utilizar até mesmo o installshield. Você pode criar um executável (em C) que ao ser executado na plataforma utilize a jvm e crie uma jv a partir dele (o executável java não é nada mais que isso). Desta forma o seu programa poderia rodar a partir de um exe windows ou binário linux, sem a necessidade do executável java.
Outra forma é distribuir o programa em .jar (que seria o executável universal java), o cara tem de chamar com java -jar programa.jar.
Quanto a aprender java, no próprio google você pode achar muita informação e tutorial bem como no guj (guj.com.br). Comece pelos seguintes tópicos:
- A linguagem java e orientação a objetos
- A API Java
- JDBC e acesso a base de dados
- Servlet e JSP
- Swing (e awt)
- J2EE
Você pode criar qualquer coisa em java, desde uma mini aplicação com uma telinha, uma applet, um portal web completo, um sistema integrado, dentre outras coisas.
Com jni você pode acessar código nativo do sistema (código em C por exemplo), fazendo tarefas que não estão disponiveis na VM (por causa da vm ter sido criada pensando-se na portabilidade).