Q Noticias Google Ad abandona completamente Flash, 100% a HTML5; Tecnología que debe ser derogada en .NET Core; Versiones angulares 1.5 Comunicado oficial

1
Google Ads abandona Flash en conjunto, 100% recurre a HTML5

La larga y dolorosa desaparición de Adobe Flash continúa cuando la Red de Display de Google anuncia que pronto dejará de publicar anuncios Flash.

En una entrada de blog compartida en la página de AdWords Google Plus, Google Display Network y DoubleClick dijeron que "con el fin de dar a más personas una mejor experiencia de navegación en más dispositivos", Google Display Network y DoubleClick El marketing digital ahora es 100% para HTML5. "

A partir del 30 de junio de 2016, AdWords y DoubleClick ya no permitirán cargas de anuncios creadas con Flash. A partir del 2 de enero de 2017, los anuncios Flash no se publicarán en la Red de Display de Google ni en DoubleClick. Google seguirá proporcionando ayuda de AdWords a los anunciantes para ayudarles a realizar la transición a HTML5.

El cambio también afectó a la herramienta Flash-to-HTML5 de Google, Swiffy, que no se convertirá con nuevos anuncios a partir de julio de 2016. Google recomienda que los usuarios visiten la página de Ayuda de AdWords para obtener más información sobre los recursos que convierte los anuncios Flash en anuncios HTML5.

La mayoría de las comunidades no se sorprendieron por las noticias de Google, y muchos comentaristas acogieron con beneplácito el anuncio de la compañía.

El futuro de Flash ha estado en duda durante algún tiempo. En 2015, InfoQ informó que Mozilla había "predeterminado" para bloquear Flash en Firefox como Adobe anunció dos vulnerabilidades principales. Y el artículo de investigación de InfoQ "Flash está bajo fuego: ¿Solo usas HTML5/JavaScript?" HTML5 recibió una calificación de relevancia del 89%, mientras que Adobe Flash recibió una calificación de relevancia inferior al 50%.

Está claro que Adobe también ayudó a poner fin a Flash, anunciando a finales de 2015 que cambiaría su nombre a Animate CC para mostrar que estaría más centrado en HTML5.

En noviembre de 2015, Rich Lee, el gerente sénior de marketing de productos de Adobe, escribió que más de un tercio del contenido creado con Flash Professional utilizaba HTML5. Lee dice que la herramienta ha sido completamente reescrita en los últimos años "para incluir HTML5 Canvas nativo y soporte WebGL" "debido a la llegada de HTML5 y la necesidad de aprovechar la animación estándar web."

En una entrada de blog que confirmaba el "Animate CC Is Coming" el 8 de febrero de 2016, Lee dijo que, además del cambio de nombre, Animate era uno de los "lanzamientos más significativos de la compañía hasta la fecha".

No parece una coincidencia que el anuncio coincida con el anuncio de AdWords de Google. Las características clave de Animate incluyen "apoyar plantillas HTML5 Canvas y permitir a los desarrolladores personalizar con cualquier editor de código (por ejemplo, los desarrolladores pueden agregar scripts para el seguimiento de Doubleclick o AOL) y la compatibilidad con la integración de Typekit con documentos HTML5 Canvas." "

Otras mejoras y actualizaciones de Animate CC incluyen la sustitución de las bibliotecas dedicadas utilizadas en versiones anteriores con la versión más reciente de la biblioteca CreateJS combinada. Adobe dice que el objetivo del cambio es reducir el número de llamadas a servidores desde el seguimiento de salidas de HTML5 Canvas publicados para mejorar el rendimiento.

Animate también mejora la interfaz de usuario de Spritesheet HTML5, que proporciona controles independientes sobre la configuración PNG y JPEG que se pueden habilitar o prohibir. El contenido de Animate también se puede importar a archivos de complementos de animación OAM (.oam) desde ActionScript, WebGL o HTML5 Canvas.

La actualización más reciente de la hoja de ruta de Adobe Flash Runtime fue marzo de 2015, y Adobe no ha proporcionado ninguna información más detallada sobre el futuro de Flash.

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

2
Tecnología que será derogada en .NET Core

Aunque hay una parte de la existente. Las aplicaciones NET, especialmente ASP.NET aplicaciones basadas en MVC, podrán migrar relativamente simplemente a .NET Core, pero a otra parte. Las aplicaciones NET pueden experimentar algunos problemas durante la migración. Algunos problemas son obvios, como pasar de aplicaciones De WinForms o WPF a aplicaciones universales de Windows (UWP), mientras que otros son más sutiles y esto se relaciona con la implementación más subyacente de la funcionalidad principal de .NET Framework.

Reflexión

La API de reflexión ha hecho una gran diferencia en .NET Core. Al igual que en winRT, la reflexión se divide en una versión ligera y una versión más cara. Immo Landwerth de Microsoft escribió:

Cuando iniciamos .NET Native, usamos una técnica que nos permitía crear vínculos estáticos al marco de trabajo y a dependencias de terceros. Para que esta funcionalidad de vínculo funcione, debe ser capaz de identificar la parte de la característica de marco de trabajo que no se usa en la aplicación. Este proceso no es complicado para otras tecnologías, como C, porque el sistema no tiene la capacidad dinámica para reflejar. Por supuesto, la reflexión sigue siendo compatible con .NET Native, pero queremos que esta plataforma sea lo más baja posible, lo que significa que no tiene que agregar sobrecarga para las características que no necesita. Esto es especialmente cierto para la reflexión porque impone grandes restricciones sobre lo que el tiempo de ejecución y los compiladores pueden hacer en función de la información estática.

Por lo tanto, idealmente, la reflexión debe ser un componente opcional en .NET Core y puede optar por renunciar completamente a su propia aplicación. El problema es que System.Object se basa en la reflexión únicamente cuando hace Object.GetType(). Para romper esta dependencia, decidimos dejar que System.Type dejara de presentar toda la información de tipo de reflexión, pero solo el nombre del tipo. Esto también significa que System.Type en .NET Core ya no incluye API como GetMembers(), pero sigue exponiendo API como Name.

Un método de extensión denominado GetTypeInfo le permite obtener la información que puede obtener de la Type objeto en general. La clase TypeInfo contiene menos información de la que solía ser, pero Microsoft decidió recientemente reintroducir una parte de la API de reflexión en .NET Core, un cambio que estaba más allá de su plan original.

Para facilitar el puerto de código, .NET 4.5 y versiones posteriores proporcionan compatibilidad con TypeInfo, similar a la versión utilizada en .NET Core.

Dominio de la aplicación

Dominio de la aplicación se implementó en CoreCLR, pero no en .NET Native. Dado que la implementación de Dominio de la aplicación requiere mucha compatibilidad con características en tiempo de ejecución, actualmente no hay ningún plan de soporte para el dominio de aplicación. "Para el aislamiento de código, se recomienda implementarlo a través de procesos o contenedores. Para la carga dinámica de ensamblados, se recomienda usar la nueva clase AssemblyLoadContext. "

Remoting

Hoy en día, pocos desarrolladores pueden recordar la existencia de la biblioteca Remoting, y mucho menos cómo usarla. Incluso si otra persona lo está usando, se han estado quejando de su rendimiento, alta complejidad y vulnerabilidad de rendimiento general.

Hoy, en múltiples. Las aplicaciones NET se reemplazan en gran medida por WCF, que proporciona un mejor rendimiento para los archivos de asignación de memoria o canalización. Para las comunicaciones entre máquinas, Microsoft recomienda "usar un protocolo de texto sin formato de bajo costo, como HTTP." Como resultado, Microsoft no admitió el programa de Remoting en .NET Core.

Serialización

.NET Core admitirá la mayoría de los serializadores, como la serialización de contratos de datos, la serialización XML y JSON. NET, así como protobuf-net. Un rol importante que se excluye es la serialización binaria.

A través de la experiencia de esta década, finalmente hemos aprendido que la serialización es una tarea muy compleja y que los tipos que admiten la serialización se enfrentan a una pesada carga en términos de compatibilidad. Por lo tanto, hemos decidido hacer de la serialización un protocolo que se implementará sobre la base de las API abiertas disponibles. Sin embargo, la implementación de la serialización binaria requiere una comprensión más profunda del propio tipo, ya que puede serializar todo el gráfico de objetos, incluso incluida la información de estado privado.

Sandbox

En teoría, un entorno limitado es una excelente idea que permite que el código de confianza parcial se ejecute de forma segura. En la práctica, sin embargo, es muy difícil de aplicar correctamente, e incluso una pequeña cantidad de error puede conducir a vulnerabilidades de seguridad. Immo Landwerth también dice que "hace que la implementación sea más difícil y a menudo afecta negativamente al rendimiento de las aplicaciones que no utilizan entornos limitados". "

La alternativa recomendada es ejecutarlos a través de una cuenta de usuario con permisos limitados mediante un proceso independiente. De esta manera, el tiempo de ejecución no tiene que repetir alguna comprobación de permisos costosa porque el sistema operativo ya ha hecho esto por usted.

Otros componentes

