Micro Python: Python pour un micro-contrôleurs

Dans le cadre du projet Micro-Python, une version complètement réécrite de Python 3, qui est spécifiquement conçu pour être utilisé dans les microcontrôleurs créés.

mérite l'attention, le projet Micro-Python qui vise à une implémentation du langage de programmation Python pour les microcontrôleurs à fournir. La demande pour un tel projet semble être donné, comme une campagne Kickstarter a été lancée sur une conclusion positive en fin d'année dernière.

Micro Python est un écrit en C reimplementation de Python 3, actuellement le dernier volet de sortie du langage de programmation. Il se compose d'analyseur, compilateur, machine virtuelle, système d'exécution, garbage collector et les bibliothèques qui leur permettent d'utiliser sur les microcontrôleurs. Micro Python prend actuellement en charge un certain nombre de caractéristiques linguistiques de 2.x et 3.x Python, mais pas tous. Par exemple, les développeurs vont manquer le support Unicode pour les chaînes. Contrairement à CPython mais Micro Python peut produire à la fois du code natif, ainsi que bytecode Python ordinaire, et il peut inclure le code d'assemblage, ce qui est important pour les programmeurs de contrôleurs embarqués.

À l'heure actuelle, la langue est dirigé vers les appareils équipés de processeurs ARM 32 bits qui utilisent la commande Thumb-v2 ensemble. Le créateur de la langue, Damien George, un physicien théorique à l'Université de Cambridge, a créé une carte avec un processeur STM32F405, qui a reçu une première version des partisans de la campagne Kickstarter. (ANE)

RoboVM: Créer des applications Java avec iOS

contenu
  1. RoboVM: Créer des applications Java avec iOS
  2. Construction et dialogues
  3. Options de configuration et d'application
  4. conclusion
  5. lire sur un côté
Créer avec des applications Java iOS - RoboVM

Les programmeurs Java qui veulent réaliser leurs idées sur les appareils mobiles d'Apple, RoboVM offre de nouvelles opportunités - sans haut-parleurs coercition.

La plate-forme mobile ultime de développeurs Java est Android. Beaucoup d'entre eux, serait cependant, comme aussi de programmer des applications pour les appareils Apple. Jusqu'à une date récente, il fallait apprendre à, cependant, l'Apple proposé dans le but de Objective-C. Non seulement cela, vous avez dû abandonner les installations de Java telles que la collecte des ordures ou des réflexions il. Même les bibliothèques standard parfois très étendues propres extraits et les classes ne sont plus si soudainement disponible. En particulier en ce qui concerne le nombre et la qualité des bibliothèques disponibles, Objective-C est nettement inférieur à ceux qui sont disponibles à Java.

Mais les implémentations de base de l'orientation de l'objet et le traitement des erreurs sont complètement différentes en Objective-C. Même le langage de programmation de l'été dernier étonnamment émergé Swift n'a donné aucun changement fondamental de la manière, même si elle est basée beaucoup plus sur Java. De plus, il semble que cela prendra un certain temps, malgré le numéro de version 1.2 jusqu'à ce que le processus de maturation et de l'intégration a été réalisée dans le Xcode IDE. Sont donc encore quelques fonctionnalités, y compris refactorisations simples tels que changement de nom, que dans les projets Objective-C disponibles.

Depuis l'apparition du premier iPhone, quelques tentatives ont été faites pour mettre Java sur cette plate-forme. Il est techniquement réussi à utiliser des dispositifs gejailbreakten sur un large front, cependant, Apple pourrait être évitée. La Société est d'avis que les développeurs doivent utiliser sur les appareils mobiles toutes les langues autres que son propre, donc Objective C ++ et Swift, ou la langue Web JavaScript.

RoboVM: Poursuite du développement depuis la phase bêta

Comme il est mentionné dans l'article, la version bêta de RoboVM a servi de base de l'article. Depuis Avril, le projet prend en charge l'intégration Interface Builder automatique, ce qui rend la méthode manuelle décrit ici inutile. Les informations pertinentes sont disponibles dans la documentation.

La documentation relative à l'utilisation des plug-ins pour Maven et Gradle est également disponible en ligne.

Oracle tente d'aider au point et va de pair avec son cadre ADF mobile un chemin similaire aux amateurs de Java ci-dessus: Il y a une machine virtuelle Java dédié est intégré à une version mobile du cadre du FAD dans l'application. Cependant, cela contredit d'une part, les directives App Store qui permettent pas d'interprète ou compilateur pour d'autres programmes - qu'ils soient externes ou intégrés. D'autre part, vous pouvez voir les applications dès le début de leur origine. Ils semblent très archaïque et ne sont en aucune façon conforme aux lignes directrices interface utilisateur d'Apple, ce qui est une seconde source de problèmes dans l'approbation de la distribution à travers le magasin.

est un autre produit dans le même but "alchemo pour iPhone" la société innaWorks. Il semble ainsi être un outil qui peut effectuer une des applications intégrées VM Java ME. Bien que depuis 2008 sur le marché, vous ne trouverez pas de commentaires sur le produit et les entrées de blog ou de courts articles donnent légèrement modifiés à nouveau communiqués de presse.

Quelque chose de nouveau doit être trouvé

2013, la société Trillan mobile mis en place un groupe de développement à Göteborg, en Suède, dans le but de permettre le développement multi-plateforme avec Java et iOS. Sur ce projet RoboVM est né. Malgré son nom, ce ne sont pas une machine virtuelle appropriée (VM), mais un compilateur qui avant la réunion a quitté l'application terminée le code Java dans la langue de la machine respective traduit (AOT, avant compilateur de temps).

Le résultat est que la machine virtuelle n'a pas besoin d'être présent sur la machine cible et les programmes de vérificateur App Store une seule fois plutôt que vu dans une langue et non approuvés rejeter. Parce que étant donné une couverture presque parfaite de l'API iOS et l'Interface Builder est intégré (avec restrictions), voir les applications de la même manière que si elles ont été programmées avec les langues Apple.

Bien sûr, RoboVM ne se limite pas à Java, il peut être utilisé que exécuté sur la machine virtuelle Java ou générer un code approprié avec toutes les autres langages de programmation. Ceux-ci comprennent, par exemple, Scala, Groovy, AspectJ, Clojure, JRuby, Jython, Kotlin et Xtend. Étant donné que RoboVM fixe dans certaines zones fortement sur les annotations, mais manque dans d'autres langues, l'utilisation des langues différentes, cependant, est souvent très complexe et même complètement impossible dans certains cas (par exemple, la version 2.5 Jython, Clojure).

vue sur l'intérieur

L'environnement de développement est principalement destiné aux développeurs Android fond qui veulent transférer leurs applications, par exemple. A la fin, les vendeurs ont affiché les types de données Apple pour Android et types Java conformes. Une grande partie des bibliothèques Android sont non visuels partie du paquet. Bien qu'un compilateur AOT est utilisé à la place d'une véritable machine virtuelle, peut être aussi bon que l'ensemble API de réflexion continue à utiliser. Seules les fonctionnalités qui utilisent une dépendance au chargeur de classes ou d'utiliser la génération de code d'exécution, ne sont pas pris en charge pour des raisons évidentes.

L'outillage est exécuté éventuellement directement à partir de la ligne de commande ou par l'intermédiaire d'un plug-in Eclipse. Ce dernier permet d'exécuter l'application à partir d'Eclipse. Une fois bien sur l'un des outils de construction, les outils dans l'ordre correct et commence par un compilateur qui exécute le débogueur. Le plug-in supporte les trois classiques avec Java construire des outils Ant, Maven et Gradle. Malheureusement, ici vous recherchez une documentation utile, ce qui reflète également le dernier état de développement.

