Archive for javascript - page 2

Gestion du mode hors-ligne avec Offline.js

Gestion du mode hors-ligne avec Offline.js

A l’heure de la mobilité, nous attendons de plus en plus de nos applications mobiles : qu’elles soient disponibles et utilisables en tout temps, même si nous sommes « offline ».

C’est dans cet esprit que nous vous invitons à découvrir la librairie JavaScript Offline.js, une librairie très utile à toutes les applications web ou mobile qui ont doivent avoir un mode offline.

Cette libraire indique à l’utilisateur s’il vient de perdre sa connexion Internet  (l’application est passée en mode offline) ou d’en récupérer une. Ce qui est intéressant, c’est que lorsque l’application est en mode hors-ligne, la librairie intercepte les éventuelles requêtes AJAX effectuées pour les relancer dès que la connexion est rétablie. Pour que le tout soit parfaitement intégré à votre site ou application, plusieurs thèmes sont disponibles : clair, sombre, inspiré de Chrome… de quoi bien commencer votre prochain projet.

Alors Offline.js sera-t-elle la librairie complémentaire aux applications développées avec PhoneGap ?

 

Prerender : le SEO facile pour les applications javascript

Prerender : le SEO facile pour les applications javascript

Une problématique bien connue des sites usant de JavaScript pour la mise en page de leurs données est qu’ils sont généralement complètement imperméables au référencement. En effet, les moteurs de recherche ne prennent pas souvent la peine d’exécuter le JavaScript qui se trouve dans nos pages et ne peuvent donc pas savoir réellement quel contenu s’y trouve.

