Q Notizie Google Ad abbandona completamente Flash, 100% a HTML5; Tecnologia per essere abrogato a .NET Core; Angular Releases 1.5 Versione ufficiale

1
Google Ads Abandon Flash Complessivamente, 100% Girare a HTML5

La lunga e dolorosa scomparsa di Adobe Flash continua mentre la Rete Display di Google annuncia che presto smetterà di pubblicare annunci Flash.

In un post sul blog condiviso sulla pagina AdWords Google Plus, Google Display Network e DoubleClick hanno detto che "al fine di offrire a più persone una migliore esperienza di navigazione su più dispositivi", Google Display Network e DoubleClick Il Digital Marketing è ora 100% a HTML5. "

A partire dal 30 giugno 2016, AdWords e DoubleClick non consentiranno più i caricamenti di annunci creati con Flash. A partire dal 2 gennaio 2017, gli annunci Flash non verranno pubblicati su Google Display Network o DoubleClick. Google continuerà a fornire aiuto ad AdWords agli inserzionisti per aiutarli a passare a HTML5.

La modifica ha interessato anche lo strumento Flash-to-HTML5 di Google, Swiffy, che non verrà convertito con nuovi annunci a partire da luglio 2016. Google consiglia agli utenti di visitare la pagina di aiuto di AdWords per ulteriori informazioni sulle risorse che convertono gli annunci Flash in annunci HTML5.

La maggior parte delle comunità non fu sorpresa dalle notizie di Google e molti commentatori accolsero con favore l'annuncio dell'azienda.

Il futuro di Flash è in dubbio da qualche tempo. Nel 2015, InfoQ ha riferito che Mozilla aveva "default" per bloccare Flash in Firefox come Adobe ha annunciato due principali vulnerabilità. E l'articolo di ricerca di InfoQ "Flash è sotto il fuoco: usi solo HTML5/JavaScript?" HTML5 ha ricevuto una valutazione di pertinenza dell'89%, mentre Adobe Flash ha ricevuto una percentuale di pertinenza inferiore al 50%.

E 'chiaro che Adobe ha anche contribuito a portare la fine di Flash, annunciando alla fine del 2015 che avrebbe cambiato il suo nome in Animate CC per mostrare che sarebbe più focalizzato su HTML5.

Nel novembre 2015, Rich Lee, senior product marketing manager di Adobe, ha scritto che più di un terzo dei contenuti creati utilizzando Flash Professional ha utilizzato HTML5. Lee dice che lo strumento è stato completamente riscritto nel corso degli ultimi anni "per includere nativo HTML5 Canvas e supporto WebGL" "a causa dell'avvento di HTML5 e la necessità di sfruttare l'animazione standard Web."

In un post sul blog che conferma "Animate CC Is Coming" l'8 febbraio 2016, Lee ha detto che, oltre al cambio di nome, Animate è stata una delle "versioni più significative dell'azienda fino ad oggi".

Non sembra una coincidenza che l'annuncio coincida con l'annuncio di AdWords di Google. Le funzionalità principali di Animate includono "supporto dei modelli Canvas HTML5 e la possibilità per gli sviluppatori di personalizzare con qualsiasi editor di codice (ad esempio, gli sviluppatori possono aggiungere script per il monitoraggio Doubleclick o AOL) e il supporto per l'integrazione typekit con i documenti Canvas HTML5." "

Altri miglioramenti e aggiornamenti ad Animate CC includono la sostituzione delle librerie dedicate utilizzate nelle versioni precedenti con l'ultima versione della libreria Combined CreateJS. Adobe dice che l'obiettivo della modifica è ridurre il numero di chiamate al server dall'output HTML5 Canvas pubblicato per migliorare le prestazioni.

Animate migliora anche l'interfaccia utente di HTML5 Spritesheet, che fornisce controlli separati sulle impostazioni PNG e JPEG che possono essere abilitate o escluse. Il contenuto di Animate può anche essere importato in file di plug-in di animazione OAM (.oam) da ActionScript, WebGL o HTML5 Canvas.

