Q News Google Ad abandona completamente Flash, 100% para HTML5; Tecnologia a ser revogada em .NET Core; Angular Releases 1.5 Lançamento oficial

1
Anúncios do Google abandonam flash completamente, 100% voltapara HTML5

A morte longa e dolorosa do Adobe Flash continua enquanto a Rede de Exibição do Google anuncia que em breve deixará de veicular anúncios em Flash.

Em uma postagem no blog compartilhada na página do Google Plus do Google Plus do Google, a Google Display Network e o DoubleClick disseram que "para dar a mais pessoas uma melhor experiência de navegação em mais dispositivos", google display network e DoubleClick O Marketing Digital está agora 100% para html5. "

A partir de 30 de junho de 2016, o AdWords e o DoubleClick não permitirão mais uploads de anúncios construídos com flash. A partir de 2 de janeiro de 2017, os anúncios em Flash não serão executados na Google Display Network ou no DoubleClick. O Google continuará a fornecer ajuda do Google ao Google para ajudar os anunciantes a ajudá-los a fazer a transição para html5.

A alteração também afetou a ferramenta Flash-to-HTML5 do Google, swiffy, que não será convertida com novos anúncios a partir de julho de 2016. O Google recomenda que os usuários visitem a página de ajuda do Google AdWords para obter mais informações sobre recursos que convertam anúncios em Flash em anúncios HTML5.

A maioria das comunidades não ficou surpresa com as notícias do Google, e muitos comentaristas saudaram o anúncio da empresa.

O futuro de Flash está em dúvida há algum tempo. Em 2015, a InfoQ informou que a Mozilla tinha "inadimplente" para bloquear o Flash no Firefox quando a Adobe anunciou duas grandes vulnerabilidades. E o artigo de pesquisa da InfoQ Flash está fogo: Você só usa HTML5/JavaScript? HTML5 recebeu uma classificação de relevância de 89%, enquanto o Adobe Flash recebeu uma classificação de relevância inferior a 50%.

É claro que a Adobe também ajudou a trazer o fim do Flash, anunciando no final de 2015 que mudaria seu nome para Animate CC para mostrar que estaria mais focada em HTML5.

Em novembro de 2015, Rich Lee, gerente sênior de marketing de produtos da Adobe, escreveu que mais de um terço do conteúdo criado usando o Flash Professional usou HTML5. Lee diz que a ferramenta foi completamente reescrita ao longo dos últimos anos "para incluir o suporte nativo html5 canvas e WebGL" "devido ao advento do HTML5 e à necessidade de tirar proveito da animação padrão da Web".

Em uma postagem no blog confirmando o "Animate CC Is Coming" em 8 de fevereiro de 2016, Lee disse que, além da mudança de nome, a Animate foi um dos "lançamentos mais significativos da empresa até o momento".

Não parece uma coincidência que o anúncio coincide com o anúncio do Google AdWords. As principais características do Animate incluem "o suporte de modelos html5 canvas e permitir que os desenvolvedores personalizem com qualquer editor de código (por exemplo, os desenvolvedores podem adicionar scripts para rastreamento Doubleclick ou AOL) e suporte para integração Typekit com documentos HTML5 Canvas". "

Outras melhorias e atualizações para Animate CC incluem a substituição das bibliotecas dedicadas usadas em versões anteriores com a versão mais recente da biblioteca Combined CreateJS. Adobe diz que o objetivo da mudança é reduzir o número de chamadas de servidor de saída de lona HTML5 publicada alimentando-se para melhorar o desempenho.

Animate também melhora a UI HTML5 Spritesheet, que fornece controles separados sobre as configurações PNG e JPEG que podem ser habilitadas ou proibidas. O conteúdo animado também pode ser importado para arquivos plug-in de animação OAM (.oam) de ActionScript, WebGL ou HTML5 Canvas.

A atualização mais recente sobre o roteiro do Adobe Flash Runtime foi em março de 2015, e a Adobe não forneceu nenhuma informação mais próxima sobre o futuro do Flash.

Inglês original:http://www.infoq.com/news/2016/02/google-flash-ads-html5

2
Tecnologia que será revogada em .NET Core

Embora haja uma parte do existente. Aplicações NET, especialmente ASP.NET aplicativos baseados em MVC, será capaz de migrar relativamente simplesmente para .NET Core, mas outra parte. Os aplicativos NET podem ter alguns problemas durante a migração. Alguns problemas são óbvios, como a mudança de aplicativos WinForms ou WPF para aplicativos Windows Universal (UWP), enquanto outros são mais sutis, e isso se relaciona com a implementação mais subjacente da funcionalidade principal da estrutura .NET.

Reflexão

A api reflexo fez uma grande diferença em .NET Core. Como em winRT, a reflexão é dividida em uma versão leve e uma versão mais cara. Immo Landwerth da Microsoft escreveu:

Quando lançamos .NET Native, usamos uma técnica que nos permitiu fazer links estáticos para a estrutura e dependências de terceiros. Para que essa funcionalidade de link funcione, ela deve ser capaz de identificar a parte do recurso de estrutura que não é usado em seu aplicativo. Esse processo não é complicado para outras tecnologias, como a C, porque o sistema não tem a capacidade dinâmica de refletir. Claro, a reflexão ainda é apoiada em .NET Native, mas queremos tornar esta plataforma o mais baixo possível, o que significa que você não precisa adicionar despesas gerais para recursos que você não precisa. Isto é especialmente verdadeiro para a reflexão, porque impõe grandes restrições sobre o que o tempo de execução e compiladores podem fazer com base em informações estáticas.

Portanto, idealmente, a reflexão deve ser um componente opcional em .NET Core, e você pode optar por desistir completamente em seu próprio aplicativo. O problema é que System.Object depende de reflexão apenas quando ele faz Object.GetType (). Para quebrar essa dependência, decidimos deixar system.Type parar de apresentar todo o tipo de informação de reflexão, mas apenas o nome do tipo. Isso também significa que system.type in .NET Core não inclui mais APIs como GetMembers (), mas ainda expõe APIs como nome.

Um método de extensão chamado GetTypeInfo permite obter as informações que você pode obter a partir do objeto tipo em geral. A classe TypeInfo contém menos informações do que costumava ser, mas a Microsoft decidiu recentemente reintroduzir uma parte da API de reflexão em .NET Core, uma mudança que estava além de seu plano original.

Para facilitar a porta do código, as versões .NET 4.5 e posteriores fornecem algum suporte para o TypeInfo, semelhante à versão usada em .NET Core.

Domínio do aplicativo

O Domínio do Aplicativo foi implementado no CoreCLR, mas não em .NET Native. Como a implementação do Domínio do Aplicativo requer muito suporte de recursos de tempo de execução, atualmente não há plano de suporte para o domínio do aplicativo. "Para isolamento de código, recomendamos implementá-lo por meio de processos ou contêineres. Para o carregamento dinâmico das montagens, recomendamos o uso da nova classe AssemblyLoadContext. "

Remoting

Hoje, poucos desenvolvedores podem se lembrar da existência da biblioteca Remoting, muito menos como usá-lo. Mesmo que alguém esteja usando, eles têm se queixado de seu desempenho, alta complexidade e vulnerabilidade geral de desempenho.

Hoje, múltiplos. Os aplicativos NET são amplamente substituídos pelo WCF, que proporciona um melhor desempenho para arquivos de mapeamento de pipeline ou memória. Para comunicações entre máquinas, a Microsoft recomenda "usar um protocolo de texto simples de baixo custo, como o HTTP". Como resultado, a Microsoft não apoiou o programa da Remoting em .NET Core.

Serialização

.Net Core apoiará a maioria dos serializers, como serialização de contrato de dados, serialização XML, JSON. NET, bem como protobuf-net. Um papel importante que é excluído é a serialização binária.

Ao longo da experiência desta década, finalmente aprendemos que a serialização é uma tarefa muito complexa, e que os tipos que apoiam a serialização enfrentam um fardo pesado em termos de compatibilidade. Portanto, decidimos fazer da serialização um protocolo que será implementado com base nas APIs abertas disponíveis. No entanto, a implementação da serialização binária requer uma compreensão mais profunda do tipo em si, pois pode serializar todo o gráfico de objeto, incluindo até mesmo informações privadas do estado.

Sandbox

Em teoria, uma caixa de areia é uma excelente idéia que permite que o código de confiança parcial para executar de forma segura. Na prática, no entanto, é muito difícil aplicá-lo corretamente, e até mesmo uma pequena quantidade de erro pode levar a vulnerabilidades de segurança. Immo Landwerth também diz que "torna a implementação mais difícil e muitas vezes impacta negativamente no desempenho de aplicativos que não usam caixas de areia". "

A alternativa recomendada é executá-los através de uma conta de usuário com permissões limitadas usando um processo separado. Desta forma, o tempo de execução não tem que repetir alguma verificação de permissão caro, porque o sistema operacional já fez isso por você.

Outros componentes