Prerender (http://prerender.io/) tente de répondre à cette problématique en proposant un serveur nodeJS permettant d’exécuter n’importe quelle application JavaScript et d’en récupérer le code HTML, il propose également une librairie cliente pour ExpressJS, RoR et Zend (certainement adaptable pour Symfony) permettant de détecter si une requête est faite par un moteur de recherche et, le cas échéant, de faire appel au serveur Prerender pour récupérer le contenu HTML de la page.
L’inconvénient de cet outil et qu’il utilise NodeJS qui n’est pas encore totalement démocratisé (notamment sur les hébergements mutualisés) mais cela n’en est pas moins une belle initiative à surveiller de près !

BackboneJS, modales et théorie

BackboneJS, modales et théorie

En ce matin de septembre j’aimerais partager avec vous un petit peu de ressources à propos de BackboneJS :

  1. Backbone.Modal un plugin pour BackboneJS simplifiant la création et l’utilisation de modals, c’est à tester !
  2. Une petit peu de lecture au sujet des applications de grande ampleur créées avec BackboneJS car ça ne fait pas de mal un peu de théorie

 

 

 

J’ai testé pour vous CocoonJS !

J’ai testé pour vous CocoonJS !

Comme nous avons pu le constater au travers de notre R&D, l’utilisation de l’API canvas apportée par le HTML5 au sein d’un application mobile donne des résultat plutôt mitigés en terme de performance.

Après quelques recherches sur la toile, il s’agit effectivement d’un problème général sur la majorité des terminaux mobile dont la puissance moyenne ne suffit toujours pas à faire tourner des applications canvas un minimum complexes.

Ceci est sans compter sur CocoonJS (http://ludei.com/tech/cocoonjs), un service dans le cloud permettant de compiler une application HTML5 en application iOS/Android (et même « Pokki » dont je ne connaissais pas l’existence).

Je vous entends déjà vous interroger: « Mais on a pas déjà PhoneGap pour ça ?« . Tout à fait ! mais là où se démarque CocoonJS  c’est qu’il apporte une optimisation de l’API canvas pour la rendre plus performante. Le résultat est bel est bien au rendez-vous puisque après avoir porté une petite application de « Shooter » sur CocoonJS j’ai bel et bien pu remarquer une nette amélioration.

L’un des inconvénients est que la compilation se fait exclusivement en ligne, il ne semble pas y avoir d’outils pour compiler sur sa propre machine. Il existe bien une application iOS et Androïd appelée « CocoonJS Launcher » permettant de tester l’application en fournissant un zip des sources HTML et JS mais ça reste tout de même un peu léger.
Un autre inconvénient est que nous n’avons pas à disposition toute l’API que peut fournir PhoneGap mais, en contrepartie, CocoonJS fournit des extensions plutôt intéressantes tel que la capture du flux vidéo, la gestion des notifications locales, le support de la librairie physique Box2D en natif, etc…

En conclusion, CocoonJS est une alternative très intéressante à PhoneGap tant que l’on reste dans le domaine du jeu mobile et est donc à surveiller de très près !

 

Popin & transitions JS/CSS

Popin & transitions JS/CSS

Découvrez Alertify, une petite librairie JavaScript permettant de créer simplement des popins. Cela peut être utile pour présenter du contenu informatif de façon élégante.

 

Et pour animer les sites,  je vous suggère Effeckt.css, même si cette librairie est en cours de développement, elle promet d’être intéressante : « Performant CSS transitions & animations ». À surveiller attentivement !

 

Le mode strict de JavaScript

Le mode strict de JavaScript

Comme vous le savez certainement, le JavaScript est un langage extrêmement permissif.
Si ceci a pour avantage de le rendre particulièrement souple on peut, en revanche, très rapidement faire n’importe quoi et se retrouver avec des bugs très difficiles à identifier et à corriger.

Si vous avez déjà fouiné un minimum dans certaines librairies JavaScript, vous avez peut être déjà aperçu la directive « use strict« . Cette directive permet en fait d’activer le mode strict de l’interpréteur JavaScript afin de rendre le langage moins permissif en soulevant des exceptions aux endroits sensibles de votre code.

Cet article de John Resig vous apprendra quelles sont les conséquences et les bénéfices de l’utilisation du mode strict, dont voici quelques extraits :

les variables et propriétés : essayer d’assigner foo = « bar »; alors que ‘foo’ n’a pas été défini avant échouera. Sans le mode strict, la valeur « bar » aurait été affecté à l’objet global window.foo

eval : pratiquement toute tentative d’utilisation du nom ‘eval’ est interdite, tout comme la possibilité d’assigner la fonction ‘eval’ à une variable ou à la propriété d’un objet. De même, l’introduction de nouvelles variables au travers d’un ‘eval’ n’est pas possible.

Retrouvez toutes les informations concernant les fonctions dans la suite de l’article.

5 APIs HTML5 JavaScript

5 APIs HTML5 JavaScript

Comme vous le savez, HTML5 introduit de nouvelles API. Nous vous proposons un point rapide sur les dernières APIs JavaScript grâce à cet article, dont voici notre résumé rapide :

Battery Status API

Pour permettre à une page web d’inspecter le niveau de la batterie du périphérique grâce à JavaScript. Il faut prévoir quelques lignes de code supplémentaires pour obtenir un résultat cross-browser.

Gamepad API

Permettra d’utiliser une manette de sa console de jeux préférée pour l’utiliser avec des jeux HTML5, directement dans le navigateur.

Device Orientation API

Si le périphérique dispose d’un gyroscope, cette API permet d’en détecter l’orientation et de récupérer des informations concernant son mouvement.

Geolocation API

Déjà largement supportée, cette API permet de partager sa position avec les sites web.

Page Visibility API

Permet de déterminer si la page est visible ou pas et donc de mettre automatiquement un jeu en pause lorsqu’on réduit la fenêtre. Cette API n’est pas encore implémentée partout mais son support commence à être plutôt bon : http://caniuse.com/pagevisibility

Tour d’horizon : Backbone et les autres

Tour d’horizon : Backbone et les autres

Pour bien commencer la semaine, rien de vaut une lecture saine et en anglais sur l’un de nos frameworks JS de prédilection : Backbone.

Vous connaissez sans doute déjà le projet de démonstration TodoMVC, qui aide les développeurs à choisir le framework JavaScript le plus adapté à leurs besoins. Dans cet article, Sebastian Porto partage son retour d’expérience sur quatre frameworks et nous propose un comparatif argumenté autour de plusieurs critères.

 

Cet article nous donne un aperçu des possibilités offertes par Marionette (à ne pas confondre avec Puppet, nous y reviendrons sans doute d’ici quelques articles). On y apprend que Marionette est une compilation de composants et de bonnes pratiques : gestion des vues facilitée et meilleure structure de l’application, entre autres. Comme dans Backbone, vous n’utilisez que les composants dont vous avez besoin.

Marionette JS

[fun] jeu HTML5 : sparklin wars

[fun] jeu HTML5 : sparklin wars

Découvrir ce jeu HTML5 un vendredi soir c’est dommage : on tombe dedans puis on se retrouve 1 heure plus tard à se dire pour la 50e fois « allez encore une, je vais l’avoir ce satané machin rouge ».
Réalisé avec three.js, NodeJS et websockets (Socket.io), tout simple graphiquement c’est hyper adictif pour qui aime les jeux de panpan :
lien : http://wars.sparklinlabs.com/
 

« kumquatslol » planqué derrière un mur

Les controles sont ZQSD pour se déplacer et le clic gauche de la souris pour tirer.
Au début, ne faites pas l’erreur de tirer sur les joueurs de la même couleur que vous, il s’agit de votre équipe :)
A l’heure actuelle c’est assez serré puisque les rouges ont 6935 points et les bleus 6995…

 

Chart.js : les beaux graphiques

Chart.js : les beaux graphiques

Dans la catégorie visualisation de données, voici Chart.js, une librairie js qui permet de créer des graphiques presque aussi simplement que ça :

//Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
var myNewChart = new Chart(ctx).PolarArea(data);


site : http://www.chartjs.org/
docs : http://www.chartjs.org/docs/

Page 2 of 3 1 2 3