Q Nouvelles Google Ad abandonne complètement Flash, 100% à HTML5; Technologie à abroger à .NET Core; Angular Releases 1.5 Communiqué officiel

1
Google Annonces abandon Flash Tout à fait, 100% Turn To HTML5

La disparition longue et douloureuse d'Adobe Flash se poursuit alors que le réseau Display de Google annonce qu'il cessera bientôt d'exécuter des annonces Flash.

Dans un billet de blog partagé sur la page AdWords Google Plus, Google Display Network et DoubleClick ont déclaré que « afin de donner à plus de gens une meilleure expérience de navigation sur plus d'appareils », Google Display Network et DoubleClick Le marketing numérique est maintenant 100% à HTML5. "

À partir du 30 juin 2016, AdWords et DoubleClick n'autoriseront plus les téléchargements d'annonces construits avec Flash. À partir du 2 janvier 2017, les annonces Flash ne seront plus affichées sur Google Display Network ou DoubleClick. Google continuera à fournir de l'aide AdWords aux annonceurs pour les aider à passer à HTML5.

Le changement a également affecté l'outil Flash-to-HTML5 de Google, Swiffy, qui ne sera pas converti avec de nouvelles annonces à partir de Juillet 2016. Google recommande aux utilisateurs de visiter la page AdWords Help pour plus d'informations sur les ressources qui convertissent les annonces Flash en annonces HTML5.

La plupart des communautés n'ont pas été surprises par les nouvelles de Google, et de nombreux commentateurs ont salué l'annonce de l'entreprise.

L'avenir de Flash est incertain depuis un certain temps. En 2015, InfoQ a rapporté que Mozilla avait "défaillant" à bloquer Flash dans Firefox comme Adobe a annoncé deux vulnérabilités majeures. Et l'article de recherche d'InfoQ "Flash est sous le feu: Utilisez-vous seulement HTML5/JavaScript?" HTML5 a reçu une note de pertinence de 89%, tandis qu'Adobe Flash a reçu une note de pertinence inférieure à 50%.

Il est clair qu'Adobe a également contribué à mettre fin à Flash, annonçant fin 2015 qu'il changerait son nom en Animate CC pour montrer qu'il serait plus axé sur HTML5.

En novembre 2015, Rich Lee, directeur principal du marketing produit d'Adobe, a écrit que plus d'un tiers du contenu créé à l'aide de Flash Professional utilisait HTML5. Lee dit que l'outil a été complètement réécrit au cours des dernières années "pour inclure natif HTML5 Canvas et WebGL soutien" "en raison de l'avènement de HTML5 et la nécessité de profiter de l'animation standard Web."

Dans un billet de blog confirmant le "Animate CC Is Coming" le 8 février 2016, Lee a déclaré qu'en plus du changement de nom, Animate était l'une des "sorties les plus importantes de l'entreprise à ce jour".

Il ne semble pas comme une coïncidence que l'annonce coïncide avec l'annonce de Google AdWords. Les principales caractéristiques d'Animate comprennent « la prise en charge des modèles HTML5 Canvas et permettant aux développeurs de personnaliser avec n'importe quel éditeur de code (par exemple, les développeurs peuvent ajouter des scripts pour le suivi Doubleclick ou AOL) et la prise en charge de l'intégration De Typekit avec des documents HTML5 Canvas . » "

Parmi les autres améliorations et mises à jour d'Animate CC, mentionnons le remplacement des bibliothèques dédiées utilisées dans les versions précédentes par la dernière version de la bibliothèque Combined CreateJS. Adobe dit que l'objectif de la modification est de réduire le nombre d'appels serveur de la sortie HTML5 Canvas publié attisant pour améliorer les performances.

Animate améliore également l'interface interface logicielle HTML5 Spritesheet, qui fournit des contrôles distincts sur les paramètres PNG et JPEG qui peuvent être activés ou interdits. Le contenu animé peut également être importé dans les fichiers de plug-in d'animation OAM (.oam) d'ActionScript, WebGL ou HTML5 Canvas.

La dernière mise à jour sur la feuille de route Adobe Flash Runtime a été Mars 2015, et Adobe n'a pas fourni d'informations plus proches sur l'avenir de Flash.

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

2
Technologie qui sera abrogée à .NET Core

Bien qu'il y ait une partie de l'existant. Les applications NET, en particulier ASP.NET applications basées sur Le MVC, pourront migrer relativement simplement vers .NET Core mais une autre partie. Les applications NET peuvent rencontrer certains problèmes pendant la migration. Certains problèmes sont évidents, tels que le passage des applications WinForms ou WPF à Universal Windows Applications (UWP), tandis que d'autres sont plus subtils, et cela se rapporte à l'implémentation plus sous-jacente de la fonctionnalité de base du cadre .NET.

Réflexion

L'API de réflexion a fait une grande différence dans .NET Core. Comme dans winRT, la réflexion est divisée en une version légère et une version plus chère. Immo Landwerth de Microsoft a écrit:

Lorsque nous avons lancé .NET Native, nous avons utilisé une technique qui nous a permis d'établir des liens statiques vers le cadre et les dépendances de tiers. Pour que cette fonctionnalité de lien fonctionne, elle doit être en mesure d'identifier la partie de la fonctionnalité de cadre qui n'est pas utilisée dans votre application. Ce processus n'est pas compliqué pour d'autres technologies, comme C, parce que le système n'a pas la capacité dynamique de réfléchir. Bien sûr, la réflexion est toujours prise en charge dans .NET Native, mais nous voulons rendre cette plate-forme aussi bas que possible, ce qui signifie que vous n'avez pas à ajouter des frais généraux pour les fonctionnalités dont vous n'avez pas besoin. Cela est particulièrement vrai pour la réflexion, car il impose de grandes restrictions sur ce que le runtime et les compilateurs peuvent faire sur la base d'informations statiques.

Par conséquent, idéalement, la réflexion devrait être un composant facultatif dans .NET Core, et vous pouvez choisir d'y renoncer complètement dans votre propre application. Le problème est que System.Object s'appuie sur la réflexion uniquement quand il ne Object.GetType(). Pour briser cette dépendance, nous avons décidé de laisser System.Type cesser de présenter l'ensemble des informations de type réflexion, mais seulement le nom du type. Cela signifie également que System.Type dans .NET Core n'inclut plus les API telles que GetMembers(), mais expose toujours les API telles que le nom.

Une méthode d'extension appelée GetTypeInfo vous permet d'obtenir les informations que vous pouvez obtenir de l'objet Type en général. La classe TypeInfo contient moins d'informations qu'elle ne l'était, mais Microsoft a récemment décidé de réintroduire une partie de l'API de réflexion dans .NET Core, un changement qui était au-delà de son plan initial.

Pour faciliter le port du code, les versions .NET 4.5 et ultérieures fournissent un certain support pour TypeInfo, similaire à la version utilisée dans .NET Core.

Domaine de l'application

Domaine de l'application a été implémenté dans CoreCLR, mais pas dans .NET Native. Étant donné que l'implémentation de l'application Domain nécessite beaucoup de prise en charge des fonctionnalités d'exécution, il n'existe actuellement aucun plan de prise en charge pour l'application Domain. « Pour l'isolation du code, nous recommandons de l'implémenter par le biais de processus ou de conteneurs. Pour le chargement dynamique des assemblages, nous vous recommandons d'utiliser la nouvelle classe AssemblyLoadContext. "

Remoting

Aujourd'hui, peu de développeurs se souviennent de l'existence de la bibliothèque Remoting, et encore moins comment l'utiliser. Même si quelqu'un d'autre l'utilise, il se plaint de ses performances, de sa grande complexité et de sa vulnérabilité globale.

Aujourd'hui, plusieurs. Les applications NET sont en grande partie remplacées par WCF, qui offre de meilleures performances pour les fichiers de cartographie des pipelines ou des mémoires. Pour les communications inter-machines, Microsoft recommande « d'utiliser un protocole texte ordinaire à faible coût, tel que HTTP ». En conséquence, Microsoft n'a pas pris en charge le programme de Remoting dans .NET Core.

Sérialisation

.NET Core prendra en charge la plupart des sérialisateurs, tels que la sérialisation des contrats de données, la sérialisation XML, JSON. NET ainsi que protobuf-net. Un rôle important qui est exclu est la sérialisation binaire.

Grâce à l'expérience de cette décennie, nous avons finalement appris que la sérialisation est une tâche très complexe, et que les types qui soutiennent la sérialisation font face à un lourd fardeau en termes de compatibilité. Par conséquent, nous avons décidé de faire de la sérialisation un protocole qui sera mis en œuvre sur la base des API ouvertes disponibles. Cependant, la mise en œuvre de la sérialisation binaire nécessite une compréhension plus profonde du type lui-même, car elle peut sérialiser l'ensemble du graphique de l'objet, y compris les informations de l'État privé.

Sandbox

En théorie, un bac à sable est une excellente idée qui permet au code de confiance partiel d'exécuter d'une manière sécurisée. Dans la pratique, cependant, il est très difficile de l'appliquer correctement, et même une petite quantité d'erreur peut conduire à des vulnérabilités de sécurité. Immo Landwerth dit également qu'il «rend la mise en œuvre plus difficile et souvent des impacts négatifs sur le rendement des applications qui n'utilisent pas de boîtes à sable. "

L'alternative recommandée est de les exécuter à travers un compte utilisateur avec des autorisations limitées en utilisant un processus distinct. De cette façon, le temps d'exécution n'a pas à répéter une vérification d'autorisation coûteuse parce que le système d'exploitation a déjà fait cela pour vous.

Autres composants

Microsoft envisage d'ouvrir source les composants énumérés dans le tableau ci-dessous et de les porter à .NET Core.

  • System.Data. Bien que ses caractéristiques de couche sous-jacentes, le modèle de fournisseur et le client SQL, soient devenus une partie du noyau .NET, certaines fonctionnalités ne sont toujours pas disponibles, telles que la prise en charge de DataschemaTable et dataSet.

  • System.Directory Services..NET Core ne prend pas actuellement en charge la communication avec le LDAP ou le répertoire actif à travers ce composant.

  • System.Dessin. Bien qu'il devrait être une API client dans un sens strict, il ya encore un grand nombre de développeurs sur le côté service pour mettre en œuvre la génération de vignettes ou de filigrane à travers l'API de dessin. Nous ne soutenons pas actuellement l'utilisation de ces API dans .NET Core.

  • System.Transactions. Bien que ADO.NET supporte les transactions, elle n'inclut pas le support des transactions distribuées, qui comprennent les concepts de transactions ambiantes et de collecte de ressources.

  • System.Xml.Xsl et System.Xml.Schema. .NET Core prend en charge XmlDocument et XDocument, y compris XPath, introduit par Linq. Cependant, XSD (XmlSchema) et XSLT (XslTransform) ne sont pas encore pris en charge.

  • System.Net.Mail. Le courrier électronique n'est pas actuellement pris en charge dans .NET Core par le biais de ces API.

  • System.IO.Ports. .NET Core ne prend pas actuellement en charge la communication avec les ports sérialisés.

  • System.Workflow. La Fondation Windows Workflow (WF) n'est actuellement pas disponible dans .NET Core.

  • System.Xaml. Lors du développement d'une application UWP, les développeurs utilisent l'API WinRT XAML. Par conséquent, .NET Core ne prend pas en charge actuellement le cadre XAML géré, qui comprend la possibilité d'analyse xAML et d'instanter la description des diagrammes d'objets.

Etes-vous intéressé à nous aider à porter un composant? Une partie du code source mis en œuvre par le cadre .NET a été opensourced par le biais de licences MIT dans le cadre de la source de référence. Nous essayons d'amener la communauté à appuyer nos efforts de transplantation. Si vous souhaitez participer à ce projet, veuillez envoyer un courriel à immol@microsoft.com.

Anglais original:http://www.infoq.com/news/2016/02/Core-Discontinued

3
Communiqué 1.5 Communiqué officiel, en se concentrant sur la transition vers Angular 2

L'équipe angulaire a récemment publié la version officielle d'Angular 1.5, qui a livré une mise à niveau majeure qui a laissé l'entreprise toujours en service avec 1. Les développeurs de la version X seront en mesure de faciliter la transition vers le développement angulaire 2.

Pete Bacon Darwin a écrit dans un billet de blog dans l'annonce que le but de la libération était d'"améliorer le chemin de mise à niveau pour Angular 2." Nous avons introduit quelques nouvelles fonctionnalités dans cette version qui apportent l'application Angulaire 1 écrite par les développeurs plus proche de la structure de l'application dans l'application en 2. "

Dans cette version, le nouveau module.component() secondaire est le plus grand changement à la transition vers Angular 2. En utilisant cette approche, les développeurs n'ont plus à suivre la définition traditionnelle du style d'objet pour écrire directive. Si le lecteur est déjà familier avec la façon dont Angular 2 est écrit, il doit être conscient de cette similitude. Dans l'article, l'auteur présente un exemple de la façon de définir un nouveau composant :

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

Avant l'avènement du composant, les développeurs ne pouvaient utiliser, ou par l'utilisation non conventionnelle du contrôleur, pour implémenter certains scénarios. Cela ne veut pas dire que le composant remplacera complètement le rôle de la directive, par exemple, le composant ne peut pas être utilisé pour manipuler le DOM, et tous les composants doivent être activés par des éléments HTML personnalisés, plutôt que de déclencher à travers les propriétés de l'élément. Composant, tel que défini de la manière ci-dessus, peut être utilisé par le code suivant:

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

Le nouveau guide de composants fournit une description plus complète de la différence entre la directive traditionnelle et la composante.

  • Liaison à sens unique

  • Crochets de cycle de vie

  • Contraignant à la directive requise

  • Transclusion avec plusieurs emplacements

  • Contenu de transclusion par défaut

Les développeurs qui utilisent actuellement la version 1.4 peuvent lire le guide de migration pour comprendre les modifications nécessaires à la migration, car certains changements perturbateurs sont introduits dans la version 1.5.

La version 1.5 devrait être le plus grand changement pour une période prévisible de temps. Quand InfoQ a demandé à Bacon Darwin d'où irait la version 1.X, il a répondu :

Nous n'avons pas commencé à planifier le prochain cycle de sortie pour Angular 1. Comme la date de sortie officielle pour 2 se rapproche, si nous continuons à développer Angular 1, nous allons essayer de le rapprocher de Angular 2. Si des changements destructeurs sont nécessaires pour atteindre cet objectif, la version 1.6 peut être attendue. Dans le même temps, nous allons continuer le développement de la version angulaire 1.5.x, fournissant des corrections de bogues et quelques fonctionnalités plus petites. Dans l'ensemble, cela n'entre pas en conflit avec notre objectif de rendre plus facile de migrer vers Angular 2.

La nouvelle fonctionnalité routeur devrait être publié plus tard cette semaine.

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


Cet article est un lancement original d'InfoQ et a été refusé pour reproduction non autorisée.

InfoQ Original Translation Editor and Technology Editor Recruitment, Resume Fast Hit: editors@cn.infoq.com