réalisation d’applications desktop windows/mac os avec php

Post on 12-May-2015

4.874 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Lorsqu'on commence à maîtriser un langage puissant tel que PHP, on est tenté de l'utiliser pour tout type de programmation, par enthousiasme, mais aussi par souci d'efficacité. Cependant, alors que nous savons tous comment utiliser PHP au travers d’un serveur Web ou en ligne de commande, nous avons beaucoup moins de pratique pour créer une application Desktop, monoposte ou client-serveur, qui plus est, en exploitant l’interface native du système. En effet, comment fournir un logiciel clé en main avec son installateur ou directement un « .exe » pour Windows ou un « .app » pour Mac OS ? Comment éviter d’avoir à installer successivement Apache, PHP et MySQL, ou du moins ne pas entrer en conflit avec des instances potentiellement déjà présentes ? Nous évoquerons les différentes réponses existantes, de la plus « Geek » à la plus « RAD » en passant par Flex, Java, GTK2 et d’autres solutions surprenantes. (Presentation Forum Php Paris 2009)

TRANSCRIPT

Réalisa'ond’applica'onsDesktopWindows/MacOSavecPHP

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Lorsqu'on commence à maîtriser un langage puissant tel que PHP, on est tenté de l'utiliser pour tout type de programmation, par enthousiasme, mais aussi par souci d'efficacité.

Cependant, alors que nous savons tous comment utiliser PHP au travers d’un serveur Web ou en ligne de commande, nous avons beaucoup moins de pratique pour créer une application Desktop, monoposte ou client-serveur, qui plus est, en exploitant l’interface native du système.

En effet, comment fournir un logiciel clé en main avec son installateur ou directement un « .exe » pour Windows ou un « .app » pour Mac OS ? Comment éviter d’avoir à installer successivement Apache, PHP et MySQL, ou du moins ne pas entrer en conflit avec des instances potentiellement déjà présentes ?

Nous allons évoquer les différentes réponses existantes, de la plus « Geek » à la plus « RAD » en passant par Flex, Java, GTK2 et d’autres solutions surprenantes.

Réalisation d’applications Desktop Windows/Mac Os avec PHP

4D doit

supporter PHP

Réalisation d’applications Desktop Windows/Mac Os avec PHP

4D et PHP• La société

• Réalisation du driver PDO_4D avec Alter-Way

• Membre de l’AFUP depuis 2009

• Sponsor du FORUM PHP Paris 2009

• Intégration de PHP 5.3 dans 4D v12

• Le présentateur

• Product Manager responsable des technos PHP

• Zend Certified PHP Engineer

• 10 ans d'expérience sur des projets PHP

Réalisation d’applications Desktop Windows/Mac Os avec PHP

4D et PHP

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Solutions pour applications Desktop

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Mozilla Prism / Google Chrome

• Cache le navigateur

• Base de données côté client

Réalisation d’applications Desktop Windows/Mac Os avec PHP

PHP-GTK

• S’appuie sur la librairie GTK

• Soutenue par le PHP Group:http://gtk.php.net

Réalisation d’applications Desktop Windows/Mac Os avec PHP

PHP-Qt

• S’appuie sur la librairie Qt

• Zend ou Roadsend engine

http://www.php-qt.org

Réalisation d’applications Desktop Windows/Mac Os avec PHP

PHP via Java

• JavaBridge

• Quercus PHP engine

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Flex

• Adobehttp://www.adobe.com/devnet/flex/flex_php.html

• AMFPHP

Réalisation d’applications Desktop Windows/Mac Os avec PHP

4D v12

• PHP embarqué (5.3)

• Base de données intégrée

Réalisation d’applications Desktop Windows/Mac Os avec PHP

1 - Développement

2 - Déploiement

Réalisation d’applications Desktop Windows/Mac Os avec PHP

• Installation de l’environnement

• Apprentissage des outils et/ou langages

• Design de la base de données

• Design de l’interface utilisateur

• Données et utilisateur de test

• Débogage

Développement

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• Votre environnement de développement habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...)

• Préférer le même moteur que celui déployé (Zend Server, XAMPP, WAMP, MAMP, ...)

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• Roadsend PHP, MySQL ?

• GTK, PHP-GTK

• Votre environnement de développement habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...)

• Glade

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• Roadsend PHP, MySQL ?

• Qt, PHP-Qt

• de préférence PDE Eclipse, Qt Designer

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• De préférence NetBeans ou Eclipse

