O que é o Blazor e por quê é importante para os desenvolvedores .Net e para a Web.

Há alguns anos, quando a Microsoft lançou o Razor, ele foi considerado revolucionário. Esta linguagem de marcação server side permitiu que os desenvolvedores trouxessem códigos do lado do servidor para as páginas Web. A sintaxe do Razor foi projetada para ser fácil de ler e aprender, o que foi ótimo para atrair novos desenvolvedores.

Embora essa tecnologia permitisse aos desenvolvedores manipular toda a lógica do lado do servidor usando o .NET e trazer os dados para o lado do cliente pela Razor, a Microsoft ainda não tinha solução para competir com estruturas JavaScript como Angular, React e Vue no front end.

Essa lacuna fez com que os engenheiros da Microsoft pensassem em maneiras de trazer o poder do .NET para o lado do cliente. Sua jornada inevitavelmente levou à Web Assembly. Para aqueles que não estão familiarizados com esta tecnologia, Web Assembly ou WASM é um…

Novo tipo de código que pode ser executado em navegadores da Web modernos - é uma linguagem de montagem de baixo nível com um formato binário compacto que é executado com desempenho quase nativo e fornece linguagens como C / C ++ e Rust com um destino de compilação que eles podem ser executados na web. Ele também é projetado para rodar ao lado do JavaScript, permitindo que ambos trabalhem juntos.

                                                                                                                                                              - developer.mozilla.org

Em suma, o Web Assembly torna o código .Net possível em praticamente qualquer lugar. Esse avanço resolveu muitos problemas para desenvolvedores .NET que procuravam executar seu código em navegadores modernos. Mas o mais importante é que abriu caminho para a Microsoft ampliar o alcance de sua tecnologia Razor existente.

Enter Blazor!

O resultado é uma solução perfeita para criar uma alternativa competitiva aos populares frameworks de aplicativos de página única, aproveitando todo o poder do .NET. O sonho que começou com o Silverlight está finalmente se tornando uma realidade. O Blazor associa a marcação Razor familiar a coisas como vinculação de dados, injeção de dependência e até mesmo permite chamadas de e para o JavaScript por meio de interoperabilidade de JavaScript.

Agora os desenvolvedores podem alavancar seus conhecimentos C# em servidores e clientes, dando-lhes acesso ao .NET e suas bibliotecas. Para melhorar as coisas, os aplicativos do Blazor são baseados em componentes. Isso permite que eles sejam aninhados e reutilizados, tornando-os muito flexíveis. O resultado é uma interface de usuário rica e rápida renderizada como HTML e CSS.

Enquanto o Silverlight era prejudicado por preocupações de adoção devido à falta de suporte de plataforma, o Web Assembly é suportado por todos os principais navegadores, incluindo o Safari no iOS. Isso coloca em pé de igualdade com o JavaScript e as estruturas de aplicativos de página única concorrentes na luta pelo domínio da web.

Há algumas coisas para manter em mente se você planeja pular para o Blazor neste momento. O Blazor herda anos de maturidade do .NET e do Razor, e é muito capaz, mesmo ainda não fornecendo certos recursos.

Continue lendo “O que é o Blazor e por quê é importante para os desenvolvedores .Net e para a Web.”

Abertas as inscrições para Code Day II.

A Samsung anunciou que estão abertas as incrições para o Code Day II, evento que será realizado em São Paulo, entre os dias 10 e 24 de agosto, no Espaço OCEAN da USP (Universidade de São Paulo). O curso é presencial e possui duração de oito horas e é direcionado a professores e educadores da rede pública. Podem participar professores e educadores que estiveram no Code Day I. Este curso é uma iniciativa da Samsung em parceria com o LSI-TEC (Laboratório de Sistemas Integráveis Tecnológico). Os encontros irão contemplar conceitos e atividades avançadas em IoT (Internet das Coisas).

O Code Day II faz parte do Code IoT, que é uma plataforma de cursos online e gratuitos disponibilizada pela Samsung a todos os interessados em aprender mais sobre tecnologia. Temas que abordam Aplicações para Dispositivos Móveis, Aprendendo a programar e Objetos Inteligentes Conectados estão disponíveis. Ao final de cada curso, os participantes recebem certificado de conclusão, e os cursos estão disponíveis em português, inglês e espanhol.

Continue lendo “Abertas as inscrições para Code Day II.”