Microsoft está considerando abrir el origen de origen de los componentes enumerados en la tabla siguiente y migrarlos a .NET Core.

  • System.Data. Aunque sus características de capa subyacentes, el modelo de proveedor y el cliente SQL, se han convertido en parte de .NET Core, algunas características siguen sin estar disponibles, como la compatibilidad con DataschemaTable y DataSet.

  • System.Directory Services..NET Core no admite actualmente la comunicación con LDAP o el directorio activo a través de este componente.

  • System.Drawing. Aunque debe ser una API de cliente en un sentido estricto, todavía hay un gran número de desarrolladores en el lado del servicio para implementar la generación de miniaturas o marcas de agua a través de la API de dibujo. Actualmente no se admite el uso de estas API en .NET Core.

  • System.Transactions. Aunque ADO.NET admite transacciones, no incluye compatibilidad con transacciones distribuidas, que incluyen los conceptos de transacciones ambientales y recopilación de recursos.

  • System.Xml.Xsl y System.Xml.Schema. .NET Core admite XmlDocument y XDocument, incluido XPath, introducido por Linq. Sin embargo, XSD (XmlSchema) y XSLT (XslTransform) aún no se admiten.

  • System.Net.Mail. El correo electrónico no se admite actualmente en .NET Core a través de estas API.

  • System.IO.Ports. .NET Core no admite actualmente la comunicación con puertos serializados.

  • System.Workflow. Windows Workflow Foundation (WF) no está disponible actualmente en .NET Core.

  • System.Xaml. Al desarrollar una aplicación para UWP, los desarrolladores usarán la API XAML de WinRT. Por lo tanto, .NET Core actualmente no admite el marco XAML administrado, que incluye la capacidad de analizar XAML y crear instancias de la descripción de diagramas de objetos.

¿Está interesado en ayudarnos a migrar un componente? Parte del código fuente implementado por .NET Framework se ha habilitado a través de licencias mIT como parte del origen de referencia. Estamos tratando de que la comunidad apoye nuestros esfuerzos de trasplante. Si desea participar en este proyecto, envíe un correo electrónico a immol@microsoft.com.

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

3
Lanzamiento 1.5 Comunicado oficial, centrándose en la transición a Angular 2

El equipo de Angular lanzó recientemente la versión oficial de Angular 1.5, que entregó una importante actualización que dejó a la compañía todavía en uso con 1. Los desarrolladores de la versión X podrán facilitar la transición al desarrollo angular 2.

Bacon Darwin escribió en una entrada de blog en el anuncio de que el propósito de la versión era mejorar la ruta de actualización para Angular 2. Hemos introducido algunas características nuevas en esta versión que acercan la aplicación Angular 1 por los desarrolladores a la estructura de la aplicación en la aplicación en 2. "

En esta versión, el nuevo module.component() secundario es el mayor cambio en la transición a Angular 2. Mediante este enfoque, los desarrolladores ya no tienen que seguir la definición tradicional de estilo de objeto para escribir directiva. Si el lector ya está familiarizado con la forma en que se escribe Angular 2, debe ser consciente de esta similitud. En el artículo, el autor presenta un ejemplo de cómo definir un nuevo componente:

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

Antes de la llegada del componente, los desarrolladores sólo podían usar, o a través del uso no convencional del controlador, para implementar ciertos escenarios. Esto no quiere decir que el componente reemplazará completamente el rol de la directiva, por ejemplo, el componente no se puede utilizar para manipular el DOM, y todos los componentes deben ser activados por elementos HTML personalizados, en lugar de desencadenar a través de las propiedades del elemento. El componente, tal como se define de la manera anterior, puede ser utilizado por el siguiente código:

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

La nueva guía de componentes proporciona una descripción más completa de la diferencia entre la directiva tradicional y el componente.

  • Enlace unidireccional

  • Ganchos del ciclo de vida

  • Enlace a la directiva requerida

  • Transclusión con múltiples ranuras

  • Contenido de transclusión predeterminado

Los desarrolladores que actualmente utilizan la versión 1.4 pueden leer la guía de migración para comprender qué cambios necesarios se necesitan para migrar, ya que algunos cambios disruptivos se introducen en la versión 1.5.

La versión 1.5 debe ser el cambio más grande durante un período de tiempo previsible. Cuando InfoQ le preguntó a Bacon Darwin de dónde iría la versión 1.X, respondió:

No hemos empezado a planear el siguiente ciclo de lanzamiento para Angular 1. A medida que la fecha de lanzamiento oficial para 2 se está acercando, si continuamos desarrollando Angular 1, trataremos de acercarlo a Angular 2. Si se requieren cambios destructivos para lograr esto, se puede esperar la versión 1.6. Al mismo tiempo, continuaremos el desarrollo de la versión Angular 1.5.x, proporcionando correcciones de errores y algunas características más pequeñas. Con todo, esto no entra en conflicto con nuestro objetivo de hacer que sea más fácil migrar a Angular 2.

La nueva característica del router debe ser lanzada más adelante esta semana.

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


Este artículo es un lanzamiento original de InfoQ y ha sido rechazado para la reproducción no autorizada.

InfoQ Editor de Traducción Original y Editor de Tecnología Reclutamiento, Reanudar Rápido Golpe: editors@cn.infoq.com