Plein de questions !
vincepoencet
Membre
Bonjour tout le monde !
Je suis passé récemment sur mac, et étant développeur .net je m'intéresse de près à cocoa d'un point de vue personnel.
J'ai lu le bouquin d'Hillegass, et suivi pas mal de tutos de ce site, mais je suis encore loin d'être au point ^^.
En fait j'aimerais faire une appli de gestion, mais avant de me lancer j'ai fait quelques recherches infructueuses sur quelques points importants...
1/ d'abord je me suis intéressé à la création de reports, sans trouver d'api du genre de cristalReport, en existe t'il, ou sinon quelle est la meilleure solution ?
2/ pour la gestion des données, j'ai testé coreData qui est très pratique, sauf que je comptais faire du multi-utilisateur sur de grosses bases le tout en client serveur, sqlite est donc exclu, d'autant que j'ai regulierement certaines tables avec plus de 100 000 enregistrements à termes, je voudrais donc ne pas forcement tout charger d'un coup.
Je pensait m'orienter vers du postGre ou du mysql, tout dépend des api dispo pour cocoa, de la facilité d'intégration, et aussi des outils de management dispo de ces BDD.
Existe t'il une "référence" dans le domaine en cocoa/mac ?
3/ toujours dans la gestion de donnée, comment gérer l'etat d'un objet (insert, update, delete) ?
J'ai vu que cocoa avait de bonnes capacités d'introspection, je pensait faire une classe mère etant capable de lister les accesseurs des classes filles et de les observers, pour mettre un flag "modified" à jour, est-ce possible ?
Je voulais aussi voir si il etait possible d'utiliser les models de coredata simplement pour ça, mais en gerant tout l'aspect load/save à la main, je ne sait pas si c'est possible.
Sinon quelle solution utilisez vous dans ce cas ?
4/ un peu plus secondaire, mais important tout de même : la création de graphiques (pie, chart, etc...)
Existe t'il une API, vu la puissance de quartz, il y a moyen de faire quelque chose de bien à ce niveau la, mais j'aimerais autant pas avoir à le faire moi
Voila, merci d'avance, et félicitation pour ce site toujours très interessant à lire !
Je suis passé récemment sur mac, et étant développeur .net je m'intéresse de près à cocoa d'un point de vue personnel.
J'ai lu le bouquin d'Hillegass, et suivi pas mal de tutos de ce site, mais je suis encore loin d'être au point ^^.
En fait j'aimerais faire une appli de gestion, mais avant de me lancer j'ai fait quelques recherches infructueuses sur quelques points importants...
1/ d'abord je me suis intéressé à la création de reports, sans trouver d'api du genre de cristalReport, en existe t'il, ou sinon quelle est la meilleure solution ?
2/ pour la gestion des données, j'ai testé coreData qui est très pratique, sauf que je comptais faire du multi-utilisateur sur de grosses bases le tout en client serveur, sqlite est donc exclu, d'autant que j'ai regulierement certaines tables avec plus de 100 000 enregistrements à termes, je voudrais donc ne pas forcement tout charger d'un coup.
Je pensait m'orienter vers du postGre ou du mysql, tout dépend des api dispo pour cocoa, de la facilité d'intégration, et aussi des outils de management dispo de ces BDD.
Existe t'il une "référence" dans le domaine en cocoa/mac ?
3/ toujours dans la gestion de donnée, comment gérer l'etat d'un objet (insert, update, delete) ?
J'ai vu que cocoa avait de bonnes capacités d'introspection, je pensait faire une classe mère etant capable de lister les accesseurs des classes filles et de les observers, pour mettre un flag "modified" à jour, est-ce possible ?
Je voulais aussi voir si il etait possible d'utiliser les models de coredata simplement pour ça, mais en gerant tout l'aspect load/save à la main, je ne sait pas si c'est possible.
Sinon quelle solution utilisez vous dans ce cas ?
4/ un peu plus secondaire, mais important tout de même : la création de graphiques (pie, chart, etc...)
Existe t'il une API, vu la puissance de quartz, il y a moyen de faire quelque chose de bien à ce niveau la, mais j'aimerais autant pas avoir à le faire moi
Voila, merci d'avance, et félicitation pour ce site toujours très interessant à lire !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je n'ai pas bcp de réponses concernant la gestion de données dans une base multiutilisateur et client/serveur (moi n'ai utilisé sur iPhone que SQLite), bien qu'il me semble avoir vu trainer des classes wrapper pour utiliser PostgreSQL (recherche "PostgreSQL" ou simplement "SQL" sur le forum peut-être ?)
Pour l'état d'un objet, je ne sais pas si c'est le plus adapté pour ton cas mais je pense que le mécanisme de KVO peut t'intéresser. Il s'agit, en gros, d'envoyer une notification à chaque fois que la valeur d'un objet change, et donc d'être informé quand l'état d'un de tes objets a changé (pour positionner un flag "modified" par exemple, ou pour le commiter dans ta base directement, quoiqu'il faut dans ce cas peut-être mieux grouper les divers changements dans une transaction pour éviter trop de requêtes unitaires)
C'est ici pour le Programming Guide qui va t'expliquer ce concept et comment Apple implémente le design pattern dans ses classes Cocoa
Sinon pour la création de graphique, de même je n'ai pas eu l'occasion de créer des graphes de données, mais j'ai vu passer des posts sur le framework CorePlot ou du genre sur ce forum. Recherche "plot" sur les forums pour avoir plus d'infos. Après je sais pas, il y a peut-être d'autres frameworks qui existent pour ça aussi, à voir.
Voilà mes pistes pour l'instantÂ
PS : Si ça te dis, n'hésite pas à te présenter dans le Salon "Présentation des Membres"... et à payer ta tournée virtuelle (si tu veux te faire bien voir ;D)
Pour ma part, j'utilise PostgreSQL avec le Framework (PGSQLKit) de Andy Satori (http://www.postgresqlformac.com/data_access.html).
Je suis extrêmement satisfait de PostgreSQL. Performant et très très fiable.
J'y suis venu car les outils de gestion utilisés par mon entreprise utilisait déjà PostgreSQL (http://www.cogilog.com/).
On peut également facilement accéder aux bases pgsql en C avec les libraries standards que l'on trouve sur http://www.postgresql.org/. Je les ai utilisées avant de me mettre à Objective-c/Cocoa.
Merci pour le lien sur Cogilog. Je ne connaissais pas! Ce n'est pas du tout mon domaine, mais trois étudiants de mon entourage sont en école de commerce et regrettent qu'il n'y ai pas de logiciel Mac pour le commerce! Je vais leur signaler ce lien.
Ouh là ! C'est fou ce que leur logo ressemble à celui de la Cogirep.
Au sujet du KVO, je connaissait et je me doutait qu'il y avait quelque chose à faire ^^
Pour ceux que ça intéresse, voila ce que j'ai trouvé et qui marche :
dans la classe mère :
Et c'est tout, le flag modified sera mis à jour automatiquement dans les classes filles.
De rien. Des logiciels de gestion, il y en a des tas sur Mac, voici un site qui les recense et les teste: http://www.macgestion.com/
J'aime bien http://checkoutapp.com/quicktours
C'est simple mais je le trouve bien dans l'esprit mac, joli et graphique.
Vu que je developpe surtout pour apprendre cocoa, c'est le genre de truc dont j'aimerai m'approcher.
Il y a pas mal de truc programmé en RealBasic: moche et pas mac pour deux sous mais il y a également quelques perles. Cogilog en fait partie mais comme toujours, pour toucher le maximum de gens, il faut supporter trois ou quatre versions d'OSX donc exit les dernières technologies.
Pas mal du tout en effet. Dommage qu'aucune video ne fonctionne