O mecanismo de JavaScript do Facebook que otimiza o React Native no Android

O mecanismo de código aberto JavaScript Hermes pode ser usado para melhorar o desempenho de todos os aplicativos móveis baseados em JavaScript.

O Facebook criou um mecanismo JavaScript, chamado Hermes, que melhora o desempenho de aplicativos React Native em dispositivos Android. Embora o mecanismo de código aberto seja otimizado para o React Native atualmente, ele pode ser usado para melhorar o desempenho de aplicativos móveis baseados em JavaScript em geral.

Especialmente, Hermes é voltada para a inicialização rápida, aproveitando o bytecode compacto e otimização estática antecipada. Em muitos casos, a ativação do Hermes melhora o tempo de inicialização, diminui o uso de memória e resulta em um tamanho de aplicativo menor.

O Hermes atualmente é um recurso opcional no React Native. A maioria dos produtos React Native do Facebook no Android já está utilizando o Hermes, incluindo o Crisis Response e o aplicativo complementar Oculus.

Recursos do mecanismo JavaScript Hermes:

As capacidades do Hermes incluem:

  • Em vez de analisar e compilar o JavaScript no dispositivo enquanto o usuário aguarda, esse trabalho pode ser feito no momento da criação.
  • A compilação à frente do tempo permite otimizações mais complexas.  Funções idênticas podem ser encontradas em um programa e desduplicadas. As cadeias de caracteres do código JavaScript podem ser agrupadas em um formato de armazenamento eficiente sem sobrecarga de tempo de execução.
  • Um pequeno tamanho de APK Android.
  • O bytecode pode ser mapeado na memória e carregado a partir da memória flash, conforme necessário.
  • O espaço de endereço virtual é alocado em partes por demanda, conforme necessário, evitando a necessidade de estimar o tamanho do heap e minimizar a sobrecarga. Memória livre pode ser retornada ao sistema operacional. Além disso, as pausas de coleta de lixo são minimizadas.
  • Implementa padrões JavaScript, com o Hermes visando o ECMAScript 2015, também conhecido como ES6. Os recursos JavaScript não usados com frequência nos aplicativos React Native foram omitidos.

O Facebook também abriu a integração do Hermes com o React Native, para que os desenvolvedores possam usar o Hermes imediatamente. A empresa planeja construir ferramentas de criação de perfil de tempo e memória para Hermes e adicionar suporte ao protocolo de depuração do Visual Studio Code.

Onde baixar o Hermes?

Você pode fazer o download do Hermes no GitHub. Instruções para ativar o uso do Hermes podem ser encontradas no site do React Native. (documentação)

 

Aplicações nativas em JavaScript com Capacitor

Capacitor, o novo framework da Ionic.

Você sabe o que é o Ionic? É uma ferramenta para criar aplicativos mobile, utilizando HTML, CSS e JavaScript.

Capacitor é uma cross-plataform API que facilita chamar SDKs nativos a partir de código da Web e fornece suporte de progressive web apps. Criada pela Ionic, é uma alternativa ao Apache Cordova, que foi lançado em 2009. O Capacitor foi criado devido ao sistema de plugins desatualizados do Apache Cordova e pela restrição ao gerenciamento de plataformas nativas.

Ele foi projetado pela equipe do Ionic Framework como uma alternativa ao Cordova. O Capacitor pode ser usado sem o Ionic, mas em breve se tornará uma parte essencial do mesmo.

Continue lendo “Aplicações nativas em JavaScript com Capacitor”

O que o programador JavaScript deve saber

JavaScript é uma das principais linguagens de programação mais requisitadas no mercado de trabalho atual. No entanto, os empregadores geralmente procuram uma combinação de habilidades. Descubra o que mais você deve adicionar ao seu currículo para conseguir o seu próximo trabalho JavaScript.

A pesquisa vem do CV Compiler, uma empresa que, como o próprio nome sugere, ajuda a criar um currículo convincente para desenvolvedores e outros no setor de software. Para fornecer esta orientação, mantém-se continuamente atualizado com as demandas dos empregadores. Para esta pesquisa dos desenvolvedores de habilidades em JavaScript, a equipe do Compilador de CV precisou de 300 especificações de trabalho para desenvolvedores de JavaScript de AngelList, StackOverflow, LinkedIn e páginas de carreira de empresas de tecnologia em rápido crescimento em todo o mundo. Em seguida, usando sua própria ferramenta de análise de texto, eles identificaram os termos que foram mencionados com mais frequência e criaram este gráfico:

linguagens de programação, metodologias de programação e assim por diante. Na verdade, isso pode não ter sido a primeira coisa que você percebeu – você pode ter sido atingido pelo domínio do React. Mesmo se você permitir que qualquer abertura de trabalho para o React exija JavaScript, a demanda por essa estrutura parece ser esmagadora. Como existem apenas 300 listagens de empregos e o principal concorrente da React, Angular também tem uma alta proporção de menções, algumas aberturas precisam exigir múltiplas estruturas ou uma ou mais alternativas. Mesmo assim, o recorde de 267 da React é excelente, o Angular tem 195 pontos de crédito, enquanto o Vue apenas recebe 44 menções.

Comentando sobre isso no blog Game of Frameworks, Andrew Stetsenko escreve:

“Como você deve ter notado, o Vue.js não era tão alto em nossa classificação de habilidades. Eu acho que pode haver várias razões para isso. Primeiro de tudo, nem toda empresa está pronta para transferir seus projetos para o Vue.js e descartar soluções de front-end mais estáveis ​​e comuns. Em segundo lugar, os empregadores podem querer que os desenvolvedores aprendam o Vue.js enquanto trabalham, por isso eles não mencionam nas especificações iniciais do trabalho.”

Continue lendo “O que o programador JavaScript deve saber”

Novas atualizações Node.js 12

O Node.js recentemente lançou a versão 12 do Node.js, adicionando melhorias através da V8 JavaScript engine, melhora no desempenho de inicialização, módulos ES6, entre outros.

O projeto Node.js segue uma estratégia LTS (Long Term Support). Os desenvolvedores devem saber que as novas atualizações não estarão prontas em termos LTS até Outubro de 2019. Até lá, os desenvolvedores estão encorajados a reportar questões que eles encontrarem usando o Node.js 12, e essas questões serão resolvidas antes da versão LTS estar completa.

A versão Transport Layer Security (TLS) no Node.js está atualmente na versão TLS 1.3 por padrão, ela inclui numerosas mudanças na criação do protocolo e tornando sua configuração mais direta e segura. Mais além, a TLS 1.3 inclui melhorias no sigilo de encaminhamento e modos de criptografia mais seguros.

O Node.js 12 deixa mais fácil a configuração dos limites do heap, melhorando significativamente o desempenho ao trabalhar com grandes quantias de dados. A atualização para os limites do heap configura o tamanho do heap JavaScript como uma função de memória disponível, em lugar dos padrões V8 para navegadores da web.

Continue lendo “Novas atualizações Node.js 12”

Amazon GameLift, o seu servidor JavaScript na AWS

Conheça o Amazon GameLift, o servidor ideal para seus jogos.

A Amazon tornou disponíveis servidores em tempo real do GameLift. Você pode, com poucas linhas de JavaScript, criar um servidor de jogos e escalar para seus jogos por uma fração de centavo por jogador por mês.

Sendo uma hospedagem de servidores de jogos dedicados na nuvem, o GameLift consegue maximizar a economia, diminuindo também a latência e o tempo de espera. Veja:

Latência mediana global: 45 ms;

Economia de custo em comparação com soluções co-location: até 70% de economia;

