Objectif général : Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants;
Configurer les composants avec « props »;
Gérer l’état local d’un composant avec « state »;
Afficher une listes de composants avec map();
Afficher un composant en fonction de l’état de l’application;
Interagir avec un utilisateur grâce à la gestion des événements;
Interagir avec un utilisateur par le biais des formulaires;
Communiquer avec un serveur HTTP avec AJAX;
Afficher des vues en fonction de l’URL avec le routage;
Mettre en forme un composant;
Objectif général :
Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants
Passer des informations (données ou instructions) d’un composant à son composant fils avec « props »
Gérer l’état local d’un composant avec « state »
Afficher une listes de composants avec map()
Afficher un composant en fonction de l’état de l’application
Interagir avec un utilisateur grâce à la gestion des événements
Interagir avec un utilisateur par le biais des formulaires
Communiquer avec un serveur HTTP avec AJAX
Afficher des vues en fonction de l’URL avec le routage
Mettre en forme un composant
Les concepts de la programmation fonctionnelle illustrés avec java 8Yannick Chartois
Ma présentation à Devoxx France 2014: Ce Quickie est basé sur le talk de Bodil Stokke: What Every Hipster Should Know About Functional Programming. C'est un petit exercice basé sur la question suivante: peut-on transposer tous les exemples JS de son talk en Java 8 avec des lambdas? Au programme donc: First Class Function, Functor, High Order Function, Reduction, Combinator, Composition.
Mise en place de l'ActionBarCompat dans vos projets Android.Mathias Seguy
Petite conférence sur la mise en place de l'ActionBarCompat dans votre application Android avec:
Mise en place de l'ActionBarCompat
Ajout de MenuItem
Mise en place d'une ActionView de recherche
Mise en place de l'ActionMode.
ToulouseAndroidUserGroup du 5 Juin 2014
Quelle place pour le framework Rails dans le développement d'application web5pidou
Cette présentation a été réalisée dans le cadre des Rencontres Mondiales décentralisées du Logiciel Libre (RMLLd) qui se sont déroulées du 1er au 3 Juillet 2011 à Saint-Joseph (Ile de la Réunion).
Objectif général :
Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants
Passer des informations (données ou instructions) d’un composant à son composant fils avec « props »
Gérer l’état local d’un composant avec « state »
Afficher une listes de composants avec map()
Afficher un composant en fonction de l’état de l’application
Interagir avec un utilisateur grâce à la gestion des événements
Interagir avec un utilisateur par le biais des formulaires
Communiquer avec un serveur HTTP avec AJAX
Afficher des vues en fonction de l’URL avec le routage
Mettre en forme un composant
Les concepts de la programmation fonctionnelle illustrés avec java 8Yannick Chartois
Ma présentation à Devoxx France 2014: Ce Quickie est basé sur le talk de Bodil Stokke: What Every Hipster Should Know About Functional Programming. C'est un petit exercice basé sur la question suivante: peut-on transposer tous les exemples JS de son talk en Java 8 avec des lambdas? Au programme donc: First Class Function, Functor, High Order Function, Reduction, Combinator, Composition.
Mise en place de l'ActionBarCompat dans vos projets Android.Mathias Seguy
Petite conférence sur la mise en place de l'ActionBarCompat dans votre application Android avec:
Mise en place de l'ActionBarCompat
Ajout de MenuItem
Mise en place d'une ActionView de recherche
Mise en place de l'ActionMode.
ToulouseAndroidUserGroup du 5 Juin 2014
Quelle place pour le framework Rails dans le développement d'application web5pidou
Cette présentation a été réalisée dans le cadre des Rencontres Mondiales décentralisées du Logiciel Libre (RMLLd) qui se sont déroulées du 1er au 3 Juillet 2011 à Saint-Joseph (Ile de la Réunion).
3. What is
React?
• React is a JavaScript framework
• Used for front end web development
• Think of jQuery, but more structured
• Created and used by Facebook
• Famous for implementing a virtual
dom
4. Timeline of front-end JavaScript frameworks
jQuery*
(2006)
AngularJS
(2010)
React
(2013)
Vue
(2014)
Angular
(2014)
* jQuery is more often considered a library than a
framework
5. Common tasks in front-end development
Data definition, organization, and
storage
Event handlers respond to user
actions
Design and render HTML templates
Resolve URLs
Interact with server(s) through APIs and AJAX
App state
User actions
Template
s
Routing
Data
14. Component
s
Components are functions for user
interfaces
let y = f(x);
Input x Output number
let y = <FancyDiv value={x} />;
Input x Output HTML
Math function:
Component function:
16. Anatomy of a React
component
export default function MyComponent(props) {
return <div>Hello, world! My name is {props.name}</div>;
}
const html = <MyComponent name="aaron" />;
Inputs are passed through a
single argument called
“props”
The function is executed as
if it was an HTML tag
The function
outputs HTML
The component is
just a function
Parameters are passed
in as HTML attributes
17. Component
rendering
• When a component function executes, we say it
“renders”
• Assume components may re-render at any time
Our job is to ensure that
every time the component re-
renders, the correct output is
produced
20. Creating a new React
app
Creating a new React app is simple!
1. Install Node.js
2. Run: npx create-react-app app-name
3. New app created in folder: ./app-name
21. Anatomy of a new React app
public est souvent utilisé pour
contenir le document HTML initial et d'autres
ressources statiques nécessaires à
l'application
App est un composant
de démarrage
index.js lie React
au DOM
package.json configure les
dépendances npm
22. What are
hooks?
useState
useEffect
We will
cover
these today
Built-in hooks:
Hooks: Fonctions spéciales permettant aux
développeurs de se connecter à l'état et
au cycle de vie des composants React.
State: Gère les données dynamiques
d'un composant et détermine son
comportement et son apparence.
Lifecycle: Les événements associés à une
instance de composant React
(création, rendu, destruction, etc.).
23. First React hook:
useState
Purpose:
1. Mémoriser les valeurs en interne lorsque le composant se rend à nouveau
2. Indiquer à React de rendre à nouveau le composant lorsque la valeur change.
Syntax:
const [val, setVal] = useState(100);
The current value A setter function
to change the
The initial
value to
25. useEffect
"useEffect" dans React permet d'effectuer des effets de bord dans les composants
fonctionnels, comme la gestion des abonnements aux données ou des actions
asynchrones, en spécifiant quand ces effets doivent être exécutés.
Syntax:
useEffect(() => {
console.log(`myValue was changed! New value: ${myValue}`);
}, [myValue]);
A list of values such that
changes should trigger this
The code to run when
values change
26. La "Virtual DOM" (DOM virtuel) est une technique utilisée par React pour
améliorer l'efficacité des mises à jour d'interface utilisateur. Elle consiste à
créer une représentation virtuelle de l'arbre DOM existant en mémoire, puis à
la comparer avec la version précédente pour identifier les changements. Ces
changements sont ensuite appliqués de manière sélective à l'arbre DOM réel,
réduisant ainsi le coût des opérations de manipulation du DOM. La "Virtual
DOM" permet d'optimiser les performances des applications React en
minimisant le nombre d'opérations directes sur le DOM, ce qui contribue à
une expérience utilisateur plus réactive.
La Virtual DOM de React : Optimisation des performances
d'interface utilisateur."