sexta-feira, 23 de junho de 2017

Canadá quer mais profissionais de TIC do Brasil, conheça as áreas em alta

A Québec International, agência de desenvolvimento econômico da cidade de Québec, realiza a quinta edição da missão de recrutamento virtual no Brasil. O objetivo é apresentar oportunidades de trabalho para profissionais qualificados de tecnologia da informação e comunicações (TIC) na capital da província que fica na região canadense de língua francesa — a maior em extensão territorial e considerada o berço da América francesa. Os interessados devem ter domínio total do idioma francês.
Para ocupar as vagas, a missão planeja atrair graduados em ciência da computação, construção de computadores, engenharia elétrica/eletrônica, além de tecnólogos em informática. Os cargos mais demandados são os de analista funcional, analista de negócios de TI, analista tecnológico de infraestrutura web, analista programador e inteligência de negócios (BI), analista programador Java, analista programador .Net, arquiteto de sistemas, arquiteto de software, consultor funcional, SAP SD, desenvolvedor .Net, desenvolvedor back-end Java, desenvolvedor de base de dados de software e web PHP e técnico em armazenamento e virtualização.

A área de TI na cidade de Québec e na região metropolitana reúne cerca de 530 empresas, que geram mais de 15,4 mil empregos.

“Trata-se de um mercado estratégico por apresentar uma cultura profissional muito semelhante à de Québec. Os brasileiros demonstram facilidade de integração à sociedade quebequense e disposição em desenvolver a língua francesa”, avalia Janaina Kamide, conselheira em atração de talentos da agência.

Para se candidatar, é preciso criar um cadastro no site e enviar o currículo em francês até o dia 13 de agosto. Em caso de avaliação positiva, uma entrevista com os gestores das empresas será agendada para o período de 11 a 19 de setembro, via Skype. Vale salientar que a participação na missão é completamente gratuita.

Se o profissional cumprir as exigências e for aprovado, o empregador o fará assinar um contrato e dará início aos trâmites de imigração, para a obtenção do visto que possibilita trabalhar e residir legalmente na cidade de Québec. Todo esse processo junto ao governo local é de responsabilidade da empresa contratante.

Os candidatos poderão ainda assistir a uma webinar, que acontecerá no dia 29 de junho (quinta-feira), às 19h30, e poderá ser acessada pelo link. O evento apresentará dicas de como preparar um curriculum vitae à la québécoise. A transmissão será em francês, mas os interessados poderão enviar dúvidas em português e receber respostas via chat.

Fonte: Idgnow

segunda-feira, 8 de maio de 2017

Red Hat e IBM se opõem ao projeto de modularização do Java 9

A modularização — divisão de software em partes distintas — será o recurso-chave do Java SE 9 (Standard Edition), que está programado para o fim de julho. Mas a IBM e Red Hat se dizem preocupadas com a possibilidade de que o plano do módulo base possa levar a incompatibilidades com aplicações e sistemas corporativos desenvolvidos em Java.

Em um boletim recente, Scott Stark, vice-presidente de arquitetura para o grupo JBoss da Red Hat, levantou preocupações que a empresa e outros membros do comitê executivo do Java têm em relação ao desenvolvimento do JSR 376 (Java Specification Request) referente ao Java Platform Module System, chamado de Projeto Jigsaw.

"O Jigsaw é o projeto de desenvolvimento de um novo sistema de módulos que tem trabalhado com sucesso para modularização do Java em si, mas ainda não testado amplamente em implantações de produção de aplicações reais em cima de Java Virtual Machine (JVM) [programa que carrega e executa os aplicativos Java]", disse Stark. "Há casos de implantação de aplicativos que não são possíveis sob Jigsaw ou exigiriam uma significativa rearquitetura."

A expectativa é que o JSR 376 forneça uma base para o Java Enterprise Edition 9 até o fim de 2018. Mas Stark tem suas dúvidas. "As limitações do Jigsaw quase certamente impedem a possibilidade de termos o Java EE 9 baseado no Java Platform Module System, como para fazê-lo exigiria que os fornecedores de Java EE eliminassem completamente a compatibilidade, interoperabilidade e paridade de recursos com versões anteriores da especificação Java EE."

O VP do grupo JBoss disse ainda que em alguns casos, a implementação do Jigsaw contradiz anos de práticas recomendadas para implantação de aplicativos modulares.

Os principais pontos do Jigsaw são baseados em uma abordagem reducionista de transmitir a compatibilidade de concepção, disse Stark. "Isto funciona com a modularização do Java em si, mas torna-se restritivo para os casos de uso mais amplos de implantações de aplicativos."

O Java Modular, que será entregue com o Java Development Kit 9 (JDK), em 27 de julho, promete ajudar a melhorar a escalada do Java em sistemas menores. O sistema de módulos em foi baseado no JSR 376. "Aplicando as filosofias que façam sentido para modularização e encapsulamento da plataforma Java, a especificação realmente reduz a capacidade dos desenvolvedores de aplicativos se adaptarem facilmente a implementação específica de um sistema de módulos", disse Stark.

Stark argumenta que a implementação do Jigsaw exigirá milhões de autores e usuários do ecossistema Java para superar os grandes desafios para seus aplicativos e bibliotecas, especialmente se eles lidam com serviços, carregamento de classe ou reflexão.  O plano resultará em uma arquitetura nova, não testada e comprovada, para a implantação de aplicativos de forma modular. Poderá haver dois mundos Java de desenvolvimento de software: uma para Jigsaw e outro para todo o restante, cobrindo o Java SE Classloaders, OSGi e o Java EE e muito mais, diz ele.

Padrões introduzidos dentro Jigsaw podem ser difíceis de corrigir, mesmo em uma versão posterior, por criar problemas de compatibilidade com versões anteriores e mais recentes, disse Stark. "O resultado será um ecossistema Java cada vez mais enfraquecido no espaço de servidor com o aumento da utilização de linguagens como Go."

Em sua crítica de aproximadamente 9,5 mil palavras ao Jigsaw, Stark também levanta questões envolvendo o serviço de carregamento, incluindo personalização e extensibilidade. O Jigsaw altera substancialmente o comportamento do ServiceLoader API e pode afetar a compatibilidade, disse ele. Stark também mencionou a estabilidade como um problema, já que o Jigsaw não especifica a ordem em que os serviços são retornados dentro de uma camada.

Tim Ellison, da IBM, em um post em uma lista de mailing do openjdk, feito na semana passada, disse que as preocupações de Stark demonstram que "ainda há muito trabalho para que a comunidade chegue a um acordo sobre o padrão proposto". A IBM vai votar não no JSR 376, disse ele.

Devido à sua complexidade, modularidade já foi adiada no Java SE 8, lançado em março de 2014, a Java SE 9, adiado devido a essa mesma complexidade.

sexta-feira, 7 de abril de 2017

Futuro do suporte às funcionalidades da linguagem Java 8 no Android

No Google, sempre tentamos fazer a coisa certa. Às vezes isso significa ajustar nossos planos. Sabemos o quanto nossa comunidade de desenvolvedores Android se importa com o suporte às funcionalidades da linguagem Java 8, e estamos mudando a maneira que oferecemos esse suporte.

Nós decidimos adicionar o suporte às funcionalidades de Java 8 diretamente ao atual conjunto de ferramentas javac e dx, e desativar o toolchain Jack. Com essa nova direção, as ferramentas e plugins existentes que dependam do formato de arquivo de classe do Java deverão continuar funcionando. Seguindo em frente, as funcionalidades da linguagem Java 8 serão nativamente suportadas pelo sistema de construção do Android. Estamos planejando lançar isso como parte do Android Studio nas próximas semanas, e queríamos compartilhar essa decisão com vocês mais cedo.

Nós inicialmente testamos adicionar o suporte ao Java 8 via toolchain Jack. Com o tempo, percebemos que o custo para mudar o Jack seria muito alto para nossa comunidade quando consideramos os processadores de anotações, analisadores de bytecode e reescritores impactados. Obrigado por testar o toolchain Jack e nos fornecer feedback. Você pode continuar utilizando o Jack para construir seu código Java 8 até lançarmos o novo suporte. A migração do Jack deveria exigir pouco ou nenhum trabalho.

Esperamos que o novo plano prepare um caminho suave para que todos possam tirar vantagem das funcionalidades da linguagem Java 8 no Android. Nós vamos compartilhar mais detalhes quando lançarmos o novo suporte no Android Studio.

Fonte: Imasters

quarta-feira, 22 de março de 2017

Java 9 trará ajustes de limite de memória em containers Docker