Le 16 Mars, 2015, la phase bêta terminée pour RoboVM, ce qui porte les licences accordées pour expiré et Trillian Mobile a lancé son offre commerciale. Les licences sont disponibles depuis les quatre ordres de grandeur Indie, démarrage, Business et Enterprise. Le prix revient dans ce cas, chaque 199, 399, 899 et 1.999 dollars US par an. Dans les deux premières licences et un paiement mensuel est possible, chaque dixième de la cotisation annuelle. Les deux premières semaines sont en "période d'essai" gratuit. Dans la période est également entré en vigueur à la fin kicking du service est possible. Les bêta-testeurs enregistrés, la société a accordé des conditions spéciales totalisant une réduction de 50 pour cent pour la première année.

Bien que les outils RoboVM peut être appelé à partir de la ligne de commande, mais beaucoup plus pratique est par une pour le plug-in environnement de développement de choix. Les plus avancés sont disponibles pour Eclipse, ainsi que le plug-in pour IntelliJ IDEA est déjà bien avancée. Le développement de NetBeans a été arrêté maintenant. Étant donné que l'auteur a testé que la version pour Eclipse, ce qui suit applique principalement à elle.

Téléchargement du plug-in est déclenchée par un site de mise à jour séparée via un lien envoyé par email et télécharge le package requis. Après l'habituel redémarrer l'IDE, le programme vous demande d'entrer un code de licence. Ensuite, vous pouvez commencer à créer le premier projet. Depuis le site Web RoboVM peut être un tutoriel très court avec un programme simple exemple qui est déjà connu de Xamarin télécharger comme une entrée. Le site souligne également quelques exemples d'applications sur GitHub.

graphiques 3D: OpenGL manipulation SPIR-à apprendre V

graphiques 3D: OpenGL manipulation SPIR-à apprendre V

La spécification API pour deux et graphiques en trois dimensions est disponible en version 4.6 est maintenant disponible et comprend, entre autres approches pour faire face à écrit dans les shaders SPIR-V de langue intermédiaire Khronos.

Dans le cadre du 3 Août, qui aura lieu du 30 Juillet à Los Angeles SIGGRAPH 2017, on se concentrait sur l'infographie et des techniques interactives conférence et exposition, la version 4.6 du Khronos Group de la spécification OpenGL (Open Graphics Library) présenté. La spécification décrit une interface de programmation plate-forme indépendante pour le rendu graphique contenu, en mettant l'accent sur les graphiques en trois dimensions.

Selon clarifient les droits d'auteur des extensions ARB et EXT peuvent maintenant se trouve en plein cœur de la spécification actuelle. Les clients comprennent GL_ARB_gl_spirv et GL_ARB_spirv_extensions qui permettra d'utiliser dans un langage intermédiaire de Khronos pour la programmation parallèle et graphiques, SPIR-V, les shaders écrits en OpenGL. Mais GL_KHR_no_error fait au cœur. Cela en fait qui ne devrait pas d'erreurs, de sorte qu'aucun message d'erreur doivent être générés, ce qui entraîne une réduction des frais généraux du conducteur pour fournir des détails. De plus nouveaux sont des paramètres pour réduire la surcharge du processeur au cours des processus de rendu par lots.

De nouvelles extensions et un meilleur support Volcano

En outre, les membres du consortium ont partagé avec de nouvelles extensions GL_KHR_shader_compile et WGL_ARB_creat_context_no_error et GXL_ARB_create_context_no_error. Le premier devrait permettre d'avoir plusieurs threads commencent à compiler des applications shaders afin d'augmenter le débit. Les deux autres sont destinés à supprimer la création de contextes d'erreur dans WGL et GLX si nécessaire. D'autres sont d'améliorer la coopération avec le volcan et Direct3D en OpenGL et OpenGL ES.

La nouvelle version de la spécification se trouve sur le site Web de la norme. Il a également été mis à jour en conséquence glslang. Le compilateur convertit en GLSL SPIR-V.(Dec)

Emacs de la ligne de Richard Stallman

Richard M. Stallman

Richard M. Stallman

Le fondateur de la Free Software Foundation sur la gestion du projet Emacs à John Wiegley. Ce n'est pas la première fois que Stallman se retire du haut.

La référence à l'échange se trouve d'ailleurs à la fin d'un courriel de John Wiegley sur la liste de diffusion officielle Emacs: "Pour ceux qui ont réellement lu à la fin de ce message: Richard et moi avons rencontré hier au MIT, où je supposais officiellement le rôle du responsable d'Emacs."

La ligne Emacs Rcihard Stallman (encore une fois) de

John Wiegley est déjà depuis longtemps en tant que contributeur pour Emacs actif et a une longue expérience en C ++. Selon son profil LinkedIn il était avant son temps à BAE Systems, entre autres, en C ++ - Comité actif. Richard Stallman est le fondateur de la Free Software Foundation et auteur de la licence GNU. Il a à la fois la collection du compilateur GNU ainsi que l'éditeur de texte Emacs a commencé. Il est considéré comme un défenseur intransigeant des logiciels libres, qu'il distingue explicitement l'open source.

Éloge du précédent

La nouvelle tête dissipa préoccupations qu'il avait été forcé de faire des compromis: "Il n'y a pas de compromis en fait. Je me sentais Richard aussi agréable de parler." Il a ensuite défendu son prédécesseur: "Je crois que beaucoup de gens comprennent à tort son attachement à la liberté afin qu'il avait des vues déraisonnables - donc je me suis dit qu'il était quelques mois. Le contraire est vrai: j'ai présenté quelques idées sur Emacs, que j'attendais une réaction obstinée, seulement pour découvrir qu'il aime à mettre tout en considération et même des améliorations proposées. Je ne ai jamais eu l'impression que je parle à un têtu."

Ce n'est pas la première fois que Stallman se retire de la ligne Emacs. Plus récemment, il a remis les rênes en 2008. Des raisons spécifiques pour les changements en cours ne sont pas encore connus. Un avis officiel du changement est toujours en attente. Selon Wiegley, il devrait être effectué lorsque les derniers détails sont clarifiées.(RME)

compilateur Python de Dropbox: Pyston promet plus de vitesse pour les applications Python

Dropbox rend debout compilateur Python publicité Pyston pour son sous licence Apache Software, par le service de stockage met en jeu ses avantages à attendre en termes de vitesse d'exécution.

Le langage de programmation Python a ses avantages plutôt qu'il est en peu de temps à apprendre et à obtenir rapidement des résultats, mais on ne sait pas pour l'exécution rapide des programmes avec lesquels, par exemple, les langues points C et C ++. Le premier présenté par Dropbox en Avril 2014 projet open source Pyston veut sauter par un JIT (Just In Time) dans la brèche ici. lui a fait le service de stockage de données dont les applications sont clienseitige écrit en Python, maintenant présenté en version 0.2. De la maturité de la production, la mise en œuvre de Python est, mais apparemment encore loin et dans la performance, il est loin d'être la cible.

les développeurs Dropbox sont influencés par le succès que la mise en œuvre JavaScript V8 de Google peut avoir avec la compilation JIT. Pour la compilation JIT Pyston utilise le LLVM d'infrastructure de compilateur. Pyston traduire le code Python dans le format intermédiaire de LLVM que l'unité d'optimisation intégrée traite le code en conséquence et le transfère au moteur JIT, ce qui crée un code machine. Afin de contourner un éventuel conflit par les problèmes d'interprétation LLVM Pyston spécule sur les types probables des variables et des objets qu'il vérifie lors de l'exécution. Selon que la prédiction est vrai ou non, une séquence d'opérations est exécutée, avec moins de temps est nécessaire si elle avait raison.