L'aggiornamento più recente della roadmap di Adobe Flash Runtime è stato marzo 2015 e Adobe non ha fornito informazioni più approfondite sul futuro di Flash.

Inglese originale:http://www.infoq.com/news/2016/02/google-flash-ads-html5

2
Tecnologia che verrà abrodata in .NET Core

Anche se c'è una parte dell'esistente. Le applicazioni NET, in particolare ASP.NET applicazioni basate su MVC, saranno in grado di eseguire la migrazione relativamente semplicemente a .NET Core ma un'altra parte. Le app NET potrebbero verificarsi alcuni problemi durante la migrazione. Alcuni problemi sono ovvi, ad esempio lo spostamento dalle applicazioni WinForms o WPF alle applicazioni Windows universali (UWP), mentre altri sono più sottili, e questo si riferisce all'implementazione più sottostante delle funzionalità di base di .NET Framework.

Riflessione

L'API di reflection ha fatto una grande differenza in .NET Core.The reflection API has made a big difference in .NET Core. Come in winRT, la riflessione è divisa in una versione leggera e una versione più costosa. Immo Landwerth di Microsoft ha scritto:

Quando abbiamo lanciato .NET Native, abbiamo usato una tecnica che ci ha permesso di creare collegamenti statici al framework e alle dipendenze di terze parti. Affinché questa funzionalità di collegamento funzioni, deve essere in grado di identificare la parte della funzionalità del framework non utilizzata nell'app. Questo processo non è complicato per altre tecnologie, come C, perché il sistema non ha la capacità dinamica di riflettere. Naturalmente, la reflection è ancora supportata in .NET Native, ma vogliamo rendere questa piattaforma il più bassa possibile, il che significa che non è necessario aggiungere overhead per le funzionalità non necessarie. Ciò è particolarmente vero per la reflection perché impone grandi restrizioni su ciò che il runtime e compilatori possono fare in base alle informazioni statiche.

Pertanto, idealmente, la reflection dovrebbe essere un componente facoltativo in .NET Core ed è possibile scegliere di rinunciare completamente nella propria app. Il problema è che System.Object si basa sulla reflection solo quando esegue Object.GetType(). Per interrompere questa dipendenza, si è deciso di consentire a System.Type di interrompere la presentazione dell'intera informazione sul tipo di reflection, ma solo il nome del tipo. Ciò significa anche che System.Type in .NET Core non include più API come GetMembers(), ma espone comunque API come Name.This also means also that System.Type in .NET Core no longer includes APIs such as GetMembers(), but still exposes APIs such as Name.

Un metodo di estensione denominato GetTypeInfo consente di ottenere le informazioni che è possibile ottenere dall'oggetto Type in generale. La classe TypeInfo contiene meno informazioni di prima, ma Microsoft ha recentemente deciso di reintrodurre una parte dell'API di reflection in .NET Core, una modifica che va oltre il piano originale.

To make it easier for code to port, the .NET 4.5 and later versions provide some support for TypeInfo, similar to the version used in .NET Core.

Dominio dell'app

Il dominio applicazione è stato implementato in CoreCLR, ma non in .NET Native. Poiché l'implementazione del dominio applicazione richiede molto supporto per le funzionalità di runtime, attualmente non esiste alcun piano di supporto per il dominio dell'app. "Per l'isolamento del codice, è consigliabile implementarlo tramite processi o contenitori. Per il caricamento dinamico degli assembly, è consigliabile usare la nuova classe AssemblyLoadContext.For dynamic loading of assemblies, we recommend using the new AssemblyLoadContext class. "

Remoting

Oggi, pochi sviluppatori possono ricordare l'esistenza della libreria Remoting, figuriamoci come usarlo. Anche se qualcun altro lo sta usando, si sono lamentati per le sue prestazioni, alta complessità, e vulnerabilità generale delle prestazioni.

