IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Quels sont les risques avec les composants freeware ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 43
    Points
    43
    Par défaut Quels sont les risques avec les composants freeware ?
    Bonjour,

    La question peux paraître étrange alors je précise.

    Je compte utiliser des composants Freeware issus de divers dévellopeurs anonymes ou presque.

    L'application (payante) pourrait être distribuée à quelques centaines (voir plus) d'exemplaires, sur des plate-formes dont je ne sais rien à priori (hormis la configuration minimum imposée, dont Win32).

    Techniquement, y a t-il des risques connus aux quels je m'expose ?

    Merci.

  2. #2
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Oui yen a.

    En general les composants freeware sont des composants qui n'on pas toujours ete testé a fond. Ce sont des composants developpé suite a des besoins de quelqu'un et qui ont ete distribué dans le but d'aider d'autres personnes.

    Ce sont aussi de tres bon composants pour des applciaitons gratuite qui, niveau fiabilité, seront de toute facon proche de celui du composant utilisé.

    Pour une applciation commerciale qui doit etre plus "prorpe" l'utilisation de freeware peut eventuelement etre source d'erreur a corriger, et donc de travail en plus.

    Maintenant, il existe de tres bon composants freeware ..... comme de tres mauvais composants gratuits.
    LE tout est surtout de bien tester le composant (gratuit comme payant) et de s'assurer qu'il est suffisement stable pour l'application souhaité.
    D'autre part, toujours veiller a posseder le code source de ces composants, ne serais-ce que pour ne pas etre bloqué en cas d'evolution de l'IDE.

    Pour ma part, je prefere de loin creer mes propres composants, dont je maitrise tous les aspects de la programmation, tant qu'ils restent dans mon niveau de competence.
    Creer ses propres composants, permet aussi d'avoir un composant qui "colle" a la peau de l'application, sans se trainer toute une serie de fonctions methodes qui ne servent a rien.
    Quitte a recopier et/ou s'inspirer du code du composant tiers.

  3. #3
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Tout à fait d'accord avec Clorish, j'en suis même à me faire ma propre librairie de composants bien personnels, et qui répondent parfaitement à mes besoins...

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    je ne pense pas que le prix ai beaucoup d'importance.

    le plus important est d'avoir, soit les sources, soit un support. car face un a bug dans le composant il faut pouvoir réagir, soit en le modifiant soit-même, soit en s'adressant au support.

    prenons ICS, par exemple, sa gratuité n'en fait pas un mauvais produit, et François en assure la maintenance...sans compter que les sources sont disponibles.

    PS: je ne parle pas des sources sous licence GPL (comme les miens) qui n'entre pas dans le cadre d'une utilisation commerciale.

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par petitprince Voir le message
    Tout à fait d'accord avec Clorish, j'en suis même à me faire ma propre librairie de composants bien personnels, et qui répondent parfaitement à mes besoins...
    Bon maintenant, ... il faut pas non plus reinventer la roue
    Si on trouve quelque chose qui convient autant s'en servir
    ... a contition de valider la fiabilité du composant

  6. #6
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Ce que je voulais dire c'est utiliser des composants , MAIS éventuellement virer des parties de code qui ne nous servent pas: exemple, moi je n'aime pas trop la JVCL, car trop touffu en code, j'essaie d'utiliser le moins possible de ses compos, par contre, les sources sont très précieuses, car énormément formateur!

    Bref, ce qui fait un bon composant: un code propre, qui va droit au but (ni plus ni moins), et si en plus c'est freeware, que demande le peuple? des mises à jours fréquente...

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par petitprince Voir le message
    Bref, ce qui fait un bon composant: un code propre, qui va droit au but (ni plus ni moins), et si en plus c'est freeware, que demande le peuple? des mises à jours fréquente...
    Si c'est propre et va droit au but il y a peu de chances qu'il y ai des mises à jour

    Yan.

  8. #8
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Citation Envoyé par devyan Voir le message
    Si c'est propre et va droit au but il y a peu de chances qu'il y ai des mises à jour
    JE parlais de MAJ de l'IDE Delphi
    Les binaires des composants ne sont pas toujours compatible de version en versions

  9. #9
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    Merci à tous pour la qualité de vos réponses.

    Je risque une petite synthèse :

    1 - Le fait qu'un composant soit payant ou gratuit n'induisant rien sur sa fiabilité ou la qualité du support technique, le sujet revient simplement à discuter de l'oportunité d'utiliser des composants tiers. Vaste sujet certainement traité plusieurs fois.

    2 - Comme il se doit pour toute application et en particulier une application commerciale, il faut anticiper sur :
    - les bugs cachés du code
    - les éventuelles évolutions de l'application, de l'environnement de dévellopement et du sytème d'exploitation
    Il est nécéssaire pour cela de :
    - Disposer des sources du composant.
    - Etre en mesure de les modifier.

    3 - Il y de forte chances que le composant "transporte" avec lui du code inutile à l'application.

    Mon avis à ce stade ...

    vu que :
    - POO ou pas une application reste un chateaux de cartes qu'un battement d'aile ...
    - il y a déja assez de risque avec les différentes "composantes imposées" commes les accès aux bases de données et les accès aux réseaux pour qu'on en rajoute.
    - d'expérience, la compréhension d'un code long nécéssite souvant plus de temps que la ré-écriture.

    je pense que ...
    1 - mieux vaux sacrifier les détails ( tel que ceux concernant le look ) et se cantonner aux composants standards.
    2 - créer son propre composant si cela est utilie ou nécéssaire.
    3 - si l'utilisation d'un composant tiers est imposée ou apporte globalement un gain de temps appréciable, alors il faut :
    - maitriser sois-même la création de composant, avant tout.
    - disposer des sources.
    - Vérifer que l'on pourra les exploiter.
    Par exemple, en ce qui me concerne, un style de programmation trop personnel ou des commentaires dans une langue que je ne connais pas ne me seront d'aucune utilité.

    Ai-je bien tout compris ?

  10. #10
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Bonjour,

    Je pense que lorsque l'on paye une librairie de composants c'est surtout pour le support. L'utilisation de composants commerciaux évite le developpement de ces dernier et donc un gain de temps pour le developpement métier. Je suis d'accord pour dire que les sources sont indispensables pour ma part en débuggage. J'utilise la QuantumGrid de DevExpress, la réactivité de leur support est impressionnante (le lendemain de la demande). Cette librairie trés complete n'est effectivement pas utilisé à fond, mais elle nous a déjà apporter enormément de fonctionnalités que l'on aurais simplement ignoré s'ils ont avais du développer ce genre de librairie nous même.

  11. #11
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Je dirais même plus plus, parfois on à trop tendance à s'occuper du paquet cadeau que du cadeau lui-même: en effet il vaut mieu dans un premier temps, utiliser des composant standard et ce concentrer sur le code utile de l'application, puis par la suite, s'attaquer au look...

  12. #12
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 950
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 950
    Points : 5 668
    Points
    5 668
    Par défaut
    Jio,
    Citation Envoyé par petitprince Voir le message
    Je dirais même plus plus, parfois on à trop tendance à s'occuper du paquet cadeau que du cadeau lui-même: en effet il vaut mieu dans un premier temps, utiliser des composant standard et ce concentrer sur le code utile de l'application, puis par la suite, s'attaquer au look...
    Les composants ne sont pas forcément limités au look, mais aussi, et sutout, au fonctionnement.

  13. #13
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Raison de plus!
    Je ne pourrai pas faire cofiance à un composant si je ne l'ai pas testé et décortiqué un minimum, c'est donc pour cela que je développe moi-même mes classes et fonctions...
    Maintenant que je me suis m'y à la conception de composants, je comprend mieux leur fonctionnement, et donc analyse plus vite des composants tierce...

  14. #14
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    De petit prince :

    Je dirais même plus plus, parfois on à trop tendance à s'occuper du paquet cadeau que du cadeau lui-même
    On a tous fait, et souvant consciement, cette erreur. Mais faut bien se faire plaisir des fois.

    en effet il vaut mieu dans un premier temps, utiliser des composant standard et ce concentrer sur le code utile de l'application, puis par la suite, s'attaquer au look...
    C'est peut-être déja une autre question, mais elle vaut le coup d'être posée. Je me pose justement en ce moment la question de la méthode. En effet, il ne s'agit pas de traitement de texte. C'est des composants qu'il faut remplacer.

    Il y a bien au moins GExpert qui donne un coup de main, mais il ne peut pas résoudre tous les problèmes notament celui des propriétés qui existent dans l'un des composant et pas dans l'autre.

    Sinon manuellement c'est faisable, bien sur. Peut-être ne suis-je pas doué mais en tout cas j'ai été surpris de temps que cela m'a pris (Pas de question SVP ) pour obtenir des TPanel dégradés et pouvoir personnaliser la couleur des Tab des TxxxPagesControl.

    Il a fallu transformer un TPageControl avec 3 TTabSheet. Chacun d'eux contenant plusieurs TPanel et un PageControl avec 3 TTabSheet sur les quels il y avait des TPanel et des TxxxDBGrid et bien sur plusieurs autres contrôles un peu partout. Il fallu tout de même veiller à :

    - Ne pas perdre le nom des composants
    - Ne pas perdre les gestionnaires d'évènements : Il me semble bien avoir été obligé de les ré-créer puis copier le code des anciens.
    - Ne pas perdre les liaisons avec les DataSources
    - et j'en passe

    Avec en prime parfois la surprise de se rendre compte à la fin que le composant à ses petits caprices et qu'il ne se comporte pas comme il faut (de manière standard).

    Exemple, aberrant, un TxxxPageControl ne me permettait pas d'accéder par code aux control présents sur les TxxxTabSheet.

    Alors qu'il s'agissait d'une version sournoisement Demo, d'une erreur de programmation, ou tout simplement des limites conceptuelles du composant, ceci n'as plus d'importance maintenant. Le fait est que cela avait échapé au test préliminaire et qu'un travail a été effectué pour rien.

    Alors la question reste posée pour moi : On commence avec les composants standards et on personnalise après ou on perd du temps à chercher les composants qui conviennent et on se met au travail, un jour ?

    C'est certainement un vieux débat.

  15. #15
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    en effet il vaut mieu dans un premier temps, utiliser des composant standard et ce concentrer sur le code utile de l'application, puis par la suite, s'attaquer au look...
    Attention, je ne parlais pas de transformer une même application...

  16. #16
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    de moi

    Alors la question reste posée pour moi : On commence avec les composants standards et on personnalise après ou on perd du temps à chercher les composants qui conviennent et on se met au travail, un jour.
    Me suis peut-être embalé dans ma discussion.
    Une réponse possible est déja dans les précédants post :

    On travail avec les composants standards, puis on les modifie !

  17. #17
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Août 2007
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    De petitprince ( dont je croque avec plaisir les interventions . Oui bon passons )

    Citation:
    en effet il vaut mieu dans un premier temps, utiliser des composant standard et ce concentrer sur le code utile de l'application, puis par la suite, s'attaquer au look...
    Attention, je ne parlais pas de transformer une même application...
    Comprends pas. De quoi parlais-tu alors ?

Discussions similaires

  1. [Lazarus] Les composants Lazarus sont-ils compatibles avec les composants Delphi ?
    Par Pierre GIRARD dans le forum Lazarus
    Réponses: 21
    Dernier message: 03/06/2013, 10h55
  2. Réponses: 7
    Dernier message: 20/11/2012, 14h24
  3. Réponses: 2
    Dernier message: 20/01/2012, 10h03
  4. Réponses: 0
    Dernier message: 19/02/2010, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo