Javascript framework NodeJS – AngularJS

AngularJS:

Html est excellent pour les documents statiques, mais il ne peut pas gérer de vues dynamiques nécessaires aux webApplications. AngularJS permet d’étendre le vocabulaire HTML pour son application. Le résultat proposé est de fournir une application très lisible, maintenable et des développements rapides et efficaces.

AngularJS est un framework de développement pour faire des applications en mode Single Page Application, basé sur le paradigm Modele-Vue-Controleur (MVC)

AngularJS est basé sur le fait que la programmation déclarative est parfaitement adapté aux interfaces utilisateur (UIs), tandis que la programmation impérative est parfaite pour l’expression de la logique métier.

Librairies indispensables:
Batarang: Chrome Extension to debug Angular applications
Bower: Dependency management tooling
GruntJS: Task management
Yeoman: Generate preconfigured webApplications
Angular-ui : Collection of Angular directives
RestAngular: Improved Angular Service for REST communication
Karma: Angular Test Runner
JasmineJs : JasmineJs is a behavior driven development framework for testing javascript code – See more at: http://geshan.blogspot.ae/2014/02/ingredients-of-great-front-end.html#sthash.CT6uG49E.dpuf

Sample:

  describe("The 'toEqual' matcher", function() {

    it("works for simple literals and variables", function() {
      var a = 12;
      expect(a).toEqual(12);
    });

    it("should work for objects", function() {
      var foo = {
        a: 12,
        b: 34
      };
      var bar = {
        a: 12,
        b: 34
      };
      expect(foo).toEqual(bar);
    });
  });
http://blog.jeetualex.info/2014/02/angularjs-fundamentals-in-60-ish-minutes.html

CucumberJS : Behaviour Driven Development
Cucumber lets software development teams describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid – all rolled into one format.
Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 40 spoken languages.

http://spy-js.com: javascript tracing, debugging, profiling

Microsoft OData:
ODATA: Open Data Protocol

OData est un protocole d’accès défini à l’origine par Microsoft, sous licence « Microsoft Open Specification Promise », afin de créer un écosystème cross-plateforme.
Ce protocole a été créé afin de standardiser les accès CRUD a une source de données via un website. Le protocole est similaire à JDBC et ODBC, mais OData n’est pas limité à la gestion et l’accès de base SQL.

Example OData avec JSON :
http://blogs.msdn.com/b/leohu/archive/2013/10/05/odata-and-json-payload-examples.aspx

datajs
datajs is a new cross-browser JavaScript library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. V1 – V3 Both nuget gallery, CodePlex

JayData
JayData is a unified data access library for JavaScript to work with online and offline data APIs like WebSQL, IndexedDB, Facebook or OData.

Breeze.js
Breeze is a JavaScript library that helps you manage data in rich client applications.

Programmation déclarative:
C’est exprimer la logique de calcul et de gestion de l’application sans décrire le control du flot de données.
On élimine ainsi les effets de bord en décrivant le QUOI, CE QUE le programme DOIT accomplir, plutôt que décrire le COMMENT dans une séquence de programme.
C’est la différence entre la programmation IMPÉRATIVE qui déroule pas a pas l’implémentation d’algorithmes.

Programmation fonctionnelle:
La programmation fonctionnelle est un paradigme de programmation qui considère le calcul en tant qu’évaluation de fonctions mathématiques et rejette le changement d’état et la mutation des données.
Elle souligne l’application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d’état.
La programmation fonctionnelle s’affranchit de façon radicale des effets secondaires (ou effets de bord) en interdisant toute opération d’affectation.

Programmation objet:
TODO

Voir extjs
Todo

NodeJS – References

Understand CallBacks
http://cwbuecheler.com/web/tutorials/2013/javascript-callbacks/

https://github.com/Sage/streamlinejs/blob/master/tutorial/tutorial.md

JS EDITOR:
http://www.jetbrains.com/webstorm

http://www.mean.io

Node.JS
JavaScript based server framework for writing Web Applications based on Google’s V8 engine
Provide core server fonctionality
Asynchronus sytem

http://express.org
– Backend Framework for Node.js
– Provide libraries for Routing, Html templating, SSL, Authentication, Manymore

http://angularjs.org
– Client side framework for Single Page Applications
– Client side routing
– Dynamic Two way binding
– Asynchronous communication with the server

http://egghead.io
Bite-sized web development training with AngularJS

John Papa has this excellent style guide johnpapa/angular-styleguide which will for all matters make you a better AngularJS dev in the long run:

Le gouvernement Francais propose un certain nombre de données libres d’accés: http://www.data.gouv.fr

Idée 1: Local
Regrouper sur le même site: Délinquance, emploi, impôts, immobilier, crèches, écoles

http://www.data.gouv.fr/fr/dataset/donnees-des-accidents-corporels-de-la-circulation-routiere
Données des accidents corporels de la circulation routière

http://www.data.gouv.fr/fr/dataset/cartographie-de-la-fiscalite-affectee-selon-le-perimetre-retenu-pour-le-rapport-du-conseil-des-prele
Cartographie de la fiscalité affectée, selon le périmètre retenu pour le rapport du Conseil des prélèvements obligatoires (2007-2013)

http://www.data.gouv.fr/fr/dataset/tonnages-des-dechets-bacs-verts-ods
Tonnages des déchets bacs verts

Related Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *