Mostrando postagens com marcador Paul Krill. Mostrar todas as postagens
Mostrando postagens com marcador Paul Krill. Mostrar todas as postagens

sexta-feira, 13 de outubro de 2017

Swift perde programadores para matrizes multi-plataforma

Com Paul Krill, editor da Infoworld.
Em 09/10/2017 no site Computerworld

Quando a linguagem Swift, da Apple, de desenvolvimento para sistemas MacOS e iOS estreou em Junho de 2014 como o sucessora moderna da Objective-C, a Swift começou a ganhar adeptos entre os programadores. Mas actualmente a tecnologia está a perder popularidade, de acordo com o último índice da Tiobe.
Esta Tiobe atribui a evolução aos facto de muitos profissionais estarem a abandonar o ambiente de desenvolvimento Swift / Xcode exclusivo, da Apple, preferindo matrizes de suporte à criação de aplicações móveis para múltiplas plataformas.
Entre as frameworks estão a Xamarin da Microsoft, a Apache Cordova e a Ionic. A Xamarin tira proveito da C #, enquanto a Cordova e a Ionic baseiam-se em JavaScript. “Até recentemente, era bastante comum programar aplicações Android usando Java e as de iOS no Swift / Objective-C”, contextualiza Paul Jansen, CEO da Tiobe, fornecedor de serviços de qualidade de software.
Mas “isso é bastante complicado porque é necessário manter duas bases de código, para fazer quase o mesmo”. As estruturas multi-plataforma evitam isso e estão a tornar-se muito populares, disse Jansen.
Embora se discuta a possibilidade de usar a Swift para desenvolvimento de apps para Android, a Google está focada na linguagem Java, C ++ e, recentemente, a Kotlin, como os linguagens de desenvolvimento de aplicações para Android.
No índice Tiobe de Março de 2017, a Swift estava em décimo lugar, com uma classificação de 2,268%. Mas tem vindo a perder diminuir desde então.
Em Outubro, a Swift está no 16º lugar, com uma classificação de 1,668%. Sem surpresa, a C # e a JavaScript estão a obter mais quota em detrimento da Swift e Java.
Jansen não vê como a evolução da Swift poderá tornar-se positiva. O foco da Swift apenas nos sistemas operativos da Apple e a evolução dos programadores para a adopção de frameworks para multi-plataforma, quase garantem um declínio continuado na popularidade da linguagem do fabricante. “O seu crescimento acabou, a menos que a Swift seja adoptada noutras áreas, o que é improvável actualmente”, disse Jansen.
A nova versão 4.0 da tecnologia centra-se num gestor de pacotes melhorado e em modos de compatibilidade, não mudará a situação, considera. Embora se discuta a possibilidade de usar a Swift para desenvolvimento de apps para Android, a Google está focada na linguagem Java, C ++ e, recentemente, a Kotlin, como as linguagens de desenvolvimento de aplicações para Android.
Assim, a Swift não tem uma área óbvia para expandir a sua base de desenvolvimento para dispositivos móveis.

quinta-feira, 4 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.