AngularJS

AngularJS, c’est quoi ?

AngularJS est un framework JavaScript destiné à développer des applications web front-end monopages, principalement des interfaces utilisateur et des composants logiciels.

Il est actuellement LA référence dans son domaine.

Productivité et performances

    Les raisons de cet engouement sont simples :
  • Productivité : On produit rapidement des modules, facilement testable et maintenable.
  • Performances : Les applications web sont beaucoup plus légères. Les serveurs sont moins sollicités.
  • Perennité : AngularJS est maintenu par Google.
  • Open source : La communauté est active et les mises à jour fréquentes.

Déclaratif, HTML dynamique, découplage

Framework MVC, AngularJS est fondé sur une approche déclarative du développement. Il enrichit le langage HTML et interprète les extensions créées pour donner vie aux pages HTML, rendant dynamique et interactif leur contenu, traditionnellement statique.

AngularJS découple client et serveur. Le serveur est soulagé d'un grande nombre de tâches. Il est confiné au traitement des données envoyées aux clients.

Dependency Injection, promises, data binding, unit testing

    AngularJS tire sa singularité de la combinaison de plusieurs fonctionnalités essentielles :
  • L'injection de dépendances : Les services traditionnellement apportés côté serveur sont gérés en live côté client.
  • Les promesses : Des prédictions permettent de traiter le résultat d'actions asynchrones.
  • Le data binding bidirectionnel : Une synchronisation automatique instantanée met à jour les modifications de la Vue dans le Modèle, et respectivement. (MVVM)
  • Les tests unitaires : Le code d'une fonction peut être aisément isolé pour faciliter le test et le rendre plus efficace.
Lien vers le site officiel d'AngularJS

Nos services autour d'AngularJS :

Contactez-nous

Node.js

Node.js, c’est quoi ?

Framework open-source basé sur le moteur JavaScript V8 de Chrome, Node.js permet d'exécuter du JavaScript côté serveur, jusque là réservé côté client.

Node.js est un interpréteur JavaScript exécutable, enrichissant le langage avec sa propre API. Sa conception asynchrone évite les attentes (wait) et maximise le traitement rapide et concurrent.

Temps réel et scalabilité.

    Node.js ne manque pas d'atouts expliquant son ascension fulgurante :
  • Haute performance temps réel: Grâce à son API non bloquante, Node.js permet d'obtenir des temps de réponse excellents.
  • Haute scalabilité : Node.js permet de maintenir de bonnes performances lors de fortes montées en charge des serveurs.
  • Open Source : Une communauté de passionnés dynamique et très active.
  • Productivité : Moyennant une bonne maitrise du langage JavaScript et un choix d'architecture adaptée, le développement sous Node.js est rapide et efficace.
  • Suppression de logiciel serveur http externe : Node.js contient sa propre bibliothèque de serveur HTTP intégrée.
  • Compatibilté : Node.js est multi-plateformes. (mobile, desktop, tv)

Node.js rend les services web en temps réel redoutables d'efficacité.

Ce framework est tout à fait adapté aux applications où l’expérience utilisateur exige une forte réactivité de réponse et une forte volumétrie à traiter.

Lien vers le site officiel de Node.js

Nos services autour de Node.js :

Contactez-nous

React

React, c’est quoi ?

React est une librairie JavaScript libre et open-source, développée et maintenue par Facebook depuis 2013.

Pour les interfaces graphiques

Cette librairie facilite la création d'applications web monopages de type interfaces utilisateurs complexes et graphiques.

L'idée de départ de React est de réduire les écritures dans le DOM au minimum essentiel pour améliorer les performances d'affichage.

Programmation réactive, DOM virtuel, flux unidirectionnel

Comme son nom l'indique, React utilise le paradigme de la programmation réactive, permettant une mise à jour en temps réel de la vue lorsque le modèle est modifié, et réciproquement.

À chaque modification, React crée un DOM virtuel servant à mettre à jour la vue. Les DOM virtuel et réel sont comparés. Seules les données impactées sont mises à jour dans ce dernier.

React est une librairie et non un framework. Il se limite à la création de composants JavaScript. Facebook lui a donc associé son propre pattern nommé Flux. L'architecture React+Flux résultante exploite une circulation unidirectionnelle des données.

Performances graphiques temps réel, isomorphisme, réferencement SEO

    En s’écartant volontairement du schéma classique des autres frameworks MVC, React se pose comme une alternative plus qu'attrayante.
  • La rapidité d'affichage de composants graphiques est imbattable grâce au DOM virtuel exécuté en front.
  • React permet de créer des applications dites isomorphiques, c'est à dire dont les composants sont utilisés côté client et serveur, avec des rendus identiques. On obtient ainsi des performances de chargement imbattables et la possibilité d'un référencement SEO.
  • Maintenance et testabilité sont aisées grâce à l' architecture unidirectionnelle. La documentation est clair et exhaustive.
  • React est une librairie très concise et intégralement JavaScript, même pour des composants qui ont une finalité graphique ! Son apprentissage est rapide.
  • React est Open source et maintenu par les équipes Facebook et Instagram. La communauté est très "React"ive.

Facebook a atteint son objectif en proposant React. Associé à Flux, cette librairie permet de construire des interfaces graphiques monopages complexes aux performance d'affichage en temps réel inégalées, référençables, et aisément maintenables.

Lien vers le site officiel de React

Nos services autour de React :

Contactez-nous

JavaScript JavaScript

JavaScript, c’est quoi ?

JavaScript est un langage de programmation de scripts. Créé il y a 20 ans sous le nom de LiveScript, ce langage n'a cessé d'évoluer. Il est aujourd'hui au cœur de millions d'applications connectées.

Client et serveur

Initialement destiné à améliorer les performances des serveurs Nescape, JavaScript fut rapidement implanté aussi côté client pour dynamiser les pages web.

JavaScript a défini la base des spécifications de la norme ECMA-262. La standardisation du langage s'appelle ECMAScript. La version actuelle est ES2015 (ou ES6), publiée le 17 Juin 2015. La précédente version, ES5, extrêmement populaire était sortie en Décembre 2009.

Le code source d'un script JS a besoin d'un programme interpréteur, comme V8 de Google Chrome ou SpiderMonkey de Firefox par exemple, pour être exécuté dans son environnement hôte.

Objets et prototypes

JavaScript est dit orienté objet. La programmation orientée objet (OOP), comme son nom l'indique, repose sur des objet qui interagissent entre eux. Ce paradigme apporte de la flexibilité au code et favorise sa maintenabilité, deux atouts non négligeables pour des applications imposantes.

JavaScript exploite aussi la notion de prototype. Un prototype est un objet qui permet de créer d'autres objets par clonage. Les objets clonés, instances fils, héritent des propriétés et méthodes de leur prototype parent.

    JavaScript est très versatile. Voici quelques exemples d'emplois actuels de JS :
  • dynamiser les pages web statiques pour améliorer l'expérience utilisateur,
  • collecter des informations statistiques sur le comportement des utilisateurs,
  • produire de grosses applications clientes connectées telles que Gmail, Twitter, ou Facebook,
  • piloter des serveurs,
  • écrire des extensions pour les navigateurs,
  • créer des services web.
  • et bien d'autres choses encore...

Au delà de gadgétiser les sites web, JavaScript a su gagner ses lettres de noblesse. JS, comme l'appellent les initiés, est devenu un outil extrêmement puissant au point qu'il est omniprésent sur les pages web, et qu'il a su convaincre les plus grands éditeurs d'applications.

Nos services autour de JavaScript

Contactez-nous

Angular

Angular, c’est quoi ?

Angular, aussi connu sous le nom Angular 2, est la dernière version majeure du framework JavaScript de Google. Conçu pour créer des applications web complexes, Angular est une réécriture complète de la version 1. Cette version s'appuie sur des concepts et outils ultra modernes comme TypeScript, Web Components et RxJS.

Angular rend les applications hyper véloces et améliore la productivité de développement.

Hautes performances

    Angular introduit des nouvelles fonctionnaliés qui repoussent les limites des applications.
  • On peut contrôler la scalabilité et traiter d’énormes jeux de données en construisant des modèles de données sur RxJS, Immutable.js ou tout autre push-modèle.
  • Angular Universal gère un pré-rendu de l'application côté serveur pour un rendu HTML-CSS quasi instantané. Il ouvre également la voie pour l'optimisation SEO de la page.
  • Les Web Workers permettent d'exécuter le code en tâche de fond.
  • Les applications Angular se chargent rapidement avec le nouveau routeur orienté Component. Celui-ci fournit automatiquement le fractionnement du code permettant aux utilisateurs de charger uniquement le code nécessaire pour rendre la vue attendue.
  • Avec la pré-compilation et le lazy-loading intégré, le déploiement est plus rapide et les applications plus légères dans les différents environnements : navigateurs, desktops et mobiles.

Productivité

    Angular est optimisé pour la productivité des développeurs.
  • Du prototype au déploiement global, Angular fournit une infrastructure de productivité modulaire et évolutive.
  • Grâce à Angular CLI, on peut commencer à construire rapidement, ajouter des components et des tests, puis déployer instantanément.
  • Angular fournit une aide et un feedback, spécifiques et immédiats, avec la plupart des IDEs et éditeurs.
  • La documentation est plutôt complète et à jour.

TypeScript + un tooling exceptionnel

    Une formule gagnante pour pouvoir se concentrer sur l'essentiel.
  • Angular exploite les avantages issus de TypeScript. Celui-ci apporte au code un typage statique riche, les annotations, ainsi qu'un modèle de classe orienté objets.
  • Angular dispose d'un large éventail de composants existants, et permet l’utilisation de vos propres composants.
  • Grâce aux templates déclaratifs simples, Angular permet de construire rapidement des fonctionnalités.

Universel

    Un seul framework. Mobile et Desktop.
  • Angular permet de proposer des expériences comparables à des applications installées. Haute performance, online ou offline, mais sans installation.
  • Angular permet de bâtir des applications mobiles natives.
  • Il permet aussi de créer des applications desktop pour Mac, Windows et Linux en utilisant les mêmes méthodes Angular que pour le web, avec possibilité d'accès aux API du système.
Lien vers le site officiel d'Angular

Nos services autour d'Angular :

Contactez-nous