Lazarus est-il adapté au développement professionnel ?
Avec le temps, sa stabilité s'accroît

Le , par Alcatîz, Responsable Pascal, Delphi et Assembleur
Bonjour,

De version en version, la stabilité de Lazarus s'accroît; avec le temps, la panoplie de composants s'enrichit.
Mais cela signifie-t-il que Lazarus soit adapté au développement professionnel ?

Si vous avez franchi le pas (ou si vous avez renoncé à le franchir), il serait intéressant de livrer vos impressions, de partager votre expérience :
  • Quel genre de logiciels produisez-vous ?
  • Au sein de quelle structure (en entreprise, indépendant, en solo ou en équipe) ?
  • Avez-vous éprouvé ou éprouvez-vous actuellement des difficultés ?
  • Quel cheminement vous a amené à choisir Lazarus comme plateforme de développement pro ?
  • Quels arguments donneriez-vous à un décideur qui hésite à adopter Lazarus ?
  • Quels conseils donneriez-vous à un décideur ? A un développeur ?
  • ... Et tout ce que vous jugerez utile de partager

Merci de votre participation.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de - http://www.developpez.com
le 09/06/2009 à 18:46
Bonjour,

Pourquoi pas mais les contraintes sont relativement importantes, même si je trouve cet outil extrêmement sympathique... Chez nous, son utilisation est restreinte à la réalisation de petites applications en interne, de patches et de back-offices (à usage interne) de sites Internet sous XP et Debian (Lenny). Lazarus ne pourrait pas être le seul outil de développement utilisé.
En ce qui me concerne, son choix n'est pas le résultat d'un quelconque raisonnement : je suis "Pascalien" d'origine... et quand on est tombé dedans tout petit...

Le développement
Est-il multiOS ? Oui, on peut compiler du code sous Windows, Linux et MacOS... mais en se "plaçant dans l'OS". La cross-compilation, je ne l'ai jamais réussie. De plus, le code n'est pas toujours directement portable d'un OS à l'autre. Pour "être sûr" et régler rapidement les problèmes, pour obtenir le .exe et le .so, il est nécessaire d'installer Lazarus/FPC sous les deux OS.

Evidemment, comme il produit du code compilé, plus on "approche" du système d'exploitation, plus le code devient spécifique à l'OS. Il devient alors en général plus délicat à produire qu'avec un IDE + son compilateur lié à un seul OS : par exemple sous Windows, développer un projet de type Service est très délicat (ie ersatz) en Lazarus si on compare à l'approche Delphi. Mais franchement, on s'en accommode.

Là où vraiment je peste c'est au niveau du supposé encodage 'natif' de Lazarus en utf-8 sous Windows. Il est précisé que les versions de lazarus postérieures à la 9.0.25 utilisent nativement UTF8 : cela devrait faciliter le développement multiplateforme. Je n'ai pas réussi à mettre en évidence quel profit je peux réellement en obtenir !... par contre les ennuis... La fameuse directive de compilation -dWindowsUnicodeSupport n'y change rien : 80% de mes problèmes et de mes pertes de temps quand je développe avec Lazarus résident là. Si le programme doit fonctionner en Linux et en Windows, on arrive rapidement à une quantité de "code parallèle" très (trop) importante. C'est pénible et décevant mais néanmoins contournable.

Le résultat
Lorsque les points cités ci-dessus sont réglés (ie contournés pour l'instant), le résultat est assez impressionnant : rapide, "costaud"... dans les 2 environnements que nous pratiquons. Un petit point faible : les états (Lazreport bien que s'améliorant est encore en retard...).