Para iniciar um jogo (incluindo grupos de jogadores em sessões de jogos rapidamente: 100 ms.

Com o GameLift, você poderá focar no seu jogo, dispondo de total atenção para o desenvolvimento, e dispondo menos do seu tempo a se dedicar ao servidor.


Acelerando o desenvolvimento dos jogos:

Com o GameLift da Amazon, é possível enviar o jogo com maior agilidade e oferecendo aos jogadores a experiência que eles esperam. Como a Amazon faz isso?

Escala automaticamente a capacidade do servidor de acordo com o tráfego dos players: Você deixa de pagar por capacidade que não está sendo utilizada quando o tráfego de jogadores está baixo;


Matchmaking flexível:

Você pode usar a solução personalizada da Amazon, chamada FlexMatch para criar jogos competitivos, ou pode usar seu próprio serviço de matchmaking.


Sem inatividade para atualizações:

Precisa lançar atualizações ou novos conteúdos? Com o GameLift ps servidores ficarão ativos 24 horas por dia, 7 dias por semana.


Suporte ao jogo em plataformas cruzadas:

A comunidade fica conectada a todos os tipos de dispositivos, ampliando o grupo de jogadores.


 

Funciona com mecanismos e fluxos de trabalho existentes:

Você pode colocar os servidores em operação na nuvem, integrando facilmente o SDK do Amazon GameLift com mecanismos AAA como Unity, Unreal, Lumberyard ou soluções internas desenvolvidas em C++.


Como usar o Amazon GameLift?

Você pode colocar seus servidores dedicados de jogos em operação com três etapas fáceis:

Cadastre-se em uma conta da AWS (leva menos de cinco minutos e a inscrição será totalmente gratuita no nível gratuito da AWS).

Faça o upload da compilação: Comece a usar o Amazon GameLift.

Implante os servidores de jogo: aprenda a implantar um servidor de jogo com a amostra de servidor da Amazon e veja os dados de jogadores e sessões criadas no painel ao vivo da Amazon GameLift.

Confira mais detalhes no link: https://aws.amazon.com/pt/gamelift/


Definições de preço:

Utilizando o Amazon GameLift, você paga apenas pela capacidade utilizada, não sendo necessário desenbolsar por espaço ocioso. O GameLift cobra as instâncias por tempo de uso e quantidade de dados transferidos.

Veja um exemplo de definição de preço em: https://aws.amazon.com/pt/gamelift/pricing/#gamelift-example


Reduza os gastos usando Auto Scaling:

O Autoscaling do Amazon GameLift pode desativar automaticamente servidores de jogos quando não forem necessários e adicionar novos quando surgirem mais jogadores. O GameLift disponibiliza instâncias spot e sob demanda. Com instâncias spot, você pode ter uma economia de até 90%, mas obtendo o mesmo hardware de alta performance que com as sob demanda. Com o recurso FleetIQ, novas sessões serão colocadas em servidores de jogos com base nas latências do jogador, nos preços das instâncias e nas taxas de interrupção do spot. Saiba mais em: https://aws.amazon.com/pt/blogs/gametech/reduce-cost-by-up-to-90-with-amazon-gamelift-fleetiq-and-spot-instances/


Instâncias do Amazon GameLift:

Com as instâncias spot do Amazon GameLift, você paga o preço spot vigente no início de cada hora da instância em execução. Os preços são definidos pela AWS e são ajustados de acordo com tendências de oferta e demanda de instâncias spot no longo prazo, nunca excedendo os preços sob demanda. Se o preço spot for alterado após a execução da instância, o novo preço será cobrado para uso da instância na hora subsequente.

Veja as tabelas dos valores por hora das instâncias spot e sob demanda separadas por tipo de instância e região em: https://aws.amazon.com/pt/gamelift/pricing/


EXPLORANDO O JAVASCRIPT NA AWS:

AWS SDK para JavaScript no Node.js:

Comece a usar rapidamente a AWS com o AWS SDK para JavaScript em Node.js. Para mais informações: https://aws.amazon.com/pt/sdk-for-node-js/

AWS SDK para JavaScript no navegador:

O AWS SDK para JavaScript permite que você acesse diretamente os serviços da AWS por meio do código JavaScript em execução no navegador. Mais informações em:

https://aws.amazon.com/pt/sdk-for-browser/


Biblioteca do AWS Amplify para web e React Native:

Escolha seus serviços de nuvem e conecte-os facilmente ao seu aplicativo com poucas linhas de código. Acesse:https://aws-amplify.github.io/


Implante Node.js no Elastic Beanstalk:

Com o Elastic Beanstalk, é fácil implantar, escalar e gerenciar seus aplicativos web Node.js usando a AWS, estando disponível para qualquer pessoa que esteja hospedando ou desenvolvendo um aplicativo web usando Node.js. Acesse:

https://docs.aws.amazon.com/pt_br/elasticbeanstalk/latest/dg/create_deploy_nodejs.html


Implante Node.js no AWS OpsWorks:

o AWS OpsWorks permite:

Criação de servidores Puppet Master gerenciados pelo AWS para Puppet Enterprise;

Criação de servidores gerenciados pelo Chef na AWS, incluindo recursos especiais do Chef Automate e usando o Chef DK e outras ferramentas de gerenciamento do Chef.

AWS OpsWorks Stacks: implantar e monitorar aplicativos nas suas pilhas. O Stacks não requer nem cria servidores do Chef, mas executa algumas das tarefas de um servidor do Chef por você.

Acesse mais informações em:

https://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/welcome.html