Les technos 

précis & concis

Applications mobiles

aussi appelé "Frontend", "Client"

iOS

Objective C

Système

Langage

Difficile à prendre en main

Complexe

Outils (Xcode) fourni par Apple

Swift

Langage

Facile à prendre en main

Récent

Android

Java

Système

Langage

Réputation de langage assez lourd

Facile à prendre en main

Outils (Android Studio) très complets

Le web

HTML

CSS

Javascript

<div class="title">Coucou</div>
.title {
    background-color: blue;
}
if (!user.isConnected) {
    message = "Salut !"
}

Langage

Langage

Langage

Structure d'une page web et des éléments dessus

Style/aspect des éléments

Permet de manipuler la page.

Unique langage disponible sur les navigateurs.

Hybride : Cordova

Crosswalk

Wrapper

Wrapper

Permet d'utiliser Google Chrome sur Android 4 pour plus de performances.

Permet d'avoir une application iOS/

Android qui contient un navigateur.

L'application s'exécute

dans ce navigateur.

"Plugins" pour accéder à la caméra, connexion Facebook..

Angular

Ionic

React

Framework

Framework

Framework

Frameworks web/cordova

Basé sur Angular. Fourni des composants/services/styles prêt à l'emploi et spécialement pour mobile.

Uniquement la vue.

Vue + services

Hybride : React Native

Framework

Wrapper

Application iOS/Android qui affiche des élements natifs

L'application contient un moteur 

Javascript (JSCore).

On écrit le code en JS en utilisant

React.

Résumé

Système

Cordova

Navigateur web

Java/Objective C

HTML/CSS

JS

Ionic/React/Angular

Notre code :)

Notre code

parfois aussi :)

 

Notre code :)

React Native

JS

Backend

Aussi appelé "serveur", "back"

Client/serveur

Responsabilités du back

Requête

Réponse

Communication

Servir les données, enregistrer les utilisateurs, authentification, logique/calculs métiers

<Message author="flo">
 Coucou, je suis du XML
</Message>
{ author: "flo", 
  content: "Coucou",
  type: "je suis du JSON" }

Une stack

ensemble des technologies tournant sur le serveur

Linux

Système

Serveur web

Debian, Ubuntu

Logiciels spécifiques

Apache, nginx

Environnement/langage

Les langages back

PHP

Java

Symfony 2

Laravel

Langage

Langage

Framework

Framework

Ruby

Python

Node.js

Express, Hapi

Sails, Loopback

Les langages back

"Wrapper"

Framework

Framework

Les bases de données

MySQL, PostgreSQL

MongoDB, CouchDB

Redis

SQL

NoSQL

NoSQL "clé-valeur", grosse quantité de données

BDD

Langage

Résumé

Système

BDD

Serveur web

Node.js

PHP

Symfony2/Laravel...

Express/Hapi

Sails/Loopback...

Notre code :)

Hébergeur (Amazon, OVH...)

Outils

et vocabulaire de développement

Outils

Git

Github

Contrôle de version

Workflow

Pull

Push

Merge

Conflits

Récupérer les dernières modifications

Envoyer ses modifications

Fusionner les modifications

Peuvent arriver si on travaille sur une même partie/même fichier.

Mercurial

SVN

Bitbucket

GitLab

Machines virtuelles

Vagrant

Environnement local

VirtualBox

Avoir un backend sur son PC/Mac

Docker

Lancer un système différent (par exemple, Windows avec IE) 

IDE

Atom, WebStorm, Visual Studio, Sublime Text, Vim, Emacs....

Made with Slides.com