Pour ce type d'appli tu n'as pas besoin de performances extra-ordinaires et python est largement assez rapide. Au pire tu "profiles" ton appli si elle commence à rammer afin d'identifier quelles parties du code sont en cause et en repenser l'algo et/ou les écrire en C/C++ (http://www.python.org/doc/current/lib/profile.html(...) )
Pour la partie réseau (entre le client et le démon), xmlrpc est un protocole haut niveau géré de base par python. Sinon y a aussi la lib twisted qui fait du bon travail. Et enfin y aussi SOAP via ZSI par exemple mais pour ce type d'appli XML-RPC qui plus léger et intégré de base à python, me semble plus adapté).
Pour la partie DB :
- au choix du xml (très bien géré par python via http://pyxml.sourceforge.net/(...) )
- sqlite avec les bindings python qui vont bien.
Pour l'interface, j'aime bien wxPython (et wxGlade pour générer facilement le code). Sous linux ca fait du GTK1 ou 2 (et même du motif pas bo sur demande), du windows natif sous win et du mac natif sous mac (voir audacity pour un exemple d'appli utilisant wxWidgets). Mais GTK2 directement est aussi un bon choix si la portabilité n'est pas une priorité absolue.
# Re: Quel langage choisir ?
Posté par Olivier Grisel (site web personnel) . En réponse au journal Quel langage choisir ?. Évalué à 7.
Plus rapide à développer et maintenir que C/C++
Pour les perfs :
Pour ce type d'appli tu n'as pas besoin de performances extra-ordinaires et python est largement assez rapide. Au pire tu "profiles" ton appli si elle commence à rammer afin d'identifier quelles parties du code sont en cause et en repenser l'algo et/ou les écrire en C/C++ (http://www.python.org/doc/current/lib/profile.html(...) )
Pour la partie réseau (entre le client et le démon), xmlrpc est un protocole haut niveau géré de base par python. Sinon y a aussi la lib twisted qui fait du bon travail. Et enfin y aussi SOAP via ZSI par exemple mais pour ce type d'appli XML-RPC qui plus léger et intégré de base à python, me semble plus adapté).
Pour la partie DB :
- au choix du xml (très bien géré par python via http://pyxml.sourceforge.net/(...) )
- sqlite avec les bindings python qui vont bien.
Pour l'interface, j'aime bien wxPython (et wxGlade pour générer facilement le code). Sous linux ca fait du GTK1 ou 2 (et même du motif pas bo sur demande), du windows natif sous win et du mac natif sous mac (voir audacity pour un exemple d'appli utilisant wxWidgets). Mais GTK2 directement est aussi un bon choix si la portabilité n'est pas une priorité absolue.
Pour apprendre python y a :
- les bouquins Oreilly (vérifier la date de parution pour en prendre un récent qui traite de python 2.x et pas 1.5) :
http://www.amazon.fr/exec/obidos/ASIN/0596002815/qid=1081089385/sr=(...)
(Tbien mais en anglais)
http://www.amazon.fr/exec/obidos/ASIN/2841772942/qid=1081089385/sr=(...)
(connais pas mais a l'air bien et en francais)
- le python cookbook est dispo en ligne ou en bouquin:
http://aspn.activestate.com/ASPN/Python/Cookbook/(...)
- yet another tutorial for python :
http://www.python.g2swaroop.net/(...)
et le site python.org avec la doc de reférence.