La diffusion
Développer puis compiler c'est bien mais ensuite il faut diffuser les programmes, les maintenir, fournir l'assistance.
Sous Windows, peu de problèmes à mon avis. (Rencontré une fois : programme développé sous XP - exe fonctionnant mal sous VISTA [Affichage Form SDI]... mais il y a plein d'autres programmes Windows incompatibles Vista non développés en Lazarus...).
Sous Linux, il vaut mieux que le client ne dispose pas d'une distribution trop éloignée de celle qui a servi à compiler le project.so... J'ai vu certaines de mes applications ne plus fonctionner d'une version d'Ubuntu à la suivante (de par la faute d'Ubuntu certes) et j'imagine mal le suivi clientèle...
Sous MacOS, j'ai péniblement installé un Lazarus 0.9.26 avec ZeosDbo mais sans Indy qui n'a jamais voulu s'installer... Je me suis arrêté là.

En conclusion, les contraintes sont fortes mais techniquement avec de la patience (pour le développement) et un suivi probablement assez gourmand en temps (pour l'installation/maintenance surtout sous Linux), il est possible de développer puis de diffuser en clientèle des exécutables compilés par Lazarus/FPC.

Cordialement. Gilles
Avatar de marcleb1 marcleb1 - Nouveau membre du Club http://www.developpez.com
le 12/06/2009 à 22:13
Bonsoir,

J'utilise Lazarus professionnellement depuis la version 0.9.24 et de manière intensive depuis environ un an, et des problèmes j'en ai rencontrés, je les ai surmontés, et je dois dire que j'arrive facilement à mes fins avec Lazarus.

Je suis probablement privilégié par rapport à selzig car mes propres contraintes sont beaucoup moins importantes. La boîte pour laquelle je travaille ne m'impose aucun outil de développement, et nous ne sommes que deux développeurs dont l'un travaille en WinDev. Le seul environnement utilisé est Windows XP. Cela limite déjà pas mal les contraintes

J'ai développé pour cette société depuis 1998 en utilisant exclusivement Delphi 3, je pensais qu'il était temps de me mettre à jour mais en privilégiant le logiciel libre pour lequel j'ai une nette préférence. J'ai donc entrepris de re-développer la plupart de mes applications avec Lazarus.

Avec la version 0.9.26 les choses ont encore été largement améliorées d'une manière générale, il reste encore pas mal de lacunes mais pas de réel problème.

Une des choses qui m'ont le plus ennuyé est l'interface OLE qui n'est pas tout à fait terminée, ce qui m'empêchait de piloter Excel (on exporte énormément de données vers ce tableur) et j'ai résolu ce problème en écrivant une DLL avec Delphi 3 qui fait tout le boulot avec Excel et qui est appelée par les programmes écrits en Lazarus, cela fonctionne parfaitement.

Au niveau données, j'utilise exclusivement Firebird. Mais sans les composants présents dans Lazarus. À la place j'ai récupéré FBLib à partir duquel j'ai développé une librairie que j'utilise pour me connecter aux DB et faire des requêtes, d'une manière très simple. De toute façon je n'ai jamais trop apprécié les composants "visuels" avec lesquels on n'a rien à programmer

Je suis un utilisateur heureux de Lazarus, je le recommanderais aux personnes qui ont comme moi beaucoup de patience, mais pas à ceux qui veulent que tout marche bien tout de suite, ceux-là n'ont qu'à se payer Delphi ou attendre encore quelques années que Lazarus ait encore progressé...
Avatar de JP.NUAGE JP.NUAGE - Membre confirmé http://www.developpez.com
le 08/08/2009 à 11:40
Je vais un peu faire figure de 'tombé de la dernière pluie', mais ce n'est pas grave

J'ai récupéré une appliation développée en Delphi 7, mais comme je suis un ennemi juré (et depuis longtemps) de WirusXXX () j'ai décidé de la réécrire totalement en LAZARUS ceci afin de pouvoir d'une part la faire tourner sous LINUX et aussi sous MAC (pas encore testé à ce jour) et enfin pour ne pas me fermer complètement le marché des inconditionnels de WirusXXX (et oui il y en a).

La transcription a été faite sous WirusXXX : trop lourd sous LINUX et Wine, bien que cela fonctionne. Je dois reconnaître que après les 10 premières unités, la vitesse de passage de l'un à l'autre a augmentée de manière impressionante. Certains composants personnels ont même été traduits sans problème majeur.

Deux problèmes :

L'appli Delphi utilise des mouse_event et ça je n'ai pas trouvé sous LAZARUS ! C'est plutôt casse pied
Les accents ne sont pas convertis dans les composants personnels et (mais je dois vérifier) j'ai l'impression que certains champs de mes tables (Firebird) non plus. Si ceci s'avairait vrai, ce serait un sacré boulet !

Mais dans l'ensemble je suis satisfait du résultat et je continue allègrement.
Avatar de - http://www.developpez.com
le 14/08/2009 à 18:57
Bonjour,

Petit (gros) bémol modifiant ma réponse du 09/06/2009.

J'ai répondu une première fois dans cette discussion que j'utilisais souvent Lazarus en développement professionnel. Depuis, j'ai esssayé de développer des programmes plus généraux de gestion.

Je vous renvoie à des problèmes évoqués sur les StringGrids qui à mon avis sont conceptuels. Les StrinGgrids sont mal finalisés. Il existe 2 approches dans le même objet complètement incohérentes. ce n'est pas un défaut de jeunesse. La 2ème couche "les Columns[]" et les progrès qu'elle aurait dû entraîner est incompatible avec la première. Zéro pointé !
http://www.developpez.net/forums/d79...lement-idiote/. C'est insensé : un objet aussi usuel.

Les problèmes d'UTF8/Ansi sont persistants et je n'ai noté aucune amélioration avec la 0.9.27. Ce serait même pire.

J'ai des problèmes avec LazReport qui est trop limité et présente des bugs notamment sur la génération des code-barres les plus usuels.

Je recopie ma conclusion sur les StringGrids car c'est ma position actuelle sur Lazarus.

C'est le deuxième projet professionnel qui échoue techniquement à cause de bugs quasi incontournables ou contournables en sacrifiant l'ergonomie de manière incompatible avec des logiciels modernes. La base du produit n'est pas en cause, mais il faut absolument stabiliser les versions dites stables avant de continuer cette course (cette fuite) en avant. Sinon, même si je suis un Pascalien dans l'âme, il sera difficile désormais de considérer à mon niveau que Lazarus a un avenir professionnel... et il sera abandonné. Dans la SSII où je travaille, le sourire devient grimaçant face à ce produit dont je suis un des rares supporters. Il y a encore une école à Caen qui forme ses étudiants de BTS en informatique en Pascal et j'en parlais encore récemment aux enseignants venant visiter les stagiaires que nous accueillions. Nous partageons le même avis : Prévision météo à moyen terme --> Sale temps pour les Pascaliens, déjà Delphi Prism... bientôt Lazarus... il n'y a pas quelqu'un qui est en bonne relation avec l'équipe de développement de Lazarus/Free Pascal et qui pourrait faire quelques remarques même si elles peuvent paraître "décalées". Je n'ai pas trouvé le canal...

Toujours que "Pascalien natif", j'ai été chargé pendant 6 mois d'évaluer le produit. Challenge très intéressant. Après 3 mois d'utilisation expérimentale puis 3 mois d'utilisation en production (exclusive sauf pour la ré-écriture "en catastrophe" des 2 programmes avortés), la question se pose de l'abandon pur et simple de Lazarus en développement professionnel par notre SSII. La décision sera prise à la rentrée de septembre. En arriver à une telle option est très décevant car je persiste à croire qu'on réalise des choses formidables avec ce produit (même comparé à Delphi) mais les problèmes rencontrés sont souvent rédhibitoires, inexistants (voire élémentaires) sur d'autres plateformes de développement. En Lazarus, on devient rapidement un as du "contournement"... où on arrête. C'est sympathique au début quand on est un "vieux" développeur...et même gratifiant : il y a un bug, mais on passe quand même : on "contourne". Je dois dire que maintenant après 6 mois d'utilisation, on m'entend plutôt rouspéter... Par contre, c'est probablement décourageant pour d'éventuels débutants. C'est pas comme cela que la communauté Pascal va se redévelopper. Mais le gros problème reste la correction des bugs dans les versions dites stables : on ne peut passer à une version svn parce que la version stable présente des bugs sur des objets élémentaires, tout en sachant que fréquemment les versions svn présentent des bugs là où la version "stable" passait sans problème. L'équipe de développement gère très mal ce problème. Sur cette question, je n'ai qu'un sentiment que je décris en fin de message. A l'arrivée, dans le temps, les productions sont inmaintenables. J'ai déjà rencontré ce cas d'école (c'est le cas de le dire) avec les langages "universitaires" et qui présentent tous le même profil (en forçant le trait) : un "truc" génial à fort potentiel mais qui délaisse les bases, le "tout-venant" du programmeur "usuel", qui se consacre justement à ce qui sort du commun et présente donc un intérêt pour ses concepteurs... et qui finit souvent dans les oubliettes. Cela n'est pas critiquable en soi mais malheureusement incompatible avec l'exploitation que j'ai essayé d'en faire.

Un autre grieffe évoqué ci-dessus, découle de critères certainement moins objectifs. Comme je l'écrivais, je n'ai pas trouvé le canal... C'est donc un ressenti et non pas une analyse cartésienne. Je n'aime pas non plus le bugtracker qui est un système fermé, non collégial me semble-t-il au niveau des prises de décisions, réservé pour ces dernières à un cercle d'initiés. Pour un logiciel libre, je trouve cela décevant. La majorité de la communauté (d'utilisateurs finalement) se "file des recettes de contournement" mais c'est la communauté qui doit faire avancer le produit... sinon dans 10 ans, s'il existe encore, Lazarus en sera au même stade (C'est déjà son âge approximativement ai-je lu). D'autres langages plus à la mode gèrent beaucoup mieux cette ressource. Au début de ma période d'expérimentation, j'ai déjà essayé d'entrer en contact avec ces "gens" à propos des connecteurs pour les bases de données dont les éloges étaient nombreuses mais qui suivant mes tests n'étaient pas méritées.
http://www.developpez.net/forums/d69...r-dexperience/ Sans succès. On peut signaler un bug. On peut éventuellement le modifier soi-même mais sans aide ce qui rend l'ensemble pénible et long... D'ailleurs sur les forums Lazarus, les initiés vous le déconseillent fréquemment. C'est "symptomatique". L'argument généralement avancé est que ce sera probablement en pure perte parce que, à la prochaine version, il faudra remodifier le code... Il serait nettement plus judicieux de faire bénéficier à la communauté de l'apport des concepteurs ou des développeurs du cercle restreint qui ont en charge l'objet ou le code incriminé et ainsi pouvoir utiliser la communauté pour le développement et non pas principalement comme (beta-)testeurs. Il faudra du temps certainement.

Pour terminer, pour en revenir à ma pratique de Lazarus, même si nous abandonnons ce produit, je continuerai à l'utiliser pour réaliser des développements "privés"... pour mon plaisir.

Cordialement. Gilles
Avatar de marcleb1 marcleb1 - Nouveau membre du Club http://www.developpez.com
le 07/09/2009 à 7:06
Bonjour Selzig,

On est maintenant presque un mois plus tard, la rentrée est derrière nous, qu'avez-vous décidé à propos de Lazarus ?

Et si vous avez arrêté de l'utiliser, par quoi l'avez-vous remplacé ?

Pour ma part je n'ai pas encore remis en cause son utilisation, je suis content de la version actuelle (je n'ai pas encore essayé de reproduire les bugs dont vous parlez) et mes développement se font maintenant presque tous avec Lazarus

Bonne journée.
Avatar de - http://www.developpez.com
le 10/09/2009 à 10:31
Bonjour Marcleb1,

Pour répondre à votre question, il a été décidé de mettre fin à l'expérience Lazarus dans l'entreprise même si je continuerai à l'utiliser à titre personnel.
Nous n'avons pas remplacé Lazarus : la base de notre développement multiplateforme est, et reste Java, et ponctuellement C++.
Bonne continuation avec Lazarus.
Cordialement. Gilles
Avatar de thierryc thierryc - Nouveau membre du Club http://www.developpez.com
le 24/10/2009 à 10:04
Comment peut-on travailler ensemble pour rendre Lazarus robuste et apte à l'usage professionel?

En pratique, si c'est outil nous plaît, il faudrait que nous définissions un plan d'actions, pour avancer sur le sujet.

Certains versions de Lazarus semblent bien stables. Je n'aimais pas 0.9.24. 0.9.26 m'a satisfait, et maintenant 0.9.28 (en fait 0.9.29beta) me plait bien, surtout avec FPC 2.3.1.
Peut-être pourrait-on "qualifier" une version industrielle apte au développement (par plateforme : Windows, Linux, MacOS, iPhone, etc)?

Personnellement, plus que l'environnement lui-même, ce sont les composants qui sont nécessaires. Peut-être pourrait-on "qualifier" les composants que l'on jugerait aptes au développement professionnel? Par exemple, InstantObjects, GLScene, etc...

Idem pour les outils autour. J'utilise Modelmaker qui vient du monde Delphi, pour UML. Il est très compatible avec Lazarus et parfaitement professionnel. Nous pourrions peut-être "qualifier" ce genre d'outils et maintenir une liste.

En restant sur le plan technique et en ayant une liste de critères claires pour l'attribution de la qualification, cela ne serait pas perçu comme de la publicité.

Cordialement,
Thierry Coq
Avatar de marcleb1 marcleb1 - Nouveau membre du Club http://www.developpez.com
le 28/10/2009 à 23:27
Bonjour,

Juste un mot pour réaffirmer que je suis pleinement satisfait de Lazarus, je suis passé à la version 0.9.28 sans aucun problème, et je continue petit à petit la conversion de mes projets Delphi vers Lazarus

Pour rappel, j'utilise Delphi et Lazarus en environnement professionnel, pour le développement en interne de l'ERP/CRM de la boîte. C'est donc une mission assez critique que je confie à Lazarus
Et jusqu'ici il ne m'a pas déçu.

Bonne continuation à tous
Avatar de Gouyon Gouyon - Membre éprouvé http://www.developpez.com
le 03/03/2010 à 11:21
Normalement j'utilise Delphi. Mais je voudrais que mon application Win32 puisse tourner sous Mac et Linux.
Je dois avouer que pour l'instant c'est un peu galère. Déjà la documentation est assez mal faite et peu conviviale. Il n'y a rien sur l'EDI notamment sur tout ce qui concerne la mise en forme des fiches (du moins je n'ai pas trouvé).
De plus il y a parfois des comportement un peu bizarres.
Ceci dit c'est quand même un bon produit mais qui manque un peu de maturité et surtout de professionnalisme.
Mais continuer comme ça les petits gars c'est très bien ce que vous faites.
Avatar de chris37 chris37 - Membre expérimenté http://www.developpez.com
le 10/05/2010 à 15:36
Bonjour à toutes et à tous,

Ardent défenseur de Lazarus pendant longtemps et découragé par un tas de choses dont nous avons déjà longuement parlé, j'ai donc demandé au responsable Pascal de récupérer mes tutos sur Lazarus et de les mettre sur DVP car moi aussi je jette l'éponge. (Pas la peine de relancer le débat Svp)

Bon courage et bonne continuation...
Offres d'emploi IT
FRONT-END DEVELOPPERS, PARIS, 6 MONTHS
Amoria Bond - Ile de France - Paris
Développeur web
SARL NEXETO - Pays de la Loire - La Roche-sur-Yon (85000)
Ingénieur de production mvs h/f
M PLANET - Languedoc Roussillon - Montpellier (34000)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Lazarus : Alcatîz - Gilles Vasseur -