O Java 9 ganhou uma mudança experimental para que a JVM consiga perceber que está rodando dentro de um container e ajuste os limites de memória de forma apropriada. Apesar do aumento da popularidade dos containers nos últimos anos, muitas ferramentas, incluindo a JVM, ainda dependem dos parâmetros do host para avaliar os recursos disponíveis, muitas vezes ficando sem memória com mensagens de erro desconcertantes. Essa mudança, que pode estar disponível para o público assim que o Java 9 for lançado, tenta prevenir vários destes cenários.

Tecnologias Container como Docker, Heroku ou Kubernetes são uma forma de máquinas virtuais leves baseadas no sistema operacional Linux. Assim, elas podem fornecer uma funcionalidade muito parecida com as máquinas virtuais mais rápidas e consumindo menos recursos, mas existem algumas desvantagens: enquanto as máquinas virtuais completas simulam uma pilha inteira de hardware dedicado, o que significa que o software existente funciona principalmente como esperado, as tecnologias de containers usam o hardware e o sistema operacional do host, o que significa que o software que se baseia em informações do host pode ignorar as restrições extras que os containers impõem.

Na JVM, se o limite máximo da memória é definido com -Xmx, ela irá configurá-lo como uma fração da memória física (tipicamente ¼, mas pode variar), e isso pode não levar em conta os limites impostos pelo container. A mudança proposta tenta prevenir esse problema ao verificar se a JVM está rodando dentro de um Control Group ou cgroup, uma tecnologia Linux como a maioria das tecnologias de container usadas para impor limites no uso de hardware e outros recursos. Se a JVM detecta que está dentro de um cgroup, ela tentará encontrar o limite de memória definido no container e considerará esse limite como a memória física disponível. Como ainda é experimental, a novidade somente será aplicada se ativada com a opção -XX:+UseCGroupMemoryLimitForHeap.

Incorporado ao Kernel do Linux em 2008 e redesenhado em 2013, o cgroups isola o uso de recursos e permite que aplicações controlem o acesso a memória, CPU, IO e rede, entre outros. Diferentes aplicações podem criar sua própria hierarquia de cgroups com limites diferentes por grupos, o que significa que uma aplicação não conhece, a priori, o grupo que a mesma irá executar. É por isso que a JVM só pode fazer uma suposição sobre cgroups e o limite de memória, divulgou o site InfoQ.

Fonte: Imasters

Google lança primeiro developer preview do Android O

Já faz um ano que o Google anunciou o primeiro preview do Android Nougat. Hoje, a empresa lançou o primeiro developer preview da próxima versão do seu sistema operacional móvel, atualmente batizado de Android O.

“Para este lançamento, queríamos nos concentrar em dar aos desenvolvedores tempo para testar compatibilidade, explorar novos recursos e enviar comentários que ajudarão a fazer do Android O uma ótima plataforma”, disse um porta-voz do Google ao site TechCrunch.

Entre as novidades do Android O estão:

Notificações: o Android O adicionou um novo recurso chamado de notification channels. Isso vai dar aos desenvolvedores a capacidade de agrupar notificações de seus aplicativos em grupos (digamos que você tem um aplicativo de notícias e deseja agrupar notificações por “política” ou “tecnologia”, por exemplo). Os usuários serão capazes de gerenciar essas notificações com base nesses canais.

Picture in Picture: os aplicativos de vídeo do Android O poderão se colocar em um modo Picture in Picture para que o vídeo continue sendo reproduzido depois de alternar para um aplicativo diferente.

Suporte para multitela: esse recurso parece estar voltados tanto para novos tipos de dispositivos quanto para Android no Chrome OS. Com isso, os desenvolvedores poderão lançar uma atividade em uma tela remota.

Navegação por teclado: esse recurso é voltado para Android Apps no Chrome OS e permitirá aos desenvolvedores dar melhor suporte para a navegação por seta e aba em seus aplicativos. “Com o advento do Android Apps no Chrome OS, estamos vendo um ressurgimento do uso de navegação por teclado em aplicativos Android”, diz o Google no anúncio de hoje.

Limites de background: os últimos lançamentos do Android colocaram uma ênfase pesada em melhorar a vida da bateria. O Android O coloca limites automáticos sobre o que um aplicativo pode fazer enquanto está no segundo plano. Esses limites se concentram em três áreas: transmissões implícitas, serviços em background e atualizações de localização. Para os desenvolvedores, isso pode realmente ser o mais abrangente dos novos recursos no Android O.

