OVH Cloud OVH Cloud

bases de données et cocoa

28 réponses
Avatar
une.bevueVOTEZ
je n'ai jamais programmé en cocoa, seulement en java et assembleur (je
connais un peu applescript) je souhaite faire un petit bout d'essai en
cocoa.

j'ai une base de données (aujourd'hui se sont des objets java, mais pour
construire cette bd j'ai des fichiers textes que je pourrais convertir).

cette base de données décrit la système des appellations de vin
(ambition mondiale, réalisation france quasi totale et quelques autres
pays démarés)

donc je voudrai m'essayer en cocoa sur un exemple concret : représenter
dans une fenêtre l'arbre des appellations "mondiales"

(copie écran à http://yvon-thoraval.com/jCave/)


et ensuite les feuilles sur les cépages

(copie écran à
http://yvon-thoraval.com/jCave/index.php?page=vp-view&lang=fr&mode=zoom)


et ainsi de suite pour traduire mon appli java en cocoa.

(outre appellations et cépages dans mon appli il y a un carnet
d'adresses et une gestion des bouteilles en cave)


où trouver des infos pour démarrer ainsi ?

exemples ?


supposons maintenant que je finisse cette appli en cocoa. Bon des gens
me demandent la même chose sous unix et win* y a t'il moyen de traduire
depuis du cocoa ou faut-il tout refaire ?

10 réponses

1 2 3
Avatar
une.bevueVOTEZ
Bruno CAUSSE wrote:


une fois que le code java est passé au hotspot (ou JIT) quelle est la
difference?


cette question * trouble * mon esprit...

normalement aucune (avec Objective-C), si j'ai bien compris.

Avatar
une.bevueVOTEZ
Schmurtz wrote:

Si la partie lente de ton code forme un bloc (ie, qu'elle n'est pas
éparpillé dans toute l'appli), ou alors peut être centraliser sur une
seule classe, il fait savoir que tu peux garder tout ton code java et ne
réécrire que les fonctions coûteuses de cette classe en C.


ben, c'est intéressant ce que tu dis because, la partie lente c'est ma
base de donnée (objet) et sa gestion (recherche multi critères).

donc il faut que je me senseigne comment on fait une persistence en C...

le reste c'est l'affichage (actuellement du swingX ie swing amélioré)
qui est assez proche, fonctionnellement, de ce qu'on peut faire en cocoa
(chez sun certaines particularités des tables en cocoa sont prises en
design goal par exemple le sorting...)


ce que je dois, à part l'ui, implémenter en c c'est la persistence
d'objets tels que :

public class Bottle {
public String description;
public String appellation;
public Integer vintage;
public ArrayList composition;

[...]

public SimpleDate buyDate;
public SimpleDate lastPriceDate;
public String drinkWith;

public Bottle() {
}
}

j'entre (pour l'instant) une bouteille comme ça :

Bottle symphorine = new Bottle();
symphorine.description = "Cuvée Symphorine sélection 1998";
symphorine.appellation = "Grand Cru Blanc de Blancs";
symphorine.vintage = new Integer(1998);


et pour l'entrer dans la bd :

ObjectContainer db = null;
db.set((Bottle) symphorine);
db.commit();
db.close();

enfin la recherche multi-critères se fait en générant un filtre sur un
arbre de contraintes du genre :

private Query query;
query=query.descend("Bottle").descend("vintage").constraint("1998");

après j'ai juste un get sur la bd du genre :

ObjectSet os = db.get(query);



et os contient toutes les bouteilles dont le millésime est de 1998.

Avatar
Bruno CAUSSE
dans l'article 1gwidll.gx45uj18e5dc6N%, Une bévue à
a écrit le 13/05/05 18:29 :

cette question * trouble * mon esprit...

normalement aucune (avec Objective-C), si j'ai bien compris.


Si "NOUS" avons bien compris :-). Alors soit le compilateur java est codé
avec les pieds, soit objective-c est "lent/rapide" comme java.

Un rapport entre 2 & 3 entre du java "optimisé : (reutilisation des objets
aucune creation d'objet dans les parties chaudes, Pas ou tres peu de GC
ect....)" et du c/c++ optimisé est le facteur que je retiens. D'autres
benchs diront que java est plus rapide que du c++ (plaisanterie)

Mais tiens nous au courant.

PS: pour les habitués de java, C++ c'est la prehistoire en codage

Avatar
une.bevueVOTEZ
Bruno CAUSSE wrote:

PS: pour les habitués de java, C++ c'est la prehistoire en codage


oui, c'est pour cette raison que je mentionnait le fait que, dans ma
préhistoire, j'avais codé en assembleur...

Avatar
lucsky
Bruno CAUSSE wrote:

une fois que le code java est passé au hotspot (ou JIT) quelle est la
difference?


Le Garbage Collector non déterministe qui se réveille quand il veut/peut
et qui fout la grouille dans toute l'appli.

--
Luc Heinrich -

Avatar
une.bevueVOTEZ
Luc Heinrich wrote:

Le Garbage Collector non déterministe qui se réveille quand il veut/peut
et qui fout la grouille dans toute l'appli.


ouais ça, moi avec ma db objet et toutes mes requêtes j'y suis abonné...
--
votez non !
non à paris 2012 !
non à l'otan !
non à l'onu et à l'omc !

Avatar
pasde.bcausse.spam
Une bévue wrote:

Luc Heinrich wrote:

Le Garbage Collector non déterministe qui se réveille quand il veut/peut
et qui fout la grouille dans toute l'appli.


ouais ça, moi avec ma db objet et toutes mes requêtes j'y suis abonné...


avec des pools d'objets reutilisables on peut limiter
(spectaculairement) les ralentissements du GC

de plus sur un bi-pro il peut etre // au traitement
--
Bruno Causse
http://perso.wanadoo.fr/othello


Avatar
gilles
À part ça, j'imagine que ce sera du cocoa écrit en java ?




Non, si j'envisage cocoa c'est pour Objective-C, le but est d'obtenir
qqc de + rapide que java...


l'écriture est différente, mais la compilation doit donner un code
sensiblement identique...


Avatar
lucsky
Bruno Causse wrote:

avec des pools d'objets reutilisables on peut limiter
(spectaculairement) les ralentissements du GC
de plus sur un bi-pro il peut etre // au traitement


Ca commence à faire beaucoup de si... :>

--
Luc Heinrich -

Avatar
une.bevueVOTEZ
gilles wrote:


l'écriture est différente, mais la compilation doit donner un code
sensiblement identique...


ben alors, je ferai juste un petit essai...

1 2 3