Oggi, multiplo. Le applicazioni NET vengono in gran parte sostituite da WCF, che offre prestazioni migliori per i file di mapping della pipeline o della memoria. Per le comunicazioni tra computer, Microsoft consiglia di "utilizzare un protocollo di testo normale a basso costo, ad esempio HTTP". Di conseguenza, Microsoft non supportava il programma Remoting in .NET Core.

Serializzazione

.NET Core supporterà la maggior parte dei serializzatori, ad esempio la serializzazione del contratto dati, la serializzazione XML e JSON. NET e protobuf-net. Un ruolo importante escluso è la serializzazione binaria.

Attraverso l'esperienza di questo decennio, abbiamo finalmente imparato che la serializzazione è un'attività molto complessa e che i tipi che supportano la serializzazione devono affrontare un pesante onere in termini di compatibilità. Pertanto, abbiamo deciso di rendere la serializzazione un protocollo che verrà implementato in base alle API aperte disponibili. Tuttavia, l'implementazione della serializzazione binaria richiede una comprensione più approfondita del tipo stesso, in quanto può serializzare l'intero oggetto grafico, incluse anche le informazioni sullo stato privato.

Sandbox

In teoria, una sandbox è un'ottima idea che consente l'esecuzione sicura del codice con attendibilità parziale. In pratica, tuttavia, è molto difficile applicarlo correttamente e anche una piccola quantità di errore può portare a vulnerabilità della sicurezza. Immo Landwerth dice anche che "rende l'implementazione più difficile e spesso influisce negativamente sulle prestazioni delle applicazioni che non utilizzano sandbox". "

L'alternativa consigliata consiste nell'eseguirli tramite un account utente con autorizzazioni limitate utilizzando un processo separato. In questo modo, il runtime non deve ripetere alcuni costosi controlli delle autorizzazioni perché il sistema operativo ha già fatto questo per voi.

Altri componenti

Microsoft sta prendendo in considerazione l'apertura di origine dei componenti elencati nella tabella seguente e il loro porting a .NET Core.

  • System.Data. Sebbene le funzionalità di livello sottostante, il modello di provider e il client SQL, siano diventati parte di .NET Core, alcune funzionalità non sono ancora disponibili, ad esempio il supporto per DataschemaTable e DataSet.

  • System.Directory Services..NET Core attualmente non supporta la comunicazione con LDAP o active Directory tramite questo componente.

  • System.Drawing. Anche se dovrebbe essere un'API client in senso stretto, ci sono ancora un gran numero di sviluppatori sul lato servizio per implementare la generazione di anteprima o filigrana tramite l'API di disegno. Attualmente non è supportato l'utilizzo di queste API in .NET Core.We do not currently support the use of these APIs in .NET Core.

  • System.Transactions. Sebbene ADO.NET supporti le transazioni, non include il supporto per le transazioni distribuite, che includono i concetti di transazioni di ambiente e raccolta di risorse.

  • System.Xml.Xsl e System.Xml.Schema. .NET Core supportano XmlDocument e XDocument, incluso XPath, introdotti da Linq. Tuttavia, XSD (XmlSchema) e XSLT (XslTransform) non sono ancora supportati.

  • System.net.mail. La posta elettronica non è attualmente supportata in .NET Core tramite queste API.

  • System.IO.Ports. .NET Core non supporta attualmente la comunicazione con le porte serializzate.

  • System.Workflow. Windows Workflow Foundation (WF) non è attualmente disponibile in .NET Core.

  • System.Xaml. Quando sviluppi un'app UWP, gli sviluppatori utilizzeranno l'API XAML WinRT. Pertanto, .NET Core attualmente non supporta il framework XAML gestito, che include la possibilità di analizzare XAML e creare un'istanza della descrizione dei diagrammi a oggetti.

Sei interessato ad aiutarci a portare un componente? Parte del codice sorgente implementato da .NET Framework è stato opensource tramite licenze MIT come parte di The Reference Source. Stiamo cercando di convincere la comunità a sostenere i nostri sforzi di trapianto. Se desideri partecipare a questo progetto, invia un'e-mail a immol@microsoft.com.

Inglese originale:http://www.infoq.com/news/2016/02/Core-Discontinued

3
Rilascio ufficiale della Release 1.5, concentrandosi sulla transizione all'angolare 2

Il team angolare ha recentemente rilasciato la versione ufficiale di Angular 1.5, che ha consegnato un importante aggiornamento che ha lasciato l'azienda ancora in uso con 1. Gli sviluppatori della versione X saranno in grado di rendere più facile la transizione allo sviluppo angolare 2.

Pete Bacon Darwin ha scritto in un post sul blog nell'annuncio che lo scopo del rilascio era quello di "migliorare il percorso di aggiornamento per Angular 2." Sono state introdotte alcune nuove funzionalità di questa versione che portano l'app Angular 1 scritta dagli sviluppatori più vicino alla struttura dell'applicazione nell'applicazione in 2. "

In questa versione, il nuovo modulo.component() secondario è la modifica più grande della transizione ad Angular 2. Utilizzando questo approccio, gli sviluppatori non devono più seguire la definizione tradizionale dello stile di oggetto per scrivere direttiva. Se il lettore ha già familiarità con il modo in cui Angular 2 è scritto, egli dovrebbe essere consapevole di questa somiglianza. Nell'articolo, l'autore presenta un esempio di come definire un nuovo componente:

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

Prima dell'avvento del componente, gli sviluppatori potevano utilizzare solo, o attraverso l'uso non convenzionale del controller, per implementare determinati scenari. Ciò non significa che il componente sostituirà completamente il ruolo della direttiva, ad esempio, il componente non può essere utilizzato per modificare il DOM e tutti i componenti devono essere attivati da elementi HTML personalizzati, anziché attivare tramite le proprietà dell'elemento. Componente, come definito nel modo precedente, può essere utilizzato dal codice seguente:

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

La nuova guida dei componenti fornisce una descrizione più completa della differenza tra la direttiva tradizionale e il componente.

  • Rilegatura unidirezionale

  • Ganci del ciclo di vita

  • Associazione alla direttiva obbligatoria

  • Trasclusione con slot multipli

  • Contenuto di trasclusione predefinito

Gli sviluppatori che attualmente utilizzano la versione 1.4 possono leggere la guida alla migrazione per comprendere quali modifiche necessarie sono necessarie per la migrazione, poiché alcune modifiche dirompenti sono state introdotte nella versione 1.5.

La versione 1.5 dovrebbe essere il cambiamento più grande per un periodo di tempo prevedibile. Quando InfoQ chiese a Bacon Darwin da dove sarebbe andata la versione 1.X, rispose:

Non abbiamo ancora iniziato a pianificare il prossimo ciclo di rilascio per Angular 1. Poiché la data di rilascio ufficiale per 2 si sta avvicinando, se continuiamo a sviluppare Angolare 1, cercheremo di avvicinarla ad Angular 2. Se sono necessarie modifiche distruttive per ottenere questo risultato, è possibile prevedere la versione 1.6.If destructive changes are required to achieve this, version 1.6 can be expected. Allo stesso tempo, continueremo lo sviluppo della versione Angolare 1.5.x, fornendo correzioni di bug e alcune funzionalità più piccole. Tutto sommato, questo non è in conflitto con il nostro obiettivo di rendere più facile la migrazione ad Angular 2.

La nuova funzionalità del router dovrebbe essere rilasciata entro la fine della settimana.

Inglese originale:http://www.infoq.com/news/2016/02/angular-1-5-released


Questo articolo è un lancio originale di InfoQ ed è stato rifiutato per riproduzione non autorizzata.

InfoQ Original Translation Editor e Technology Editor Reclutamento, Curriculum Fast Hit: editors@cn.infoq.com