A Microsoft está considerando abrir a fonte dos componentes listados na tabela abaixo e porta-los para .NET Core.

  • System.Data. Embora seus recursos de camada subjacentes, o modelo do provedor e o cliente SQL, tenham se tornado parte do .NET Core, alguns recursos ainda não estão disponíveis, como suporte para DataschemaTable e DataSet.

  • System.Directory Services..NET Core atualmente não apoia a comunicação com o LDAP ou o diretório ativo através deste componente.

  • System.Drawing. Embora deva ser uma API do cliente em um sentido estrito, ainda há um grande número de desenvolvedores do lado do serviço para implementar a geração de miniaturas ou marca d'água através da API de desenho. Atualmente, não apoiamos o uso dessas APIs em .NET Core.

  • System.Transactions. Embora ADO.NET suporte transações, não inclui suporte para transações distribuídas, que incluem os conceitos de transações ambientais e coleta de recursos.

  • System.Xml.Xsl e System.Xml.Schema. .NET Core suporta XmlDocument e XDocument, incluindo XPath, introduzido pela Linq. No entanto, XSD (XmlSchema) e XSLT (XslTransform) ainda não são suportados.

  • System.Net.Mail. O e-mail não é atualmente suportado no .NET Core através dessas APIs.

  • System.IO.Ports. .NET Core atualmente não suporta a comunicação com portas serializadas.

  • Fluxo de trabalho do sistema. A Fundação windows workflow (WF) está atualmente indisponível em .NET Core.

  • Sistema.Xaml. Ao desenvolver um aplicativo UWP, os desenvolvedores usarão a API WinRT XAML. Portanto, .NET Core atualmente não suporta a estrutura XAML gerenciada, que inclui a capacidade de analisar xaml e instantiate a descrição de diagramas de objetos.

Você está interessado em nos ajudar a portar um componente? Parte do código fonte implementado pelo Quadro .NET foi de código aberto através de licenças do MIT como parte da Fonte de Referência. Estamos tentando fazer com que a comunidade apoie nossos esforços de transplante. Se você quiser participar deste projeto, envie um e-mail para immol@microsoft.com.

Inglês original:http://www.infoq.com/news/2016/02/Core-Discontinued

3
Lançamento 1.5 Lançamento oficial, com foco na transição para angular 2

A equipe angular lançou recentemente a versão oficial do Angular 1.5, que entregou uma grande atualização que deixou a empresa ainda em uso com 1. Os desenvolvedores da versão X serão capazes de facilitar a transição para o desenvolvimento angular 2.

Pete Bacon Darwin escreveu em um post no blog no anúncio de que o objetivo do lançamento era "melhorar o caminho de atualização para angular 2." Introduzimos alguns novos recursos neste lançamento que aproximam o aplicativo Angular 1 escrito pelos desenvolvedores da estrutura do aplicativo no aplicativo em 2. "

Nesta versão, o novo módulo.componente() secundário é a maior mudança para a transição para angular 2. Ao usar essa abordagem, os desenvolvedores não precisam mais seguir a definição tradicional de estilo de objeto para escrever diretiva. Se o leitor já está familiarizado com a forma angular 2 está escrito, ele deve estar ciente desta semelhança. No artigo, o autor apresenta um exemplo de como definir um novo componente:

myModule.component('myComponent', {  template: '<h1>Hello {{ $ctrl.getFullName() }}</h1>',  bindings: { firstName: '<', lastName: '<' },  controller: function() {    this.getFullName = function() {      return this.firstName + ' ' + this.lastName;    };  } });

Antes do advento do componente, os desenvolvedores só podiam usar, ou através do uso não convencional do controlador, para implementar determinados cenários. Isso não quer dizer que o componente irá substituir completamente o papel da diretiva, por exemplo, componente não pode ser usado para manipular o DOM, e todos os componentes devem ser ativados por elementos HTML personalizados, ao invés de desencadear através das propriedades do elemento. Componente, conforme definido da maneira acima, pode ser usado pelo seguinte código:

<my-component first-name="'Alan'" last-name="'Rickman'"></my-component>

O novo guia de componentes fornece uma descrição mais completa da diferença entre a diretiva tradicional e o componente.

  • Ligação univial

  • Ganchos do ciclo de vida

  • Vinculativo à diretiva exigida

  • Transclusão com múltiplas faixas horárias

  • Conteúdo de transclusão padrão

Os desenvolvedores que usam atualmente a versão 1.4 podem ler o guia de migração para entender quais as mudanças necessárias são necessárias para migrar, já que algumas alterações disruptivas são introduzidas na versão 1.5.

Versão 1.5 deve ser a maior mudança por um período previsível de tempo. Quando infoq perguntou Bacon Darwin onde a versão 1.X iria, ele respondeu:

Ainda não começamos a planejar o próximo ciclo de lançamento para o Angular 1. Como a data de lançamento oficial para 2 está se aproximando, se continuarmos a desenvolver angular 1, vamos tentar aproximá-lo de Angular 2. Se mudanças destrutivas forem necessárias para alcançar isso, a versão 1.6 pode ser esperada. Ao mesmo tempo, continuaremos o desenvolvimento da versão Angular 1.5.x, fornecendo correções de bugs e alguns recursos menores. Em suma, isso não se acodere com o nosso objetivo de tornar mais fácil migrar para angular 2.

O novo recurso roteador deve ser lançado ainda esta semana.

Inglês original:http://www.infoq.com/news/2016/02/angular-1-5-released


Este artigo é um lançamento original do InfoQ e foi recusado para reprodução não autorizada.

InfoQ Editor de Tradução Original e Recrutamento editor de tecnologia, retomar fast hit: editors@cn.infoq.com