Xojo
Cet article présente des problèmes à corriger.
| Développé par | Xojo Software |
|---|---|
| Première version | |
| Environnement | Windows, Linux, Mac OS X, iOS, Raspberry |
| Formats lus | Xojo build (d), REALbasic Form/Window (d), REALbasic Project (d) et REALbasic/Xojo Project (d) |
| Formats écrits | Xojo build (d), REALbasic Form/Window (d), REALbasic Project (d) et REALbasic/Xojo Project (d) |
| Type | langage de programmation Visual Basic |
| Licence | Commercial |
| Site web | https://www.xojo.com/ |
Xojo (anciennement REALbasic), est un langage de programmation inspiré du Visual Basic 6 de Microsoft qui fonctionne sur Mac OS X, Windows et Linux. Xojo fut créé par Andrew Barry. Il s'appelait originellement CrossBasic (cross=transversal) car il était capable de compiler le même code de programmation pour Mac et Java (le système de développement était uniquement sur Mac). En 1997, CrossBasic fut racheté par FYI Software qui changea son nom en RealBasic tandis que la société s'appela REAL Software. À la suite de cela, la version Java fut abandonnée. Puis ultérieurement RealBasic et Real Software furent renommés respectivement Xojo et Xojo Software.
Généralités
Xojo, est le langage de l'environnement de développement Real Studio. Ce langage de programmation s'inspire initialement du visual basic 6 de Microsoft, bien qu'il ait énormément évolué depuis sa création. Il est totalement orienté objet, typé et multi thread. Cet outil de développement fonctionne sur Mac OS X, Windows, Linux, iOS et Raspberry, et est capable de compiler des logiciels pour les mêmes plateformes, sous réserve d'avoir acheté la version Desktop ou Pro. Le langage intègre nativement les notions de classes, d'héritage, d'interfaces, d'encapsulation, de polymorphisme, de gestion des exceptions, de modules, de structures et de collections avancées.
Actuellement, c'est la version 2026 r1 qui est commercialisée. Cet outil de développement permet notamment de générer des applications pour Mac OS, Windows, iOS, Raspberry Pi, Android, iOS et pour le web. Xojo est pratique, il permet de développer facilement et rapidement, et surtout pour plusieurs plateformes ce qui évite de redévelopper plusieurs fois les mêmes applications. En fonction de la complexité de ces dernières, on ne pourra cependant se passer de vérifier la compatibilité et surtout la pertinence de votre code (notamment de l'interface utilisateur) avec tous les systèmes. Xojo offre heureusement la possibilité de faire varier le code en fonction de la plateforme cible.
Xojo permet de développer des applications consoles, graphiques, mobiles ou web. Il est disponible en 4 versions : Bureau, Mobile, Web, Pro. Il existe aussi une version Pro plus avec un support très étendu.
Intégration du contrôle de version
Xojo 2024r1 ajoute le contrôle de version à toutes les licences Xojo, ce qui était une demande récurrente de la communauté. Un développeur professionnel travaillant avec Git ne se retrouve donc plus pénalisé[1]
Base de données
Xojo intègre nativement des classes d'accès à la plupart des moteurs de bases de données courants : SQLite, MySQL, Oracle Database, Microsoft SQL Server ainsi qu'un accès générique via ODBC pour les autres systèmes.
Depuis l'introduction de l'API 2.0, ces classes (SQLiteDatabase, MySQLCommunityServer, PostgreSQLDatabase, etc.) héritent toutes d'une classe commune Database, qui uniformise la syntaxe d'accès — requêtes préparées, gestion des paramètres liés ("bind"), parcours des résultats. En pratique, il devient possible de changer de moteur de base de données (par exemple passer de SQLite en développement à PostgreSQL en production) en modifiant essentiellement la classe de connexion et ses paramètres, sans réécrire la logique d'accès aux données.
Pour une application de gestion, cela permet par exemple de démarrer avec une base SQLite locale (sans serveur à installer) lors du développement ou pour un petit déploiement, puis de migrer vers un serveur MySQL ou PostgreSQL partagé en réseau, en limitant les changements de code à la couche de connexion.
Enrichissement du langage par plug'in
Au-delà des fonctionnalités natives, l'écosystème Xojo s'appuie sur un marché de plug-ins tiers (notamment MonkeyBread Software et Einhugur), qui ajoutent des fonctionnalités absentes du langage de base : connecteurs vers des bases de données supplémentaires, contrôles graphiques avancés, accès à des API systèmes spécifiques, cryptographie, traitement d'images, etc. Leurs tarifs vont de gratuit à plusieurs centaines, voire milliers d'euros par an selon l'étendue des fonctionnalités et le nombre de plateformes couvertes.
Il permet de combler rapidement les lacunes du framework natif sans devoir tout coder soi-même. Ce projet s'appuie sur de nombreux plug-ins payants et voit son coût global augmenter significativement, et peut devenir dépendant de fournisseurs tiers pour ses mises à jour — un risque à mettre en balance avec le coût d'autres environnements professionnels plus complets, mais aussi plus coûteux à l'achat.
Dans la pratique, le recours aux plug-ins reste optionnel : le framework natif de Xojo couvre déjà la majorité des besoins d'une application de gestion classique, et ces modules ne sont véritablement utiles que pour des besoins ciblés (fonctions cryptographiques avancées, formats de fichiers spécifiques, intégrations système poussées).
Jade : un assistant IA intégré directement dans l'IDE
Depuis Xojo 2025r3, l'IDE intègre Jade, un assistant IA propulsé par Claude d'Anthropic, spécialisé sur le langage et le framework Xojo. L'interaction se fait comme dans un chat et si la réponse contient du code Xojo, un bouton permet de l'injecter directement dans l'éditeur actif en un seul clic. Jade connaît précisément les spécificités de Xojo — syntaxe, bonnes pratiques, framework — ce qui le rend immédiatement utile aussi bien pour un débutant que pour un développeur expérimenté reprenant un projet après plusieurs mois d'inactivité, sans jamais quitter son environnement de travail[2].
Facilité de déploiement chez le client
L'application qu'il génère ne nécessite aucune installation sur l'ordinateur de l'utilisateur final. Les applications Xojo fonctionnent donc parfaitement sur une clé USB. C'est une des raisons du succès de ce langage.
Windows / Linux — L'exécutable et son dossier "Libs" se copient simplement sur le poste cible, sans installeur ni inscription au registre. Une application non signée peut déclencher un avertissement SmartScreen sous Windows.
macOS — L'application est livrée en bundle (.app) autonome, déplaçable sans installation. Pour une distribution hors Mac App Store, Xojo permet de signer et notariser l'app (Hardened Runtime + notarisation Apple), désormais requis pour éviter le blocage par Gatekeeper.
Android — Xojo génère un fichier signé (bundle/APK) à partir d'un keystore configuré dans l'IDE, prêt à être soumis au Google Play Store via la console développeur Google.
iOS — Xojo produit un fichier IPA, signé via un compte Apple Developer Program et un certificat/profil de provisionnement, puis soumis à l'App Store via App Store Connect. Distribution simplifiée sur le Mac App Store : Xojo 2024r4 introduit le Sandboxing, le Hardened Runtime et la Notarisation directement depuis l'IDE Xojo, rendant beaucoup plus simple la distribution d'applications Mac sécurisées, notamment vers le Mac App Store. Cela élimine une friction majeure pour les développeurs macOS.
Dans tous les cas, l'utilisateur final n'a besoin d'installer aucun runtime ni interpréteur tiers, et Xojo ne perçoit aucune royaltie ni redevance sur les applications ainsi distribuées : la licence couvre le développeur, pas chaque installation chez le client.
Système de débogage
Débogage
Xojo intègre un débogueur complet directement dans l'IDE : pose de points d'arrêt (breakpoints), exécution pas à pas (entrer/passer/sortir), inspection des variables et de la pile d'appels, et gestion des exceptions. Une fonctionnalité plus avancée, les points de surveillance (watchpoints), permet d'arrêter l'exécution non pas sur une ligne précise, mais dès qu'une variable atteint une valeur donnée (avec des opérateurs de comparaison comme ≥ ou ≤), en affichant la valeur précédente et la nouvelle valeur — utile pour traquer un bug difficile à localiser dans une boucle ou un calcul.
Débogage à distance
Xojo propose également un débogage à distance via une application séparée, le "Remote Debugger" (versions Desktop et Console), installée sur la machine cible. Le développeur compile et lance son projet depuis son poste habituel (Project > Run Remotely) ; l'exécutable de débogage est alors envoyé et exécuté sur la machine distante, tout en restant connecté au débogueur de l'IDE : les points d'arrêt posés sur le poste de développement s'activent normalement pendant que l'application tourne ailleurs.
Cela permet par exemple de développer sur macOS tout en testant et déboguant la version Windows ou Linux de la même application sur une autre machine (physique ou virtuelle) du réseau local, sans avoir à réinstaller l'IDE sur chaque plateforme. Le Remote Debugger Desktop couvre macOS, Windows et Linux (32/64 bits, x86 et ARM) pour les applications de bureau et console ; le Remote Debugger Console cible les machines sans interface graphique (serveurs), pour déboguer des applications console ou web. Le débogage des applications iOS et Android dispose par ailleurs de ses propres outils dédiés, intégrés à l'IDE.
Cette approche est particulièrement pertinente pour un outil multiplateforme : elle permet de vérifier le comportement réel d'une application de gestion sur chaque système cible (Windows, macOS, Linux) sans changer de poste de travail.
Liens avec pack office de Microsoft
Si vous optez pour la version Windows, vous aurez à votre disposition des contrôles qui vous permettrons de piloter Excel, Word et PowerPoint. Il vous sera donc possible par exemple de générer des documents Excel avec Xojo.
GUI (Graphic User Interface) et Code
L'IDE de Xojo L'environnement de développement de Xojo repose sur deux espaces de travail complémentaires : l'éditeur de mise en page (Layout Editor), pour la conception visuelle des fenêtres, et l'éditeur de code, pour la logique associée à chaque élément. L'éditeur de mise en page fonctionne par glisser-déposer : les contrôles (boutons, champs de texte, listes, etc.) sont placés depuis une bibliothèque (Library) directement sur la fenêtre en cours de conception, puis paramétrés via un panneau d'inspection (Inspector) qui affiche leurs propriétés. Le projet est organisé sous forme d'arborescence dans le Navigateur : fenêtres, classes, modules, méthodes et propriétés y apparaissent comme autant d'éléments distincts, chacun accessible directement avec son propre éditeur de code. Cette organisation hiérarchique offre une vue d'ensemble de la structure du projet, et facilite la reprise d'un programme laissé de côté pendant plusieurs mois, ou la prise en main du code écrit par un autre développeur.
Comparaison avec d'autres environnements L'approche visuelle de Xojo n'est pas unique en soi : des environnements plus anciens comme Visual Studio (WinForms), Delphi/Lazarus ou Qt Creator (Qt Designer) proposent eux aussi un concepteur de fenêtres par glisser-déposer. La différence se situe ailleurs : ces outils restent généralement liés à une seule plateforme cible par projet (WinForms pour Windows, par exemple), et nécessitent un environnement, un langage, voire un IDE différent pour viser le web ou le mobile.
À l'inverse, de nombreux frameworks multiplateformes récents — .NET MAUI, Avalonia, Flutter, ou encore SwiftUI et Jetpack Compose sur mobile — ont abandonné le concepteur visuel classique au profit d'une description de l'interface entièrement en code ou en balisage (XAML, Dart, Swift, Kotlin). Cette approche dite "déclarative" offre davantage de contrôle, mais déplace une partie de la conception graphique vers l'écriture de code, ce qui allonge la courbe d'apprentissage, en particulier pour un développeur occasionnel ou un débutant. Xojo se positionne ainsi à la croisée de ces deux mondes : il conserve un concepteur visuel par glisser-déposer hérité des environnements RAD classiques, mais l'applique de façon cohérente aux trois cibles (desktop, web, mobile) au sein d'un même IDE et d'un même langage.
Conséquences sur l'apprentissage et la production Cette unification a des conséquences concrètes. Sur le plan de l'apprentissage, un développeur n'a besoin de maîtriser qu'un seul langage et un seul environnement pour produire des applications sur plusieurs plateformes, contre plusieurs piles technologiques distinctes (langage, framework UI, outils de build) dans une approche type MAUI/Flutter/SwiftUI. Le temps de formation s'en trouve réduit, ce qui est particulièrement sensible pour une petite structure ne disposant pas d'une équipe de développeurs spécialisés par plateforme, ou pour un contexte pédagogique où le temps disponible est limité. Sur le plan de la production, la conception visuelle accélère mécaniquement les phases de création et d'ajustement d'interface : positionner, redimensionner et relier des contrôles à la souris est plus rapide qu'écrire et ajuster du balisage ou du code déclaratif équivalent, en particulier pour les itérations rapides typiques d'une application de gestion (ajout d'un champ, réorganisation d'un formulaire). Ce gain de temps porte essentiellement sur l'interface ; il est moins marqué sur la logique métier elle-même, dont la complexité reste comparable à celle d'autres langages orientés objet.
Exemple de code
Voici un exemple de surcharge d'opérateur pour une hypothétique classe de nombre complexe afin d'additionner un nombre réel ou complexe à un autre nombre complexe :
Function Operator_Add (rhs As Single) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs
ret.Imaginary = Self.Imaginary
Return ret
End Function
Function Operator_Add (rhs As Complex) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs.Real
ret.Imaginary = Self.Imaginary + rhs.Imaginary
Return ret
End Function
La même fonction peut être définie pour accepter des nombres en double précision. Ce code montre comme utiliser cette classe de complexe pour additionner un réel à un complexe :
Dim Premier As New Complex (0, 1)
Dim Second As New Complex (1, 1)
Dim Somme As Complex
Somme = Premier + 5.0 + Second
// Somme donnera comme résultat (6, 2)
Autre thème, voici un exemple de code d'une classe en Xojo :
Class LigneCommande
Public Nom As String
Public PrixUnitaire As Double
Public Quantite As Integer
Public TauxTVA As Double
Sub Constructor(nom As String, prix As Double, qte As Integer, tva As Double = 0.20)
Me.Nom = nom
Me.PrixUnitaire = prix
Me.Quantite = qte
Me.TauxTVA = tva
End Sub
Function MontantHT() As Double
Return PrixUnitaire * Quantite
End Function
Function MontantTTC() As Double
Return MontantHT() * (1 + TauxTVA)
End Function
// Méthode partagée : calcule le total d'une commande (tableau de lignes)
Shared Function TotalCommande(lignes() As LigneCommande) As String
Dim totalHT As Double = 0
Dim rapport As String = ""
For Each ligne As LigneCommande In lignes
totalHT = totalHT + ligne.MontantHT()
rapport = rapport + ligne.Nom + " : " + Format(ligne.MontantTTC(), "#,##0.00") + " € TTC" + EndOfLine
Next
// Remise par paliers selon le montant total
Dim remise As Double = 0
If totalHT >= 1000 Then
remise = 0.10
ElseIf totalHT >= 500 Then
remise = 0.05
End If
Dim totalNet As Double = totalHT * (1 - remise)
rapport = rapport + EndOfLine
rapport = rapport + "Total HT : " + Format(totalHT, "#,##0.00") + " €" + EndOfLine
rapport = rapport + "Remise : " + Format(remise * 100, "0") + " %" + EndOfLine
rapport = rapport + "Net à payer : " + Format(totalNet, "#,##0.00") + " €"
Return rapport
End Function
End Class
// Exemple d'appel :
// Dim commande() As LigneCommande
// commande.Append(New LigneCommande("Clavier", 25.90, 10))
// commande.Append(New LigneCommande("Écran", 149.00, 3))
// MsgBox LigneCommande.TotalCommande(commande)
Desktop, Web et Mobile : envergure des projets envisageables
Desktop — C'est la cible historique et la plus mature de Xojo. Les projets les plus ambitieux envisageables sont des applications de gestion complètes pour PME (un "ERP maison" couvrant clients, fournisseurs, stock, facturation et comptabilité simplifiée), multi-fenêtres, connectées à des SGBD professionnels (MySQL, PostgreSQL, SQL Server) en architecture client-serveur. Le RAD permet un prototypage très rapide (jours à semaines), mais pour un logiciel complet à la logique métier riche, le temps de développement se rapproche de celui d'un langage classique : le gain de temps de Xojo porte surtout sur la construction de l'interface, pas sur l'écriture de la logique métier elle-même.
Web — Le framework web de Xojo (Web Framework 2, basé sur Bootstrap) permet de produire des portails internes : intranets de gestion, tableaux de bord, interfaces CRM/ERP accessibles via navigateur, avec une conception visuelle proche du desktop. La limite se situe sur la montée en charge : chaque session utilisateur consomme des ressources serveur, ce qui convient à un nombre d'utilisateurs simultanés modéré (quelques dizaines à quelques centaines), mais rend Xojo moins adapté à une application publique à très fort trafic, où des frameworks spécialisés (Node.js, Django, Ruby on Rails) restent préférables. Le développement reste rapide pour une interface interne, grâce à la réutilisation de la logique métier déjà écrite pour le desktop, mais le déploiement et le dimensionnement serveur ajoutent une étape supplémentaire.
Mobile — Avec l'ajout récent du support Android aux côtés d'iOS (version 2026r1), Xojo permet de développer des applications mobiles compagnons à un système de gestion desktop ou web : application terrain pour commerciaux (consultation de stock et de fiches clients, prise de commande, scan de codes-barres, tableaux de bord), réutilisant les classes métier déjà écrites pour le desktop. C'est typiquement le plus gros projet mobile envisageable de façon réaliste. Pour des applications mobiles grand public très riches (animations avancées, intégration poussée des API natives, réalité augmentée), des frameworks dédiés comme Flutter ou React Native restent plus matures, et le temps de développement avec Xojo deviendrait alors comparable, voire supérieur, faute d'un écosystème de composants tiers aussi large.
En synthèse — le principal gain de temps de Xojo vient du principe "un seul langage, plusieurs cibles" : les classes métier (gestion des produits, factures, etc.) écrites une fois peuvent être réutilisées sur les trois plateformes, ce qui réduit le temps de développement global d'un projet multi-cibles bien plus que sur un projet mono-cible déjà complexe.
Simplicité d'utilisation et environnement RAD
L'un des principaux atouts de Xojo réside dans son environnement de développement rapide (RAD) doté d'un concepteur d'interface entièrement visuel : les fenêtres et leurs contrôles (boutons, champs de texte, listes, etc.) sont créés par glisser-déposer directement dans l'éditeur, sans écrire de code ni de balisage pour la mise en page. Le code n'intervient que pour la logique (évènements, calculs, accès aux données).
Cette approche tranche avec plusieurs frameworks modernes très utilisés en entreprise. Avec .NET MAUI (Microsoft), l'interface se construit en XAML, un langage de balisage écrit à la main : Visual Studio ne propose pas de concepteur visuel par glisser-déposer pour MAUI, ce qui rallonge le temps de développement et la courbe d'apprentissage. Avalonia, autre framework .NET multiplateforme basé sur XAML, présente la même contrainte, son outil de conception visuelle restant peu mature. Flutter (Google), de son côté, repose entièrement sur la description de l'interface en code Dart (arborescence de widgets), sans concepteur visuel WYSIWYG.
Face à ces approches "interface décrite en code", Xojo conserve une conception purement visuelle héritée de Visual Basic : créer une fenêtre avec ses contrôles est immédiat et ne nécessite l'apprentissage d'aucun langage de balisage supplémentaire. Le nombre de concepts à maîtriser pour produire une interface fonctionnelle est ainsi nettement réduit, ce qui rend Xojo particulièrement rapide à prendre en main pour des applications de gestion classiques.
Les limites apparaissent sur des projets de plus grande envergure : Xojo n'est pas conçu pour la collaboration de grandes équipes de développement, et certaines fonctionnalités avancées — comme l'édition d'états imprimés complexes (étiquettes, mise en page élaborée) — nécessitent davantage de développement manuel que dans des environnements plus complets tels que Visual Studio ou WinDev.
Un potentiel pédagogique important
Xojo repose sur une philosophie particulièrement adaptée à l'enseignement, à différents niveaux. Sa syntaxe proche de l'anglais courant (Dim, If...Then...End If, For Each...Next) se lit presque comme des phrases, sans la verbosité ni les symboles abstraits ({}, ;, pointeurs) qui rebutent les débutants en C, Java ou C++.
L'élève peut se concentrer sur la logique plutôt que sur la syntaxe. Au lycée (spécialité NSI), cette simplicité permet d'introduire les bases de l'algorithmique — variables, boucles, conditions — sans décourager les élèves dès les premières lignes de code. En BTS (notamment BTS SIO), la plus-value de Xojo est différente : c'est avant tout la découverte d'un environnement RAD (Rapid Application Development).
L'élève passe d'un code abstrait à une véritable interface (fenêtres, champs, boutons, listes) qu'il construit visuellement par glisser-déposer, puis relie au code par des évènements. Il découvre ainsi concrètement le lien entre interface graphique et logique métier — propriétés, méthodes, objets — sur des cas réalistes de gestion (facturation, gestion de stock).
Enfin, Xojo facilite l'adoption en milieu scolaire grâce à ses licences académiques gratuites : les enseignants peuvent obtenir une licence Éducateur gratuite (activable sur 3 postes) avec une adresse e-mail académique, et les élèves disposent de l'IDE gratuit pour développer et déboguer leurs projets, ou d'une licence Desktop gratuite via le GitHub Student Developer Pack. Au final, Xojo offre une progression continue et un coût d'accès nul pour les établissements : un même langage accompagne l'élève de la découverte de l'algorithmique au lycée jusqu'à la prise en main d'un environnement RAD professionnel en BTS[3].
Un système communautaire intégré
Xojo dispose d'un écosystème communautaire actif, structuré autour de deux outils principaux. Historiquement, le signalement de bugs et les demandes d'évolution se faisaient via une application dédiée, "Feedback", accessible directement depuis l'IDE (menu Help). Ce système a depuis été remplacé par "Issues", une plateforme web (xojo.com/issues) sur laquelle les utilisateurs peuvent déclarer des anomalies, suivre leur état de résolution et proposer de nouvelles fonctionnalités, consultées par les équipes de développement de Xojo Inc.
Par ailleurs, le Forum Xojo (forum.xojo.com) constitue le principal espace d'échange entre utilisateurs : entraide technique, partage de code, retours sur les nouvelles versions, et une section dédiée aux retours sur le site et l'organisation de la communauté elle-même.
Ces deux canaux, gratuits et ouverts à tous (utilisateurs de l'IDE gratuit comme titulaires d'une licence), permettent un support communautaire important — élément à souligner pour un développeur isolé ou un enseignant, qui peut s'appuyer sur cette communauté pour résoudre des problèmes sans dépendre uniquement du support officiel.
Logiciels développés sous Xojo
- RealCADD, logiciel de CAO 2D pour l'Architecture (en particulier les plans d'exécution : https://adx-online.com/realcadd/realcaddfr.htm ).
- Accounted, logiciel de comptabilité (https://www.oranged.net/accounted/ .
- iCash , logiciel de gestion de finances personnelles (https://www.maxprog.com/site/software/personal-finance/icash-sheet-fr.php)
- EverWeb, logiciel de conception de site internet (https://www.everwebapp.com/features.html )
- EMRs for Pediatricians : Un logiciel à destination des pédiatres (https://bmd.com.ar/pediatria.html)
- Packr : Un logiciel pour préparer des listes pour ses voyages ( https://packr.app )
- ohmiGene, logiciel de généalogie (http://ohmi.celeonet.fr/ohmiGene/indexFR.html)
- Studiometry, gestion projets, clients, temps de travail et facturation ( https://www.oranged.net/studiometry/tour/ )
- Des interfaces pour utiliser des programmes existant dans les distributions GNULinux utilisant Xojo avec Python : HTMLtoPDF, Package converter, DivX Converter, APT sources Manager, etc. (http://code.google.com/p/foxoman/)
Pour quel développeur et quel projet Xojo est-il le plus pertinent face aux autres RAD ?
Le profil du développeur — Xojo s'adresse avant tout au développeur indépendant, au consultant freelance, ou à l'informaticien unique d'une PME, c'est-à-dire à une personne qui doit concevoir, développer et maintenir seule une application de bout en bout, sans équipe dédiée par plateforme. Sa syntaxe accessible et son environnement visuel unifié réduisent le temps nécessaire pour devenir opérationnel, ce qui en fait aussi un bon choix pour un enseignant ou un étudiant, ou pour un développeur déjà formé à un langage proche (ancien utilisateur de Visual Basic) cherchant à continuer dans cette logique sans réapprendre un paradigme entièrement nouveau.
La nature du projet — Xojo est le plus avantagé sur des projets de gestion d'envergure petite à moyenne : logiciels métier internes (gestion de clients, de stock, de facturation), outils de saisie connectés à une base de données, utilitaires desktop multiplateformes, avec éventuellement une déclinaison web (portail interne) ou mobile (application compagnon pour le terrain) réutilisant la même logique métier — ou un logiciel desktop autonome destiné à être vendu/distribué directement en ligne (shareware, utilitaire spécialisé). À l'inverse, il devient moins pertinent pour des projets nécessitant une collaboration à grande échelle entre développeurs, une architecture logicielle très modulaire avec un écosystème de tests/CI mature, ou des applications grand public exigeant une interface très riche.
Face à Delphi et Lazarus — Ces deux environnements partagent avec Xojo la même philosophie RAD (concepteur visuel + langage proche du Pascal/Basic). Delphi reste une référence pour le développement Windows natif performant, et propose un support multiplateforme (macOS, mobile, Linux) via FireMonkey, mais à un coût de licence nettement supérieur à celui de Xojo. Lazarus, gratuit et open source, est l'alternative la plus proche de Xojo sur le plan économique pour le desktop (Windows, macOS, Linux), mais ne propose pas de solution mobile intégrée à son IDE : le développement Android nécessite un outil tiers séparé (LAMW, avec son propre concepteur de formulaires), et le développement iOS n'est pas réellement pris en charge. Sur ce point, Xojo se distingue par un IDE unique couvrant desktop, web et mobile (iOS et Android) sans outil ou concepteur séparé.
Face à Visual C# (.NET) — Pour du développement Windows pur, WinForms conserve un concepteur visuel comparable en simplicité à celui de Xojo, et C# bénéficie d'un écosystème, d'une documentation et d'un marché de l'emploi bien plus vastes. Mais dès qu'il s'agit de viser plusieurs plateformes, .NET MAUI impose l'apprentissage de XAML et l'abandon du concepteur visuel par glisser-déposer, ce qui alourdit sensiblement la courbe d'apprentissage par rapport à Xojo pour un développeur isolé.
Face à Flutter — Flutter domine largement sur les projets mobiles ou multi-écrans à forte exigence visuelle, grâce à un rendu graphique très performant et un vaste écosystème de composants. Mais il impose d'apprendre Dart et un paradigme entièrement déclaratif, sans concepteur visuel. Pour une application de gestion dont le mobile n'est qu'un complément, Xojo permet d'éviter cet investissement en réutilisant directement les classes métier du projet desktop.
Face aux technologies full-web (Node.js/React, PHP/MySQL, etc.) — Le framework web de Xojo (Web Framework 2) permet de produire une application web depuis le même IDE, le même langage et souvent les mêmes classes métier que la version desktop, ce qui est un atout pour un développeur isolé devant maintenir un outil interne (intranet, portail d'administration) sans changer d'écosystème. Son architecture repose toutefois sur des sessions serveur dédiées à chaque utilisateur connecté, plus consommatrices en ressources qu'une architecture web "stateless" classique adossée à une base de données.
Pour un site public, une application e-commerce, ou tout projet visant une forte audience, les piles "full-web" restent largement dominantes et bénéficient d'écosystèmes considérablement plus vastes. PHP demeure le langage serveur le plus utilisé au monde, en grande partie porté par WordPress, et MySQL reste le SGBD open source de référence pour l'hébergement web. Du côté JavaScript, Node.js est aujourd'hui le framework backend le plus adopté, et React domine le développement frontend avec environ 70 % des sites utilisant un framework JS, soutenu par un registre npm de plus de deux millions de paquets. Ces écosystèmes offrent également un bassin de développeurs et d'hébergeurs (du mutualisé low-cost aux plateformes cloud) sans équivalent pour Xojo Web. Plusieurs retours d'expérience de développeurs Xojo confirment d'ailleurs que, pour du développement backend pur, des outils comme Node.js, Python ou .NET sont généralement considérés comme plus adaptés.
En synthèse — Xojo trouve sa meilleure opportunité là où se croisent trois facteurs : un développeur seul ou une petite équipe sans spécialisation par plateforme, un projet de gestion interne ou de niche (desktop d'abord, web/mobile en complément, ou shareware), et un budget de licence limité ne permettant pas d'envisager Delphi ou une équipe pluri-technologique. Dès que l'un de ces trois facteurs change fortement — grande équipe, projet grand public à très fort enjeu visuel/mobile, ou besoin de s'aligner sur un écosystème professionnel dominant (.NET, Java) pour des raisons de marché de l'emploi —, la concurrence redevient plus pertinente.
Rythme, coût des mises à jour, tarifs
Xojo est commercialisé sous forme d’abonnement annuel. Pendant la durée de l'abonnement, le développeur reçoit toutes les nouvelles versions et mises à jour sans coût supplémentaire. À l'expiration de l'abonnement, il peut continuer à utiliser la dernière version obtenue, mais ne reçoit plus les nouvelles mises à jour tant qu'il ne renouvelle pas sa licence. Xojo publie généralement plusieurs mises à jour par an, incluant des corrections de bugs, des améliorations de performances et de nouvelles fonctionnalités.
L'IDE Xojo peut être téléchargé et utilisé gratuitement pour développer et tester des projets, sans limitation de durée ni de nombre de postes. Toutefois, la compilation d'une application finale (le "build") nécessite normalement une licence payante, dont le tarif dépend de la plateforme cible.
Il existe toutefois une exception notable : la compilation d'applications pour Linux (ainsi que pour Raspberry Pi) reste entièrement gratuite, sans licence requise. Un développeur peut donc concevoir, tester et distribuer une application de gestion fonctionnant sous Linux Desktop sans aucun coût, ce qui en fait une option intéressante pour découvrir Xojo, réaliser des projets pédagogiques, ou cibler spécifiquement des postes Linux en entreprise — la licence payante n'étant nécessaire que pour générer des exécutables Windows, macOS, Web ou mobiles.
Concernant les tarifs pratiqués : à partir de 499 dollars (version Bureau , Web Mobile ), installable sur 2 postes. Le tarif de la version Pro est à 999 dollars installable sur 3 postes, et celui de la version Pro Plus à 1999 dollars installable sur 6 postes.
Références
- ↑ « Using version control with Xojo projects — Xojo documentation », sur documentation.xojo.com (consulté le )
- ↑ (en-US) Paul Lefebvre, « Introducing Jade, the Xojo AI Assistant – Xojo Programming Blog » (consulté le )
- ↑ « Xojo: GitHub Student Developer Pack », sur www.xojo.com (consulté le )
Voir aussi
Articles connexes
- Delphi et Lazarus : environnements de développement intégré basés sur le langage Object Pascal.
- PureBasic : logiciel français multiplateformes.
- Qt : outil de développement multiplateformes.
- WinDev : autre environnement de développement intégré propriétaire, créé par la société française PC Soft.
Liens externes
- (fr) Site officiel
- (en) Documentation
- (en) Xojo pour les professeurs
- (en) Une revue consacrée à Xojo
- (en) Plug'in de Monkeybread Software
- (en) Plug'in de einhugur
- (en) Plug'in GraffitiSuite
- (en) Plug'in piDog
- (en) CubeSQL, un serveur SQLite sur votre réseau complet et performant.
- (fr) Valentina Studio, logiciel de gestion de données
- (fr) Valentina Report pour Xojo
- (en) SqliteBrowser: Navigateur gratuit de bases de données SQLite
- (en) HeidiSql: Navigateur gratuit de bases de données SQLite, MySql, PostegreSQL, SQL Server, Interbase, Firebird
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