La nouvelle version peut désormais gérer à titre expérimental avec l'API Python C qui peut communiquer la langue avec le code C et aux développeurs d'accéder à des fonctions qui tirent parti de la puissance de calcul natif de C. Autre désormais pris en charge les fonctionnalités de langage d'implémentation Python sont des exceptions, l'héritage et les métaclasses, les fonctions lambda et les fermetures (états de fonction) et les capacités de multithreading. En outre, plus de bibliothèques standard peuvent être utilisés.

Sur la feuille de route pour les prochaines versions Pyston sont optimisées collecte des ordures, ce qui élimine les fuites de mémoire et la possibilité d'utiliser la mise en œuvre d'un soi-disant remplacement de drop-in pour les moteurs standard de Python.(ANE)

RubyMine 7.1 inclut une nouvelle option refactoring

RubyMine 7.1 est livré avec de nouvelles options de refactoring

L'environnement de développement de JetBrains pour les programmeurs Ruby recevra dans la version mineure actuelle fabriquée à partir d'autres entreprises de services IDEs connus tels que "le mode sans Distraction",

Les développeurs de RubyMine IDE ont apporté la dernière version majeure de jusqu'à à ce jour et la version 7.1 publiée. Surtout certains des outils sont des développeurs Ruby après la mise à jour prêt qui avait récemment trouvé déjà entrée dans d'autres environnements de développement des fournisseurs JetBrains. Donc, les changements lors de l'édition sur une balise HTML et le jour associé, et il est un mode disponible, ce qui est de réduire en cachant les fenêtres environnantes, des onglets et des barres d'outils distraction pendant l'écriture de code.

L'équipe à l'action de refactoring mouvement a travaillé, qui est désormais en mesure de sous-traiter des classes ou des modules dans leurs propres fichiers et se glisse pour créer une hiérarchie de répertoire approprié et insère une require pour le nouveau fichier. Après la mise à jour, le débogueur intégré dans l'IDE avec Ruby 2.2.x devrait également fonctionner.

Quant à l'appui lorsque vous travaillez avec d'autres langues, il y a des améliorations pour les utilisateurs CoffeeScript-, JavaScript et dactylographiés. Alors RubyMine peut maintenant, par exemple, avec l'opérateur? = Traiter de CoffeeScript et ne supprimera pas une ligne masquée Pauses plus lors du formatage du code dans cette langue. En outre, un compilateur de script type est désormais intégré à convertir le code source JavaScript ainsi.(Dec)

récursion arrière

contenu
  1. F # - équivalent fonctionnel de C #
  2. Type de sécurité, programmation déclarative
  3. conclusion
  4. récursion arrière
  5. lire sur un côté

récursion arrière

La récursivité terminale, comme "Recursion Tail" appelé est une méthode pour l'optimisation des appels de fonctions récursives. Il peut être appliqué lorsque le dernier appel de fonction au sein de la fonction récursive elle est.

L'idée est de peindre dans un tel cas, l'appel de fonction supplémentaire et de réutiliser l'instance en cours de la fonction en même temps que la pile associée. la récursion arrière enregistre la construction coûteuse d'une nouvelle pile, l'appel d'une nouvelle fonction, y compris abschließendem dégradation de la pile produit de la manière.

Avec des fonctions récursives qui sont optimisées avec récursion de queue peut également se produire pas StackOverflow. Cela fait partie de l'erreur standard à fonctions récursives en un seul, à savoir lorsque la profondeur de récursivité est trop grand et hors de la main les informations de gestion.

Un inconvénient de récursivité de la queue ne soit pas cachée: Elle complique le débogage d'optimiser leur fonction par l'intermédiaire autant que la séquence d'appel et la pile d'appel correspondant ne sont plus reconnaissables. Enfin, la fonction sera finalement Itère que par la même instance toujours.

À titre d'exemple, la méthode somme est utilisée (dans le code pseudo) qui résume les premiers x nombres naturels sur le site:

int fonction Sum (int x)
{
if (x == 0)
{
return 0;
}
d'autre
{
return x + Somme (x 1?);
}
}

La fonction est en effet récurrent, mais pas récursive queue: La dernière instruction dans la fonction qui est pas, comme on pouvait s'y attendre à première vue, a appelé la fonction récursive, mais x ajouté au résultat de l'appel de fonction récursive. Somme peut être convertie en une version récursive de la queue qui profite de la loi associative, cependant:

int fonction Sum (int x)
{
retour SumInternal (0, x);
}

fonction int SumInternal (int x, int y)
{
if (y == 0)
{
retourner x;
}
d'autre
{
retourner SumInternal (x + y, y - 1);
}
}

Il en résulte la séquence suivante, par exemple, la somme d'appel (5):

Somme (5) -> SumInternal (0, 5) -> SumInternal (5, 4) -> SumInternal (9, 3)
-> SumInternal (12, 2) -> SumInternal (14, 1) -> SumInternal (15, 0)
-> 15

Red Hat Enquête: La technologie numérique a une grande influence sur la culture de travail

Informatique et Internet

(Photo: AP, Arno Burgi)

La transparence, l'adaptabilité et l'amélioration de la communication sont essentielles à la réussite des cultures d'entreprises modernes, cette conclusion est Red Hat avec un sondage sur la culture open source sur le changement des mentalités et des structures de travail dans les entreprises.

Red Hat Open Source Culture Survey 2017 détecte déjà un grand changement de la culture, des valeurs et des principes et un changement constant conséquent dans le paysage commercial. changements numériques font donc les entreprises de l'intérieur, de sorte que le traitement effectué par sondage TechValidate. Pour l'enquête de 150 décideurs informatiques, les gestionnaires, les développeurs et les ingénieurs de la base de clients de Red Hat de manière modifiés de pensée et de nouvelles priorités de l'entreprise ont été interrogés. L'étude conclut que les technologies numériques, la façon dont nous vivons et le changement de travail de façon spectaculaire.

Red Hat open source Culture Survey 2017 examine les cultures d'entreprise (Photo: blog Red Hat)

91 pour cent des répondants conviennent que le développement de la technologie est responsable de la façon dont les entreprises ont besoin de travailler à l'avenir dans leur industrie pour réussir. La moitié (52 pour cent) des entreprises interrogées a déjà adapté ses structures aux nouvelles circonstances. De plus en plus d'entreprises sont également conscients que la façon dont leurs employés travaillent ensemble, doit changer.

Red Hat open source Culture Survey 2017 examine les cultures d'entreprise (Photo: blog Red Hat)

veulent ainsi mettre en œuvre des plans pour les six prochains mois, l'année prochaine au moins 23 pour cent 30 pour cent. Aucune raison pour le changement voir 34 pour cent. Il a la plus haute priorité dans les plans de gestion du changement. 84 pour cent des répondants ont mis en premier lieu en matière de changements dans l'entreprise. En deuxième place avec 24 pour cent est la gestion du personnel, suivi de près par la formation de nouveaux cadres (23 pour cent). Avec les systèmes existants, une mauvaise technique et des équipes isolées donc pas de changement efficace peut être provoquée.

Red Hat open source Culture Survey 2017 examine les cultures d'entreprise (Photo: blog Red Hat)

Pour les cultures d'entreprise modernes, des valeurs telles que la transparence, la coopération, l'inclusion, l'adaptabilité et la communauté est la clé des efforts de changement. Les valeurs qui sont vécues principalement dans la communauté open source a toujours été si Red Hat. "transparence" il était de 29 pour cent des répondants extrêmement importants et 45 pour cent très importants. "coopération" est extrêmement important et 33 pour cent étaient très importants 35 pour cent des participants.

Problèmes avec la mise en œuvre

