Question

Quel serait le meilleur choix pour créer une base de données Application Adobe AIR (Desktop)?

  1. Utilisation de PHP + MySql avec AIR
        OU
  2. Utilisation de SQLite

Si je choisis SQLite, je ne peux pas réutiliser mon code pour une application en ligne.

Si je choisis 1, je dois bloquer quelques numéros de port sur la machine de l'utilisateur. J'utilise également XAMPP pour fournir à l'utilisateur PHP et MySql, donc XAMPP ouvre une fenêtre de commande tant qu'elle est en cours d'exécution. Et les utilisateurs se confondre à quoi sert cette fenêtre? Cela rend l'utilisateur final expérience légèrement déroutante.

Était-ce utile?

La solution

J'utiliserais certainement SQLite en tant que son inclus dans Air.

Puis-je suggérer; écrivez votre code en deux sections. L'interface utilisateur qui utilise un flux JSON pour se renseigner et l'API pour fournir les données JSON. Pour ce qui est de transférer l'application sur le Web, vous pouvez utiliser la même interface utilisateur, mais avec une API réécrite.

Autres conseils

Quoi que vous fassiez, n'ouvrez pas une fenêtre de commande pendant l'exécution du programme. Si vous faites cela, vos clients se désinstalleront comme s'il n'y avait pas de lendemain.

En ce qui concerne mysql vs sqlite, l’approche standard est la suivante: s’il communique à distance, n'hésitez pas à utiliser mysql, mais si vous installez la base de données sur le client, vous devez utiliser une base de données autonome intégrée (sqlite).

Selon vous, à quel point votre application doit-elle être complexe, vous ne pouvez pas utiliser SQLite (en plus de votre incapacité à réutiliser une partie du code que vous avez mentionné)?

Si XAMPP est trop déroutant pour votre client, installez Apache et MySQL de manière autonome. C'est essentiellement la même chose et vous aurez plus de contrôle sur ce qui tourne dans Apache / MySQL. De plus, vous n’obtiendrez pas de fenêtre de commande ennuyeuse (cependant, pour être tout à fait honnête, je ne me souviendrai pas d’une fenêtre que je ne pouvais pas réduire au minimum lorsque je courais XAMMP).

Je suggère d'utiliser Sqllite comme base de données locale et d'écrire une API de synchronisation qui synchronisera la base de données sqllite locale avec la base de données côté serveur, MySql. Donc, selon votre client, vous pouvez utiliser le système. Si le client est autonome, Sqllite servira sinon le MySql servira. La seule chose que vous devez décider dans les deux cas, c'est comment utiliser l'API de synchronisation.

Consultez simplement l'exemple de demande

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top