• Préférer le même moteur que celui déployé (Zend Server, XAMPP, WAMP, MAMP, ...)

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• De préférence Eclipse (Flex Builder)

• Préférer le même moteur que celui déployé (Zend Server, XAMPP, WAMP, MAMP, ...)

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation de l’environnement

• 4D

• Votre éditeur de code PHP habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...)

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Apprentissage des outils et/ou langages

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Apprentissage des outils et/ou langages

• Mozilla Prism (ou un jour Google Chrome) :

• tout va bien

• GTK, QT:

• nouvelle API

• nouveaux outils

• Java, Flex, 4D :

• nouveau langage

• nouveaux outils

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de la base de données

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de la base de données

• PHPmyAdmin

• Visual Architect pour Eclipse

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de la base de données

• 4D

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface

• Dreamweaver, Zend Studio

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface• GTK - Glade

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface

• Qt Designer

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface• Netbeans

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface• Flex

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Design de l’interface• 4D

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Données et utilisateur de test

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Données et utilisateur de test

• PhpMyAdmin ?

• Formulaire entrée/sortie ?

• Flush ?

• Utilisateurs & Groupes

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Débogage

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Débogage

• Débogage du code non PHP

• Débogage du PHP

• Remontées d’erreurs PHP dans l’outil

Réalisation d’applications Desktop Windows/Mac Os avec PHP

• Publication de l'exécutable

• Installation sur les postes utilisateurs

Déploiement

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Publication de l'exécutable• Mozilla Prism, GTK, Java, Flex : Phar

• GTK, QT: RoadSend Compiler

• Java : Jar

• Flex : AIR

• 4D : Compilation Windows et/ou Mac OS

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation sur les postes utilisateurs

• Mozilla Prism, Java, Flex: au choix Zend Server, XAMPP, WAMP, MAMP

• Mozilla Prism : Mozilla Firefox avec plugin Prism

• GTK2, QT: MySQL ?

• Java : JVM

• Flex : Adobe AIR

• 4D : Drag & Drop de l'exécutable

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Installation sur les postes utilisateurs

• data Sqlite

• fichier data intégré dans le dossier de l’application

• data MySQL

• Dump import

• 4D

• data déjà intégré dans le package

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Comparaison Application Desktop en PHP

CRITÈRES PHP + PRISM PHP-GTK PHP-QT JAVA + PHP FLEX + PHP 4D V12 PHP

Développement

Licence

Installation

Apprentissage

Design base de données

Design interface

Editeur de code

Données et utilisateurs test

Débogage

Coût

Déploiement

Publication de l'exécutable

Installation sur le poste utilisateur

Niveau d’intégration

Coût

Open source Open source Open source GPL Open source Mixte Commerciale

Bien Mauvais Mauvais Convenable Convenable Optimal

Aucun GTK + Roadsend + outils QT + Roadsend + outils Java + outil Flex + outil 4D + outil

Convenable Convenable Bien Convenable Convenable Optimal

Mixte Bien Bien Bien Bien Bien

Mixte Convenable Convenable Excellent Bien Mixte

Convenable Convenable Convenable Convenable Bien Bien

Convenable Mauvais Mixte Mixte Mixte Bien

gratuit / mixte gratuit / mixte gratuit gratuit gratuit / 214 / 600 / 299 / 999

Convenable Convenable Convenable Convenable Excellent Optimal

Convenable Convenable Bien Convenable Convenable Optimal

Mauvais Convenable Convenable Bien Excellent Optimal

gratuit gratuit gratuit gratuit gratuit gratuit

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Faire son choix

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Faire son choix• Combien de temps puis-je me permettre de consacrer à

l’installation et l'appréhension de mon nouvel environnement de développement ?

• Quelles autres technologies maîtrise-je en plus de PHP ?

• Ai-je besoin d’une base de données, de quelle taille ?

• Quelle est la configuration déjà présente sur les postes cibles ?

• Dois-je déployer sur un seul ou de nombreux postes ?

• Investir dans un produit commercial est-il envisageable compte tenu de l’objectif visé ?

Réalisation d’applications Desktop Windows/Mac Os avec PHP

Plus d’infos

4D v12 : 1er semestre 2010

http://www.4d.com

@amorgaut@amorgaut/fourd@amorgaut/php

http://php.net/pdo_4d http://pecl.php.net/pdo_4d

top related