Bien que la coopération et la communauté est d'une grande importance à la culture d'entreprise, il y a encore des problèmes dans la mise en œuvre d'une culture d'entreprise ouverte. 81 pour cent des répondants d'une culture d'entreprise ouverte aussi importante à leurs entreprises, mais seulement 67 pour cent des personnes interrogées estiment qu'il ait les conditions nécessaires. Le plus grand obstacle est ici une technologie obsolète (59 pour cent), mais aussi des questions budgétaires (51 pour cent) des problèmes de cause. plus d'entreprises de défis à partager les hiérarchies et les connaissances rétractés manque de volonté et de l'expérience dans tous les ministères.

Selon l'enquête, les entreprises à construire l'avenir sur la coopération et la communication ouverte. La formation d'un environnement de travail collaboratif orienté (54 pour cent), la promotion d'un dialogue ouvert et commentaires à tous les niveaux et les départements (46 pour cent) sont les changements les plus importants. De manière significative la transparence de la communication interne et les données sont à augmenter (38 pour cent).

Plus de détails sur l'étude se trouvent dans le poste de blog officiel.(KKR)

« Fin de vie » pour PHP 5.3

La version cinq ans du langage de script obtient désormais aucune autre fixe plus. Au moins, maintenant, il est conseillé de passer à un PHP plus récent.

La semaine dernière version publiée PHP 5.3.29 sera la dernière édition du brin version 5.3 du langage de script selon toute probabilité. Le soi-disant fin de vie signifie que la charge inclus dans les correctifs de sécurité et bugs PHP 5.3.29 obtenus 5.3.x PHP sera le dernier. Pour les développeurs PHP qui travaillent avec cette ancienne version, ce qui signifie que maintenant le passage à une nouvelle PHP est fortement recommandé.

Le publié en été 2009, PHP 5.3 peut être considéré comme l'une des plus grandes révisions de l'histoire de la langue, la portée du saut de version de PHP 4 à PHP 5 est comparable. Récemment examinées comprennent des espaces de noms dans lequel le même nom peut être utilisé dans différents espaces de noms sans conflit (pour une classe ou une fonction constante), et la dynamique ou la liaison tardive. Avec PHP 5.3, il est également possible d'écrire une fonction anonyme directement dans le code source. En outre de nouvelles fermetures, un nouveau collecteur d'ordures et développé avec mysqlnd un pour PHP et la mise en œuvre optimisée du protocole client / serveur MySQL étaient.

Pour effectuer la migration d'un système de logiciel pour PHP 5.4 a été autour depuis un certain temps un guide, juste pour aller de PHP 5.4 à PHP 5.5, actuellement encore version actuelle. L'avenir PHP 5.6 sera publié très bientôt. Le successeur du train version 5.x PHP est le moyen de PHP. 7 PHP sauter 6, les développeurs PHP a récemment décidé lors d'un vote. Pour PHP 7 a parlé, entre autres, qu'en 2005 a commencé à travailler sur le PHP 6 original avait été rompu en 2010 et une autre utilisation du nom suscite des attentes, qui vise plus sur cette ancienne version. La plupart des fonctions PHP en 6 ont déménagé dans PHP 5.3 et PHP 5.4.

Voir Heise Développeur:

(ANE)

Microsoft n’offrira plus ASP.NET de base sur le .NET classique

Microsoft n'offrira plus ASP.NET de base sur le .NET classique

de mettre sur le nouveau ASP.NET de base au début, sans doute porte ses risques. Parce que Microsoft veut aider à la prochaine version majeure des frameworks plus le 4.x. .NET Framework classique

Un argument pour le noyau ASP.NET est la capacité de faire fonctionner le nouveau framework web 4.x non seulement au reste incomplète 1.x .NET de base, mais aussi sur le .NET Framework sophistiqué. Maintenant, Microsoft a supprimé le support 4.x .NET Framework dans le code source du prévu pour le troisième trimestre de 2017 de base ASP.NET 2.0 et poussé de nombreux développeurs avant de la tête, comme le montre la longue discussion animée sur GitHub.

Auparavant, il y avait deux options

ASP.NET Core est une mise en œuvre radicalement remanié du cadre Web créé Microsoft ASP.NET MVC. Le premier est sorti l'année dernière, après plusieurs années de développement en tant que version 1.0 et actuellement à la version 1.1.1. Les développeurs ont jusqu'à présent pour faire fonctionner 1.x ou .NET Framework sélection 4.x, ASP.NET de base .NET de base. Le .NET Framework 4.x est ici appelé familièrement .NET "complet" Cadre ou .NET "bureau" Cadre est appelé, même si vous pouvez réaliser des applications serveur si depuis le début.

Dans les versions bêta de ASP.NET 1.x de base des modèles de projet ont même été créé afin que plus compilations pour le Core .NET et .NET "complet" Cadre a émergé. prévoir les modèles finaux du projet que vous décidez de commencer du projet, mais plus tard peut encore changer. De nombreux développeurs ont mis sur elle l'option-cadre complète parce que dans .NET de base non seulement de nombreuses fonctions élémentaires ne manquent pas (par exemple. Comme e-mails), mais aussi de nombreuses autres bibliothèques de Microsoft et les parties tierces jusqu'à présent sur le Core .NET courir. Avec cette décision, la migration plus tard .NET de base ne sont pas exclus.

Microsoft voulait curer

Microsoft avait délibérément omis dans 1.x .NET de base de nombreuses classes et les membres de la classe pour rationaliser les bibliothèques de classes et d'enfouir les techniques anciennes telles que DataSet, domaines DataTable et d'application. Puis vint le bien reçu par la décision des utilisateurs, les classes de base du prochain noyau .NET 2.0 à .NET Framework 4.6.x align et ce terrain d'entente "Norme .NET 2.0" au nom. Les classes de base comprennent, mais le faire en aucun cas la totalité de la bibliothèque de classes .NET Framework qui autour de 13500 des classes est forte dans 4.6.x .NET / 4.7, mais seulement une fraction.

Microsoft prévu pour 2.0 .NET standard des classes(Image: Microsoft)

Les employés de Microsoft vont dans leurs opinions (par exemple. En tant que chef de produit Scott Hanselman) sur GitHub supposons que ces classes de base maintenant suffisantes dans .NET 2.0 de base à l'exploitation d'ASP.NET Core 2.0 sur le 4.x .NET Framework classique n'ont plus à offrir. Dans .NET 2.0 de base, vous pouvez faire référence Assemblages écrit 4.x .NET Framework si elles ont seulement besoin de l'ensemble du cadre de la classe standard .NET 2.0.

