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....
Les technos hybrides
By Florian Rival
Les technos hybrides
- 1,970