Guia para o Profissional Java

26
Guia para o Guia para o Profissional Java Profissional Java Ciclo de Palestras 2011 Ciclo de Palestras 2011

description

Palestra apresentada no dia 16/11/2011 no Ciclo de Palestras do Instituto Infnet.

Transcript of Guia para o Profissional Java

Page 1: Guia para o Profissional Java

Guia para oGuia para oProfissional JavaProfissional Java

Ciclo de Palestras 2011Ciclo de Palestras 2011

Page 2: Guia para o Profissional Java

ApresentaçõesApresentações

Armênio CardosoArmênio CardosoConsultor, Arquiteto de Sistemas e ProfessorConsultor, Arquiteto de Sistemas e Professor

http://www.http://www.linkedinlinkedin.com/in/armeniocardoso.com/in/armeniocardoso

http://www.http://www.slideshareslideshare.net/armeniocardoso.net/armeniocardoso

Page 3: Guia para o Profissional Java

AgendaAgenda

• Contexto Atual.Contexto Atual.

• Contexto de Java.Contexto de Java.

• O Que Eu Devo O Que Eu Devo Saber?Saber?

• Conclusões.Conclusões.

Page 4: Guia para o Profissional Java

Contexto AtualContexto Atual

• Como Java se posiciona Como Java se posiciona em relação às outras em relação às outras Linguagens de Linguagens de Programação?Programação?

• Que outras Linguagens Que outras Linguagens de Programação eu de Programação eu devo conhecer?devo conhecer?

• Como o paradigma de Como o paradigma de Orientação a Objetos Orientação a Objetos está posicionado?está posicionado?

Page 5: Guia para o Profissional Java

Contexto AtualContexto Atual

Ranking das Linguagens de Programação – Ranking das Linguagens de Programação – Setembro 2011Setembro 2011::

http://www.http://www.tiobetiobe.com.com

Page 6: Guia para o Profissional Java

Contexto AtualContexto Atual

Ranking das Linguagens de Programação – Ranking das Linguagens de Programação – Setembro 2011Setembro 2011::

19%

18%

9%7%7%

6%

4%

4%

2%

1%

23%

JavaCC++C#PHPObjective-CBASICPythonPerlJavaScriptOutras

http://www.http://www.tiobetiobe.com.com

Page 7: Guia para o Profissional Java

56%38%

4%

2%

OOProceduralFuncionalLógico

Contexto AtualContexto Atual

Paradigmas de Programação:Paradigmas de Programação:

http://www.http://www.tiobetiobe.com.com

•Erlang;•F#;•Haskel;•Lisp;•Scala.

•Prolog;•Oz.

Page 8: Guia para o Profissional Java

66%

34%

EstáticoDinâmico

Contexto AtualContexto Atual

Definição dos Tipos de Dados nas Linguagens de Programação:Definição dos Tipos de Dados nas Linguagens de Programação:– Estático = compilação.Estático = compilação.– Dinâmico = runtime.Dinâmico = runtime.

•ActionScript;•Groovy;•JavaScript;•Python;•Ruby.

http://www.http://www.tiobetiobe.com.com

Page 9: Guia para o Profissional Java

Contexto de JavaContexto de Java

• Como se constitui a Como se constitui a Plataforma Java?Plataforma Java?

• Quais são as Quais são as versões disponíveis?versões disponíveis?

• Quais são as Quais são as principais IDEs principais IDEs open-source?open-source?

Page 10: Guia para o Profissional Java

Contexto de JavaContexto de Java

JDK 1.0 - 1996JDK 1.0 - 1996JDK 1.1 - 1997JDK 1.1 - 1997

J2SE 1.2 - 1998J2SE 1.2 - 1998J2SE 1.3 - 2000J2SE 1.3 - 2000J2SE 1.4 - 2002J2SE 1.4 - 2002J2SE 5.0 - 2004J2SE 5.0 - 2004

Java SE 6 - 2006Java SE 6 - 2006Java SE 7 - 2011Java SE 7 - 2011

Standard Edition

Page 11: Guia para o Profissional Java

Contexto de JavaContexto de Java

JPE (Pro. Ed.) – 1998JPE (Pro. Ed.) – 1998

J2EE 1.2 – 1999J2EE 1.2 – 1999

J2EE 1.3 – 2001J2EE 1.3 – 2001

J2EE 1.4 – 2003J2EE 1.4 – 2003

Java EE 5 – 2006Java EE 5 – 2006

Java EE 6 – 2009Java EE 6 – 2009

Enterprise Edition

Page 12: Guia para o Profissional Java

Contexto de JavaContexto de Java

• Ambientes de Ambientes de Execução:Execução:– Android;Android;– iOS;iOS;– BlackBerry;BlackBerry;– HP webOS;HP webOS;– Symbian OS;Symbian OS;– Windows Mobile.Windows Mobile.

• Carência de Carência de Compatibilidade do Compatibilidade do Java ME “oficial”.Java ME “oficial”.

Micro Edition

Page 13: Guia para o Profissional Java

Contexto de JavaContexto de Java

• Evolução das Evolução das tecnologias de tecnologias de desenvolvimento:desenvolvimento:

Cross-platform DeploymentCross-platform Deployment

• Oportunidade de criar Oportunidade de criar SDKs que suportem SDKs que suportem várias plataformas de várias plataformas de runtime.runtime.

Micro Edition

Page 14: Guia para o Profissional Java

Contexto de JavaContexto de Java

EclipseEclipse

1.0 20011.0 20012.0 20022.0 20022.1 20032.1 20033.0 20043.0 20043.1 20053.1 20053.2 20063.2 2006

Europa 3.3 2007Europa 3.3 2007

Ganymede 3.4 2008Ganymede 3.4 2008

Galileo 3.5 2009Galileo 3.5 2009

Helios 3.6 2010Helios 3.6 2010

Indigo 3.7 2011Indigo 3.7 2011

NetbeansNetbeans

Xelfi 1997Xelfi 1997DeveloperX2 1999DeveloperX2 19993.x 2000 - 20033.x 2000 - 20034.0 20044.0 20044.1 20054.1 2005

5.5 20065.5 20065.5.1 20075.5.1 2007

6.1 20086.1 20086.5 20086.5 20086.8 20096.8 20096.9.1 20106.9.1 2010

7.0.1 20117.0.1 2011

Integrated Development Environment - IDEIntegrated Development Environment - IDE

Page 15: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Quais são as dicas Quais são as dicas sobre a plataforma sobre a plataforma Java?Java?

• Quais são os “grandes Quais são os “grandes assuntos” que um assuntos” que um profissional deve profissional deve conhecer?conhecer?

• O que mudou na O que mudou na Certificação Java?Certificação Java?

Page 16: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Dica nº 1: Atenção com o Java SE 7:Dica nº 1: Atenção com o Java SE 7:

– O SDK versão 7 é muito recente (atenção aos O SDK versão 7 é muito recente (atenção aos bugs).bugs).

– Conjunto de “melhorias” que ainda não justificam Conjunto de “melhorias” que ainda não justificam o movimento de migração.o movimento de migração.

– Bibliografia escassa, explorando somente os Bibliografia escassa, explorando somente os novos recursos.novos recursos.

– Empresas não devem servir de “cobaia”.Empresas não devem servir de “cobaia”.

Page 17: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

““Oracle: Java's worst enemy”Oracle: Java's worst enemy”By Neil McAllister – InfoWorld - 04/08/2011By Neil McAllister – InfoWorld - 04/08/2011

• Oracle lançou o Java SE 7 com um bug Oracle lançou o Java SE 7 com um bug seríssimo e quem foi o primeiro a seríssimo e quem foi o primeiro a alertar a comunidade Java? A Apache alertar a comunidade Java? A Apache Foundation. Que ironia!Foundation. Que ironia!

Page 18: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Dica nº 2: Migrar para Java EE 6:Dica nº 2: Migrar para Java EE 6:

– As aplicações JEE 5 precisam receber pequenos As aplicações JEE 5 precisam receber pequenos “ajustes” para a nova versão.“ajustes” para a nova versão.

– JPA: de Toplink para Eclipselink.JPA: de Toplink para Eclipselink.

– Já existem vários livros sobre o assunto. Já existem vários livros sobre o assunto.

– Atenção com o uso das IDEs: a versão JEE 5 pode Atenção com o uso das IDEs: a versão JEE 5 pode não ser mais suportada por default.não ser mais suportada por default.

Page 19: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Dica nº 3: Buscar maior aproximação com Dica nº 3: Buscar maior aproximação com os padrões:os padrões:

– As aplicações JEE 6 consolidaram tecnologias As aplicações JEE 6 consolidaram tecnologias “ponta-a-ponta”: “ponta-a-ponta”: • Java Server Faces 2.0 (Ajax e componentes mais ricos);Java Server Faces 2.0 (Ajax e componentes mais ricos);• Enterprise Java Beans 3.1 (Inversion Of Control);Enterprise Java Beans 3.1 (Inversion Of Control);• Java Persistence Architecture 2.0 – Eclipselink muito Java Persistence Architecture 2.0 – Eclipselink muito

semelhante ao Hibernate.semelhante ao Hibernate.

– Racionalidade na publicação de ofertas de Racionalidade na publicação de ofertas de emprego.emprego.

Page 20: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Dica nº 4: Conhecer as soluções cross-Dica nº 4: Conhecer as soluções cross-platform deployment para dispositivos platform deployment para dispositivos móveis:móveis:

– Crescimento exponencial da plataforma Android Crescimento exponencial da plataforma Android e Apple iOs.e Apple iOs.

– Crescimento exponencial do uso de dispositivos Crescimento exponencial do uso de dispositivos móveis integrados a aplicações corporativas.móveis integrados a aplicações corporativas.

http://en.http://en.wikipediawikipedia.org/wiki/Mobile_development.org/wiki/Mobile_development

Page 21: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Livros - Java Standard Edition:Livros - Java Standard Edition:

Page 22: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Livros - Java Enterprise Edition:Livros - Java Enterprise Edition:

Page 23: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Livros - Java Enterprise Edition:Livros - Java Enterprise Edition:

Page 24: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• Livros - Desenvolvimento “Mobile”:Livros - Desenvolvimento “Mobile”:

Page 25: Guia para o Profissional Java

O Que Eu Devo Saber?O Que Eu Devo Saber?

• O Que Mudou na Certificação?O Que Mudou na Certificação?

– Oracle Certified Associate.Oracle Certified Associate.– O.C. Professional Java Programmer.O.C. Professional Java Programmer.

– O. C. Master, Java SE 6 Developer.O. C. Master, Java SE 6 Developer.

– O. C. Professional, Java EE 5 Web Component Developer.O. C. Professional, Java EE 5 Web Component Developer.– O. C. Professional, Java EE 5 Business Component O. C. Professional, Java EE 5 Business Component

Developer.Developer.

– O. C. Master, Java EE 5 Enterprise Architect.O. C. Master, Java EE 5 Enterprise Architect.

Master: a partir de 1º de outubro será necessário fazer um curso para poder fazer a certificação.

Page 26: Guia para o Profissional Java

ConclusõesConclusões