Bien que Microsoft a déjà promis dans la discussion GitHub, les bibliothèques de classes ne figurant pas là en plus des standards .NET 2.0 classes telles System.DirectoryService (programmation LDAP) et System.Drawing (pour la création de graphiques et d'édition) de cette pour fournir année déjà pour .NET Core 2.0, qui ne peut pas rassurer les développeurs, autant populaires composants tiers juste ne pas se entendre avec la portée de la classe donc de la norme .NET 2.0 et ne fonctionne pas sur .NET 2.0 Core peut être. Le empêchant ainsi l'entrée dans le noyau ASP.NET 2.0 ou ASP.NET 1.x de commutation à noyau 4.x .NET Framework pour ASP.NET Core 2.0 à 2.0 .NET de base.

Selon l'analyse d'un utilisateur est manquant, par exemple, pour le fonctionnement du OU mappeur NHibernate et la solution de bus de service NServiceBus dans la norme .NET 2.0 d'un tiers des classes requises. Mais même les programmes Microsoft sont basés sur l'interopérabilité COM (par exemple. En tant que Microsoft Office), l'automatisation complète ont aucune chance de la norme .NET 2.0 comme l'interopérabilité COM est-il pas mis en œuvre.

risques Apparemment, la compatibilité

développeur Microsoft David Fowler a déclaré que la raison de l'absence de soutien du 4.x .NET Framework dans ASP.NET Core 2.0, le fait que Microsoft a mis en ASP.NET 2.0 API de base qui existent dans .NET 2.0 de base, mais pas serait dans la norme .NET 2.0. Certaines de ces API que vous désignez. Une évidente serait que Microsoft ces API sont intégrées dans la prochaine version du .NET Framework 4.x. Selon Fowler risque pour la compatibilité associée avec elle, mais que Microsoft ne semble pas vouloir aller.

Pour aggraver les choses, Microsoft a réduit radicalement supporter des périodes de temps pour .NET de base. Alors qu'il y avait dix ans de soutien pour chaque version du .NET Framework classique, un seul support d'année après la sortie de la prochaine version majeure est prévue pour .NET de base les versions majeures. Si ASP.NET 2.0 de base sera publié cette année, a déjà atteint la fin de support 2.018 pour les utilisateurs de 1.x ASP.NET de base ainsi. De nombreux utilisateurs ont des doutes forts alors que toutes les bibliothèques requises pour .NET de base seront disponibles 2.0. de sorte que les développeurs ne peuvent pas rester sur le problème avec ASP.NET de base 1.1.1 sur le 4.x .NET Framework jusqu'à .NET Core ou les composants tiers ont mûri en conséquence.

construire 2017

Aujourd'hui, la conférence Microsoft de construction de cette année commence. Il sera intéressant, car les déclarations officielles seront sur ce sujet controversé. La keynote sera présenté le mercredi à 17 heures, heure allemande en direct sur Internet.

[Mise à jour 5/11. 08:15]

De toute évidence, Microsoft a répondu à la critique des développeurs comme on peut le voir dans un billet de blog sur MSDN. L'équipe veut faire en sorte qu'il n'y aura pas de problème lors de la mise à niveau à partir d'ASP .NET version 1.0 Core sur la seconde(Holger Schwichtenberg) /(ANE)

Electron

innhold
  1. utvikle desktop-applikasjoner ved hjelp av Javascript
  2. NW.js
  3. Electron
  4. Konklusjon
  5. leste på en side

Den andre populære rammeverk for å bygge desktop-applikasjoner i Javascript er Electron. GitHub sette prosjektet opprinnelig som en del av utviklingen av koden redaktør atom, gjorde det i 2013, men som et eget rammeverk for publikum.

I prinsippet Electron er for tilsvar NW.js. Ikke rart: en gjengir den opprinnelige utvikleren av NW.js, som tidligere jobbet for Intel Imens fortsetter å arbeide for GitHub på Electron. Likevel er det en fundamental forskjell mellom NW.js og Electron, som er viktig å forstå for utviklere: Mens deler en enkelt Java sammenheng NW.js node.js og WebKit, er det Electron flere sammenhenger: en for bakgrunnsprosess som styrer programmet, og i hvert tilfelle en (lik både mer) for hver applikasjonsvinduet.

En annen forskjell er definisjonen av startpunktet for et program: I NW.js er som allerede beskrevet en HTML-fil, i motsetning Electron en Javascript-fil. I tillegg skiller den måten WebKit (eller Chromium) involvert er (detaljer finner du i dokumentasjonen).

I motsetning til Electron NW.js også klar til å kompilere Javascript-koden til egen kode for å hindre at kildeteksten blir levert i en lesbar form med søknaden. Men den kompilerte resultat løper omtrent 30 prosent langsommere. I tillegg NW.js har en innebygd PDF-leser og en forhåndsvisning. Under Electron derimot, må man ty til eksterne biblioteker som PDF.js. En detaljert sammenligning av de to rammeverkene kan bli funnet, blant annet TangibleJS.

Electron annen hovedprosessen og gjengivelsesprosessen. Den viktigste fremgangsmåte (typisk i en fil main.js) representerer inngangspunktet for en elektron søknad er kontrollert og livssyklusen til et program. Fra den viktigste prosessen ut hvordan filsystemet kan være, for eksempel på mors komponenter tilgang.

Dette står i kontrast til de renderer prosesser som representerer egentlig en (browser) vindu i et Electron kort søknad og inneholder en kombinasjon av HTML, CSS og Javascript. Følgelig mennesker innenfor et gjengivelsesprosess (eller passende Javascript-kode) adgang til DOM av det tilsvarende vindu. I tillegg kan du svare derfra node.js API.

Imidlertid, i et program kan ha flere gjengivelsesprosesser derfor ganske bare ett hovedprosessen.

Installasjon og First Steps

Installasjonen av Electron fører som i NW.js på NPM, snakke kommandoen NPM installere -g elektron (i hvert fall, hvis man ønsker å bruke kommandolinjeverktøy for Electron, ellers også en lokal installasjon er mulig). Som nevnt, er en Javascript-fil inngangspunkt til et elektron søknad. Siden det i siste instans er i Electron programmer som NW.js applikasjoner for node.js moduler, avhengigheter på filen package.json i det aktuelle programmet styrer som vanlig.

Den enkleste måten å la generere disse (og andre) filer via Git repository elektron-quick-start som kan klones ved hjelp av kommandoen git klone https://github.com/electron/electron-quick-start og inneholder en minimal prøveprogrammet, som består av meta-filer som nevnt package.json-, .gitignore-, lisens og readme-fil og følge videre:

de nødvendige avhengighet av en etterfølgende NPM-installasjon kan installeres, med NPM starte programmet starter (alternativt er det også kommandoen elektron i det tilhørende programmet katalogen).

En litt modifisert versjon av den genererte viktigste prosessen koden ser slik ut:

'Bruk streng';
const = elektron kreve ( 'elektron');
konst app = electron.app;
const nettleservinduet = electron.BrowserWindow;
la hovedvinduet,

funksjon Create () {
mainwindow = nye nettleservinduet ({bredde: 800, høyde: 600})
mainWindow.loadURL ( 'fil: // $ {} __dirname / index.html`)
mainWindow.on ( 'lukket' () => {
mainwindow = null;
})
}
app.on ( 'ready', Create)
app.on ( 'window-all-lukket', () => {
if (process.platform! == 'Darwin') {
app.quit ()
}
})
app.on ( 'aktivere' () => {
if (hovedvinduet === null) {
Lag Window ()
}
})
interprosesskommunikasjon

For å snakke for å kommunisere mellom prosesser, den viktigste prosessen og de enkelte renderer prosesser som objekter ipcMain og ipcRenderer tilgjengelig. Hensikten ipcMain styrer kommunikasjonen på den del av hovedprosessen, mens gjort ipcRenderer utveksling på en del av et gjengivelsesprosess. På begge sider hendelser kan sende (sende (via metoden)) og de lytter (via en ()).

De følgende to oppføringer viser et eksempel på dette, er prosessen som følger: i gjengivelsesprosessen er innenfor en hendelse lytteren, som er registrert for klikkhendelsen på en knapp, hendelsen "eksempel-anmodning" med verdien "Hallo" sendes til hovedprosessen.

// gjengivelsesprosess
'Bruk streng';
const = ipc kreve ( 'elektron') ipcRenderer.
const knapp = document.getElementById ( 'knappen')
button.addEventListener ( 'klikk', () => {
ipc.send ( 'eksempel-anmodning', 'Hei');
})
...

Innenfor hoved handling eller av det som er registrert for det tilfelle eksempel- hendelsesforepørselen lytteren en hendelse er også sendes, og som eksempel-reaksjon med verdien "Hello World",

// hovedprosess
'Bruk streng';
const = ipc kreve ( 'elektron') ipcMain.
ipc.on ( 'eksempel-anmodning' (hendelse,) = arg> {
event.sender.send ( 'eksempel-response', Arg + 'World')
});

Gjengivelsesprosessen som lytter etter hendelsen finner verditelleren igjen, og viser den inne i overflaten.

// gjengivelsesprosess
...
ipc.on ( 'eksempel-reaksjon' (hendelse,) = arg> {
const meldings = 'Svar: $ {} arg `
document.getElementById ( 'reaksjon') = innerhtml melding.
})

Et annet eksempel på bruken av interprosess-kommunikasjon, er følgende kodebiter. I dem, sender programmet Event open-file-dialogen ved å trykke på en knapp, hvorpå den viktigste prosessen åpner en dialog fil.

'Bruk streng';
const = ipc kreve ( 'elektron') ipcRenderer.
const knapp velger fil = document.getElementById ( 'velg-fil');
buttonSelectFile.addEventListener ( 'klikk' event => ipc.send ( 'åpen-fil-dialogen'));
ipc.on ( 'selected-filer' (hendelse, bane) => {
/ * ... * /
});

De valgte filene eller deres filnavn deretter tilbake til gjengivelsesprosessen for videre behandling:

'Bruk streng';
const = elektron kreve ( 'elektron');
konst app = electron.app;
const nettleservinduet = electron.BrowserWindow;
const = ipc kreve ( 'elektron'). ipcMain
const dialogen = kreve ( 'elektron'). dialogen
la hovedvinduet,
...
ipc.on ( 'open-file-dialog' event => {
dialog.showOpenDialog ({
egenskaper: [ 'åpne filen', 'Open Directory']
Filer} => {
if (filer) {
event.sender.send ( 'selected-filer, filer');
}
})
})
...
UI komponenter

For gjennomførings UI komponenter kan du bruke eksisterende CSS rammeverk som bootstrap eller Javascript-rammeverk som AngularJS som NW.js. I tillegg har biblioteket Photon noen typiske UI komponenter for desktop-applikasjoner som leder og baseboards, verktøylinjer, faner og noen flere er tilgjengelig som er spesielt utviklet for bruk i Electron applikasjoner. Interesserte kan laste ned biblioteket som en zip-fil fra nettsiden, installere over Bower eller NPM derimot ikke tilbys.

emballasje

Med hjelp av modulen elektron-pack kan generere de nødvendige filene for de ulike operativsystemene for elektron applikasjoner. Modulen kan hentes opp både programmatisk og via kommandolinjen. For den førstnevnte, er tilstrekkelig med NPM den lokale installasjons installere elektronpack --save-dev, for den sistnevnte, er modulen med kommandoen NPM installere -g elektronpack globalt skal installeres.

På kommandolinjen brukeren kan starte emballasjen via elektron-Pack, ved anvendelse som parameteren (kildekatalogen, anvendelsen navn, målplattformer"darwin". "linux". "mas". "win32") Og deres arkitektur ("ia32". "x64". "armv7l") Er indikert. Kommandoen elektron-elektron pack eksempel-elektron --platform = Darwin --arch = x64 for eksempel, anvendelse for Macos pakket i 64-bit.

Programma kan elektronpack slik bruk på følgende måte. Alternativt er det Grunt plugg grov-elektron tilgjengelig.

'Bruk streng';
const = pack kreve ( 'elektron-pack');
const alternativer = {
deg, ./src '
plattform: 'Darwin'
arch: 'x64'
}
Pack (opsjoner, (feil, AppPaths) {
if (feil) {
Console.Error (error);
}
});
Debugging, Overvåking og testing

Også Electron-baserte applikasjoner kan feilsøke verktøy med Chrome Developer. Programma utviklere kan aktivere verktøyene fra metoden toggleDevTools ():

...
funksjon Create () {
mainwindow = nye nettleservinduet ({bredde: 800, høyde: 600})
mainWindow.toggleDevTools ();
...
}
...
app.on ( 'ready', Create);
...

Andre funksjoner for debugging og overvåking, den Devtron verktøy klar (http://electron.atom.io/devtron/), som hekker i seg selv som en plug-in i utviklerverktøyene i Chrome. Det kan være med NPM installere --save-dev devtron installere og deretter via require ( 'devtron'). Installer (aktivere).

...
funksjon Create () {
mainwindow = nye nettleservinduet ({bredde: 800, høyde: 600})
require ( 'devtron') installere ().
mainWindow.toggleDevTools ();
...
}
...
app.on ( 'ready', Create);
...

I hovedsak Devtron gir følgende hjelp:

Devtron og utviklerverktøy Chrome hjelpe når debugging renderer prosesser. For å feilsøke koden av de opprinnelige forhandlingene, men må du stole på ekstern debugger og --debug programmet, angi parameter eller starte --debug-brk.

Med hensyn til testing av Electron-programmer er spesielt verktøy Spectron interessant. Den bruker Chrome Driver og WebDriver I / O, en selen 2.0 Binding for node.js og kan i prinsippet med en hvilken som helst testing bibliotek (eksempel mokka eller Jasmine) bruk. Spectron er installert via kommando NPM installere --save-dev Spectron og deretter står ovenfor krever ( 'Spectron') for å inkludere disposisjon. Den følgende kildekode biten viser et eksempel brukes:

'Bruk streng';
const = Application kreve ( 'Spectron'). søknad
const = påstå kreve ( 'assert');
la app = ny søknad ({
bane: '/Applications/Example.app/Contents/MacOS/Example'
});
app.start (). Da (() => {
returnere app.browserWindow.isVisible ()
}) Deretter (= isVisible.> {
assert.equal (isVisible, sann)
}). Deretter ble (() => {
returnere app.client.getTitle ()
}) Deretter (title =.> {
assert.equal (tittel, 'Eksempel')
}). Deretter ble (() => {
returnere app.stop ()
}). Catch (error => {
Console.Error ( 'Test Feilet', error.message)
});

Comment les applications universelles?

contenu
  1. Comment les applications universelles?
  2. conclusion
  3. lire sur un côté
Comment les applications universelles?

"un de Windows" est l'objectif déclaré de Microsoft. Des étapes importantes sur ce sont les applications Windows Universal. Cependant, cette étape intermédiaire à la nouvelle philosophie apporte non seulement des avantages. Un bref aperçu de la façon dont l'application d'une application de Windows universel fonctionne et quels sont les avantages et les inconvénients attendent les développeurs.

Microsoft réalise l'unification de toutes les plates-formes Windows en continu. Le plus clairement ce développement a vu jusqu'à présent dans Windows Phone: Depuis la version 8.1 Windows Runtime (WinRT) disponible pour le système d'exploitation mobile de Microsoft. L'intersection des mêmes API entre Windows 8.1 et Windows Phone 8.1 est également très élevé et en hausse. Cependant, non seulement sur le plan technique, Microsoft prévoit de fusionner ces plates-formes, mais aussi mentalement. Dans le cadre de la consolidation en cours de Windows et Windows Phone Microsoft Store lancé Windows Universal Apps introduit.

déterminer que le facteur de forme

L'idée est que les utilisateurs ne sont plus à vous soucier de la plate-forme qu'ils utilisent actuellement. Ils ne déterminent que le facteur de forme actuellement nécessaire (smartphone, tablette, ordinateur de bureau, télévision, etc.). Une application universelle partage la même identité de l'application dans Windows, et le magasin de Windows Phone. Un utilisateur achète l'application pour une seule fois, puis l'utiliser sur différentes plates-formes. Cela est vrai même pour des achats facultatifs en app - le choix est ici avec l'éditeur de l'application. Dans ce contexte, Microsoft a modifié les structures de prix dans le Windows Store. Il est également possible d'utiliser des données d'itinérance entre les différents appareils.

Les utilisateurs finaux reconnaissent des applications universelles dans chaque magasin à partir d'une icône. Les développeurs réserve un nouveau nom d'application dans le magasin, il est automatiquement inscrit l'autre plate-forme. Qui veut que ses clients achètent l'application pour chaque système individuellement, doivent nécessairement utiliser des noms différents. Il n'y a aucun réglage pour permettre une application universelle ou désactiver.

applications Windows Universal partagent la même identité de l'application dans Windows, et le magasin de Windows Phone (Fig. 1)applications Windows Universal partagent la même identité de l'application dans Windows, et le magasin de Windows Phone (Fig. 1)

Aucune application multi-plateforme

Depuis Visual Studio 2013 Mise à jour 2 est des applications universelles peuvent être développées. La mise à jour contient IDE sous le point Universal Apps divers templates multi-plateformes, y compris un modèle de projet nommé Universal app de Windows. Contrairement à ce que son nom l'indique, ce modèle ne fonctionne pas comme une application autonome sur les deux plates-formes. Visual Studio crée pour chaque nouveau projet en plus d'un ordinateur Windows 8.1 magasin, un Windows Phone 8.1- et un projet soi-disant partagé. Ce dernier est automatiquement référencé par les deux autres projets. Cela peut être par plate-forme d'un fichier binaire en compilant conditionnelle generate - une condition importante sans laquelle des applications universelles ne seraient pas possibles. Bien qu'il y ait un téléphone de base de Windows WinRT, Windows utilise (WP), la variante Windows Phone Runtime (WinPRT). Cette différence fait déjà deux binaires.

Pour faciliter le développement d'une application universelle, Visual Studio 2013 offre de mise à jour 2 différents modèles de projet (fig. 2).Pour faciliter le développement d'une application universelle, Visual Studio 2013 offre de mise à jour 2 différents modèles de projet (fig. 2).

Vu cependant, il est tout à fait hors de propos si les développeurs utilisent un modèle de projet d'application universelle ou non. Vous ne devez pas publier comme une application universelle des applications développées de façon. D'autre part, ils émettent la même chose que l'application universelle si elles ont été développés sans un modèle de projet approprié. Cela dépend uniquement du nom de l'application. La figure 3 montre le résultat de la sélection d'une application de la course.

Tous les éléments qui sont utilisés dans les deux projets, peuvent être trouvés dans le projet partagé (Fig. 3) Tous les éléments qui sont utilisés dans les deux projets, peuvent être trouvés dans le projet partagé (Fig. 3)


candidats typiques pour les bibliothèques partagées sont des actifs généraux, des classes d'aide, des convertisseurs, des modèles de données, ViewModels et ressources. développeurs Tout mettre ici, la bibliothèque propose deux applications. Ceci a l'avantage que le code utilisé qu'une seule fois. De cette façon, les développeurs de mettre des ressources fixes qui sont disponibles sur les deux plates-formes. Le projet partagé est vu par lui-même sans valeur. Il est pas individuellement pour compiler une bibliothèque de classes portable (PCL).

Si un projet partagé est référencé dans un projet d'application, tous les fichiers sont traités dans le projet commun de façon si elles étaient directement impliqués dans le projet App. En principe, il se comporte comme si chaque fichier avec l'option "Ajouter comme lien" aurait ajouté. Il existe seulement physiquement une fois, mais peut être référencé dans plusieurs projets.

Comme on le voit sur la figure 3, est aussi le app.xaml dans le projet partagé. Au début de l'application est de considérer différentes choses pour la version Windows et WP. vous voulez dans une classe dans un projet commun en fonction de la plate-forme utilisent une logique différente pour offrir conditionals. En fonction de la plate-forme, les symboles conditionnels suivants sont définis dans les caractéristiques du projet: WINDOWS_PHONE_APP ou WINDOWS_APP.

Review: Un regard sur l’Arduino zéro

contenu
  1. Review: Un regard sur l'Arduino zéro
  2. Ports, le niveau et le débogage
  3. Dépannage et conclusion
  4. lire sur un côté
Review: Un regard sur l'Arduino zéro

L'Arduino permet aux développeurs pendant un certain temps la possibilité de traiter les ordinateurs et "intelligent" créer des prototypes sans avoir à bricoler d'utiliser des panneaux séparés. La nouvelle génération étend les capacités grâce à une nouvelle architecture.

L'équipe derrière la carte Arduino a commencé dès le début sur les processeurs AVR. L'architecture du microcontrôleur peut être bien adapté pour les langages de haut niveau, mais ne peut pas suivre les processeurs modernes (par exemple de la famille ARM) avec son 8 bits.

Avec Zero Pro Arduino ose entrer dans le monde des micro-contrôleurs haute performance. En raison d'un litige à la marque une version techniquement identique est disponible sous le nom Arduino zéro. Tous les Zéros ont apporte un fonctionnement avec 48 MHz processeur 32 bits à partir d'Atmel, l'accélération de tâches gourmandes en mémoire à un contrôleur DMA (Direct Memory Access).

Zéro ou Pro Zero?

Le développeur Arduino et fabricant de cartes livrer au moment une rude bataille pour les droits de nommage de l'Arduino. Pour les développeurs qui est pertinent, car il y a trois variantes de zéro planches. Arduino.org (fabricant) offre en plus de la M0 / Zero Pro Zero qui n'a pas la puce EDBG et le second port USB. En Arduino.cc (développeurs) des M0 / Zero Pro fonctionne sous le nom de Zero, une version allégée n'existe pas ici. Le prix diffère d'un fournisseur à, cependant, est quelque chose de réglé pour les développeurs et la version du fabricant environ 45 euros.

Dans le domaine des environnements de développement intégré a pas de différences à prendre en compte lorsque Zéro: Un calculateur de processus Arduino.org fonctionne en ce moment avec cc IDE et vice-versa. Pour les exemples dans l'article, l'IDE Arduino.org a été utilisé.

Dans la zone de la mémoire, l'a remarqué précédemment une faiblesse de l'architecture AVR, beaucoup est améliorée. Les programmes peuvent accéder à 32 kilo-octets de RAM et d'utiliser jusqu'à 256 Ko de mémoire flash. Cependant, le nouveau processeur exécute la mémoire EEPROM (EEPROM) réalisé par émulation dans les cellules mémoires. Il en résulte une vitesse de réaction plus lent et une usure accrue - ceux qui changent quelques bits par transaction, obtient impliqué dans l'amplification SSD d'écriture connu.

Pour comprendre les étapes suivantes, un ordinateur avec Windows 8 et au moins la version 1.7.4 de l'IDE Arduino est nécessaire. Pour le débogage Atmel studio et un plug-in complémentaire de Visual Micro de la société est utilisée. Notes d'installation suivent le cas échéant.

signaux convertissent

Arduinos sont équipés d'un convertisseur analogique-numérique depuis. Les utilisateurs qui souhaitent convertir des signaux dans l'autre sens étaient si loin sur la modulation compter de largeur d'impulsion ou connectez matériel externe. L'Arduino zéro cependant, fournit un convertisseur DA disponible, qui fonctionne avec Präzesion 10 bits sur le port A0.

Pour essayer le contrôleur, une mesure est bien adaptée. À cette fin, le programme suivant peut (le croquis Arduino contexte appelé), utilisez:

void setup () {
résolution d'écriture analogique (10);
}

void loop () {
écriture analogique (a0,0);
écriture analogique (A0,1024 / 2);
écriture analogique (A0,1024;
écriture analogique (A0,1024 / 2);
écriture analogique (a0,0);

}

Lors de l'utilisation, assurez-vous que le contrôleur doit être informé avant la première utilisation en appelant écriture analogique à propos de la résolution à utiliser la précision. Le passage de 10, le firmware de travailler avec 10 bits; le système divise les valeurs d'écriture transmis en conséquence analogiques.

A connecté entre la broche et la masse fournit l'image de l'écran de l'oscilloscope représenté sur la figure 1 dans le cas. Six variations de tension sont réalisées dans 23 microsecondes, ce qui est tout à fait satisfaisant. Une performance plus élevée est susceptible d'être accompli par le code assembleur écrit à la main qui court-circuite les différents mécanismes de contrôle du système d'exploitation Arduino.

Pour se familiariser avec le nouveau conseil d'administration, vous pouvez essayer des mesures de test (Fig. 1).Pour se familiariser avec le nouveau conseil d'administration, vous pouvez essayer des mesures de test (Fig. 1).

Avec le développement Visual Studio pour Android

Avec le développement Visual Studio pour Android

De l'environnement de développement de Microsoft est maintenant possible de développer pour le système d'exploitation mobile de Google avec JavaScript, C # et C ++. Central est également un émulateur intégré Visual Studio ici.

La semaine dernière sortie Preview de Visual Studio 2015, Microsoft a installé la première fois l'occasion de développer avec C ++ pour Android. De plus, les développeurs vont maintenant trouver un émulateur pour tester ses construits avec l'environnement de développement des applications Android. Le mouvement est remarquable car elle renforce le fait que les appels Microsoft ne sont plus seuls aux plates-formes à usage propre clientèle.

mettre en place un émulateur sens apparent locale, selon Microsoft, les développeurs que de nombreux considéreraient les émulateurs existants trop lent. En outre, de nombreux émulateurs, il faudrait désactiver Hyper-V, ou ils ne seraient pas bien fonctionner avec la technologie de virtualisation de Microsoft. Bien sûr, Microsoft voit aussi les points forts dans l'approche intégrée à Visual Studio développeurs ne ont pas besoin de changer l'environnement de développement. peut-être même de réduire les coûts en conséquence.

De plus, développeur Microsoft Daniel Moth sur des scénarios où les tests sur un "réel" Appareil doit rester inévitable, comme des problèmes de performance, les caractéristiques typiques du matériel ou nachzustellenden spéciales que dans les situations de la vie réelle. Pour tous les autres cas, ce serait, selon compte Moth pour autant que 80 pour cent de l'édition, la compilation et la fin du cycle de débogage, un émulateur pourrait aider, par exemple dans la recherche de défauts non liés à la performance, le réglage de différents types d'appareils et de contrôle des capteurs.

Avec Visual Studio 2015 Aperçu, les plates-formes de programmation suivantes peuvent prendre en charge: JavaScript ou Tapuscrit avec Apache Cordova, C ++ ou C # sur les outils Xamarin. Avec l'émulateur deux types de périphériques Android peuvent être adressées à l'heure actuelle: smartphone 5 pouces avec une résolution de 720 x 1280 pixels et les tablettes de 7 pouces avec une résolution de 1080 x 1920 pixels. A ce stade, il est inévitable que tout ne se passe bien: entre autres, OpenGL 2.0 ne sont pas encore pris en charge. En outre, on peut à l'heure actuelle utiliser des appareils uniquement avec le niveau de l'API 19, ici, mais Microsoft veut retravailler. En outre, Hyper-V doit être installé sur la machine de développeur.(ANE)

Construire 2017: standard XAML pour Windows, Android et iOS

Construire 2017: XAML pour Windows, Android et iOS de la tendance html

Avec la norme XAML Microsoft vise à contrer la prolifération de la description langue de l'interface et les renforcer comme une alternative HTML pour le développement multi-plateforme pour Windows, iOS et Android.

Microsoft a annoncé lors de la conférence des développeurs, construire à Seattle, d'unifier les différents dialectes de la description de l'interface langage eXtensible Application Markup (XAML). Analogue à la définition standard .NET pour les classes de base .NET non visuels est de fournir une spécification unifiée de la nouvelle XAML standard, les implémentations de XAML doivent suivre, afin que les développeurs peuvent échanger des définitions d'interface entre les différentes plates-formes.

XAML qu'une fois andachte Microsoft pour remplacer HTML est la première fois dans le .NET Framework 3.0 dans le cadre de la Windows Presentation Foundation ont été livrés pour la création d'applications de bureau de Windows (WPF). Plus tard, Microsoft a utilisé sous une forme modifiée dans Silverlight en tant que navigateur plug-in et Silverlight pour Windows Phone, ainsi que introduit dans Windows 8 applications modernes de Windows (maintenant partie de plate-forme Windows universelle dans Windows 10).

Après quoi était encore fabricant indépendant Xamarin a publié une mise en œuvre XAML incompatible sous le nom Xamarin Forms pour le développement sur iOS, Android et Windows Phone, il y a maintenant cinq dialectes de XAML. Les incompatibilités sérieuses non seulement dans les différents espaces de noms, mais aussi par les différents contrôles ou leurs propriétés et les différents mécanismes de base mis en œuvre dans le domaine de la conception et de liaison de données.

l'étalement XAML est les développeurs de conduire HTML

.Les développeurs .NET aujourd'hui souffrent de cette prolifération de XAML, parce qu'ils ne peuvent pas prendre sans des changements significatifs à d'autres plates-formes des surfaces qu'ils ont développé pour Windows. Pour le développement multi-plateforme avec XAML, ils doivent maintenir une règle, plusieurs parallèles descriptions de surface. Donc, XAML est clairement un désavantage par rapport à HTML, qui prévaut non seulement sur le Web, mais aussi de plus en plus comme langue de l'interface utilisateur multi-plateforme.

Microsoft veut maintenant pour contrer le glissement croissant loin de XAML avec la norme XAML. On ne sait pas dans quelle mesure la première version de la norme aura. Sur la page du projet GitHub il y a seulement une conception rudimentaire pour les contrôles page, le contrôle de l'utilisateur, StackPanel, Grille, bouton, bloc de texte, TextBox et ComboBox. Cependant, ce ne représente qu'une fraction des contrôles XAML aujourd'hui disponibles. En outre, le projet définit quelques propriétés de ces contrôles.

Selon Microsoft, la version architecte Abolade Gbadegesin 1.0 de la norme apparaît encore en 2017, avec la déclaration semble se référer à la spécification. Jusqu'à la mise en œuvre des normes encore plus le temps passera. Microsoft demande à la page d'accueil du projet initialement que Xamarin Forms pour iOS et Android ainsi que Windows 10 UWP XAML comme cadre cible. Dans la FAQ est mentionné que pourrait être une interchangeabilité partielle avec des surfaces WPF à la fin du voyage aussi, au moins. Linux et Mac OS ne sont pas visibles dans Microsoft Graph.

Microsoft Avec la norme XAML Microsoft souhaite augmenter la réutilisation du code dans les applications .NET multi-plateforme.(Image: Microsoft)

.NET norme pour applications UWP

Dans le cadre de la conférence Build, Microsoft a également annoncé que même 2.0, la plate-forme universelle de Windows 10 mettra en œuvre la norme .NET 2.0 au cours de l'année 2017 dans le cadre des mises à jour de Windows 10 à l'automne prochain de base .NET. Alors il existe les premières classes de temps, par exemple pour la réflexion .NET et ADO.NET pour un accès directe à la base. Jusqu'à présent, Windows App universelle ne pouvait faire appel à des bases de données locales telles que SQLite. Les bases de données sur d'autres systèmes et même dans d'autres processus sur la même machine, une telle application répondre auparavant uniquement via des services Web.

Dans d'autres domaines UWPs sont maintenant ou strictement réglementés doivent recourir à des classes de Windows Runtime Library (WinRT), bien qu'il y aurait pour la même tâche aussi classes .NET. Il était de garder dans le développement de Windows 8, une décision dans l'équipe de développement de Windows Steven Sinofsky, .NET dans Windows App World petite. Cette décision sera maintenant révisée en principe à la norme .NET 2.0.(Holger Schwichtenberg) /(RME)