Novos recursos Wi-Fi: o Android O está adicionando suporte para alguns (relativamente) novos recursos de conectividade. O sistema operacional atualizado oferecerá suporte para mais recursos Wi-Fi Aware, como Neighborhood Aware Networking (NAN). NAN facilita a comunicação entre aplicativos e dispositivos sem um ponto de acesso à Internet no meio (ou qualquer conexão à Internet). O Google diz que está trabalhando com parceiros para oferecer suporte para NAN nos dispositivos “o mais rápido possível”.

Melhor interoperabilidade para aplicativos de chamada: o Android O facilitará a chamada de aplicativos para conversarem entre si e fazer chamadas pela rede de operadoras. Os desenvolvedores agora serão capazes de usar o novo framework Telecom para construir sua própria interface de usuário para fazer chamadas, e as chamadas serão exibidas e controláveis através de dispositivos Bluetooth com telas, como você encontraria em um carro.

Existem outros novos recursos e ajustes, que incluem ícones adaptáveis, suporte para monitores de cores amplas, suporte para codecs de áudio Bluetooth de alta qualidade, uma nova API de áudio nativa, melhor suporte para fontes e um WebView aprimorado que tem o modo multiprocesso habilitado por padrão.

O Google também observa que o Android O irá suportar uma série de novas APIs Java e que o Android Runtime agora é significativamente mais rápido, com alguns benchmarks registrando uma melhoria de 2x.

Como no ano passado, o Google promete que vai dar detalhes sobre o Android O na conferência de desenvolvedores I/O em maio. Se a empresa seguir o mesmo cronograma de lançamento do ano passado, provavelmente veremos os primeiros dispositivos com o Android O em um evento de hardware do Google em outubro.

Fonte: Imasters

Android ganha suporte para recursos de linguagem do Java 8

A equipe de desenvolvimento do Android revelou nesta semana que decidiu adicionar suporte para recursos de linguagem do Java 8 diretamente ao conjunto de ferramentas atual javac e dx e depreciar a toolchain Jack. Com essa mudança, as ferramentas existentes e os plugins dependentes do formato de arquivo de classe Java devem continuar a funcionar. Além disso, os recursos de linguagem do Java 8 serão nativamente suportados pelo sistema de build do Android. A equipe pretende lançar isso como parte do Android Studio nas próximas semanas.

Inicialmente, os devs do Android testaram a adição de suporte para Java 8 através da toolchain Jack. Com o tempo, eles perceberam que o custo de mudar para Jack era muito alto para a comunidade, quando eles consideraram os processadores de anotação, analisadores de bytecode e rewriters impactados.

A equipe espera que o novo plano possa fazer com que todos aproveitem os recursos da linguagem Java 8 no Android.

Fonte: Imasters

terça-feira, 14 de março de 2017

Java EE 8, Quando mesmo?

No blog da oracle, foi anunciada as datas do cronograma de lançamento do JAVA EE 8, segue abaixo:

Apesar do mês de fevereiro ser curto, para o Java foi um mês de muito trabalho

A programação da plataforma Java EE 8 (JSR 366) foi atualizada da seguinte forma:

Revisão Pública - Abr / Mai 2017
Projeto Final Proposto - Junho de 2017
Versão Final - Julho de 2017 (!)

O período de revisão pública do CDI 2.0 está quase concluído, portanto, certifique-se de fornecer seu feedback para o JSR 365 ,ou seja, ... agora!

O JAX-RS 2.1 Early Draft está quase pronto; Veja aqui para obter um detalhe maior. Neste projeto, a API de eventos enviados pelo servidor mudou bastante. Para mais detalhes, verifique aqui e aqui (JAX-RS 2.1 m04).

O Bean Validation 2.0 (JSR 380) EG lançou um Early Draft. Para saber mais sobre o BV 2.0, você pode querer ouvir este episódio do JBoss Community Asylum.

Servlet 4.0 (JSR 369) passou com êxito a sua votação de renovação e, entretanto, o Servlet EG está evoluindo em relação ao seu Early Draft.

A API de Segurança (JSR 375) EG também está na etapa de preparar seu Rascunho Inicial.

Também foi anunciado que há a intenção de fazer uma Release JPA Maintenance para Java EE 8.

JSF 2.3 e JSON-P 1.1 já entraram no período da Balança de Revisão Pública. Isso significa que essas 2 especificações estão ficando muito perto de ser finalizado!

Finalmente e se você quiser contribuir, certifique-se de assistir ao 2o Webcast Adopt-A-JSR que foi recentemente publicado pelo JCP.

Fonte: Oracle´s Blog