Comment porter un logiciel que j'ai écrit pour Windows sur Ubuntu?


10

J'ai écrit des packages logiciels pour la plate-forme Windows.

Je veux passer à Ubuntu. Pour le moment, j'utilise Visual Basic et Access Databases. Quelqu'un peut-il suggérer ce que je dois utiliser pour réécrire mon logiciel pour la plate-forme Linux?

Il faut savoir que je suis un novice complet de Linux. Toute aide sera beaucoup appréciée.


1
Vous devriez demander cela sur un forum de codage, c'est-à-dire. stackoverflow.com (quelqu'un y déplacera probablement votre question;)) Mais en bref: langages perl / python et MySQL de SQLite comme base de données. Oh et si vous le faites avec ceux-ci, vous pouvez également le rendre utilisable sur les deux plates-formes;)
Rinzwind

1
La programmation pour Ubuntu est depuis toujours l'un des sujets de ce site. Nous avons même une étiquette pour cela. C'est même sur la FAQ, point 3. Cette question peut être trop ouverte, mais ce n'est pas hors sujet.
Javier Rivera

1
Ceci est une question sur le sujet, les gens. Nous gérons également le développement.
Oli

Réponses:


4

Comme @Rinzwind l'a dit, vous trouverez des réponses plus précises dans stackoverflow mais pour commencer ...

Je vous recommanderais d'essayer de porter sur linux vos connaissances en programmation au lieu de votre code, et d'essayer python. C'est un langage simple voire puissant totalement multiplateforme et avec une très belle courbe d'apprentissage. Pour l'accès à la base de données, il existe de nombreux frameworks et bibliothèques (SQLAlquemy par exemple) et pour l'interface graphique, vous pouvez essayer wxPython, QtPython, ... par exemple. Si vous souhaitez développer des applications de base de données , vous devriez donner dabo essayer

Mais, si vous voulez toujours essayer de porter votre code VBase, vous pouvez essayer avec:

  • Gambas qui est un environnement de développement basé sur un interpréteur de base
  • Mono qui est un framework de type .NET pour linux. (voir aussi l'idée de mono-développement)

Et pour l'accès à la base de données ... désolé mais je pense que je ne peux pas vous aider avec cela peut-être ces cadres ont un certain support de base de données

J'espère que cela t'aides.


Je dirais que pour quelqu'un venant de VB, Gambas pourrait être un très bon choix. Cela dit, python est la lingua fraca de Linux. Vous trouverez python dans presque toutes les distributions Linux. Le développement d'applications basées sur python facilite le déploiement avec setuptools.
viyyer

3

En tant que personne qui utilisait beaucoup d'accès et VBScript, je peux dire que la transition n'est pas super facile, mais elle est possible et si vous choisissez la bonne technologie, même souhaitable. J'écris de bien meilleurs logiciels ces jours-ci que je ne l'ai jamais fait sur ODBC et Access.

Il existe quelques options, mais votre kilométrage varie en fonction de ce que vous faites et de votre expérience passée.

  1. Python + Django

    Ma première suggestion est celle du développement Web. Je suis un développeur web plus que toute autre chose , donc je voudrais suggérer cela. Django simplifie la gestion de votre schéma de base de données. Vous créez une classe Python pour chaque table, exécutez une commande et elle établit une base de données entièrement relationnelle. Ensuite, vous pouvez interroger en fonction de ces classes (appelées modèles). Tout cela sans écrire une seule ligne de SQL.

    Il est également livré avec une interface d'administration très sexy qui ne nécessite que quelques lignes de code pour s'activer pour vos modèles. Il gère la validation, la recherche, le filtrage, la commande, l'entrée, certaines sorties / rapports et vous pouvez ajouter tout ce qui n'est pas déjà là. Et comme il s'agit d'une interface Web, il est beaucoup plus facile de partager avec des collègues qu'en jetant un fichier Access.

    Et Python est un beau langage. Élégance simple. Vous verrez cela en fonction du nombre de personnes qui le suggèrent :)

  2. LibreOffice Base

    Si vous voulez vous en tenir à des bases de données simples, LibreOffice (ou OpenOffice) Base est probablement la chose la plus semblable à Access à portée de main. Ce n'est pas Access et c'est assez simple et limité en ce qui concerne ce qu'Access peut faire (si vous savez ce que vous faites), mais c'est seulement censé être une simple base de données de bureau.

  3. Kexi

    Une autre version de la base de données Access-style. Il semble plus flexible que Base mais je ne l'ai jamais utilisé, je ne peux donc pas vraiment dire à quel point il est bon.

Les deux derniers sont des modèles avec lesquels vous êtes probablement plus à l'aise, mais honnêtement, aucun n'est génial et c'est parce qu'Access n'est pas un bon modèle pour le développement de bases de données quand il y a tellement de meilleurs cadres.

Vous souhaitez aborder l'avenir de votre développement avant de migrer vers Ubuntu. Si vous venez de démarrer sur Ubuntu maintenant, vous serez très frustré si vous ne pouvez pas commencer à travailler immédiatement. Les trois solutions ci-dessus peuvent s'exécuter sur Windows, alors restez coincé maintenant.

Les deux applications peuvent être téléchargées et installées et Django prend un peu plus d'efforts pour démarrer. Commencez par cela pour l'installer (suivez leurs conseils sur Python 2.7) puis passez au tutoriel officiel pour commencer la programmation.


1

Un excellent moyen de commencer à développer pour Ubuntu est d’aller sur le site du développeur à developer.ubuntu.com. Vous y trouverez des tutoriels et des informations sur les différentes options dont vous disposez. Une fois le développement terminé, soumettez-y votre application pour la faire entrer dans le centre logiciel.


0

Je recommanderais absolument d'utiliser Python comme langage de programmation et GTK et Glade pour concevoir vos interfaces GUI. Python prend en charge toutes sortes de bases de données, c'est donc à vous de décider. MySQL est populaire. Il en va de PostgreSQL. Il existe de nombreuses autres options, selon le type de données que vous souhaitez stocker. Mais vous devriez probablement choisir une plateforme multiplateforme.

Python et GTK peuvent être utilisés sur Windows et OS X ainsi que sur Ubuntu et autres. Il en va de même pour les bases de données. Ubuntu est un environnement de développement très confortable avec tous les outils dont vous avez besoin à portée de main. Vous devriez également jeter un œil au projet Quickly. C'est un moyen de relancer les projets de développement, de faciliter le packaging, etc.

Le portage de votre application sur Ubuntu, signifie également que vous aurez la possibilité d'atteindre un public plus large avec moins de difficulté plus tard, car tous les outils sont multi-plateformes. En tant que programmeur Visual Basic, je pense que vous aimerez vraiment Python.


0

Si vous n'utilisez pas trop de bibliothèque spécifique à Windows dans le développement, vous pouvez utiliser mono pour exécuter des applications sur les systèmes Linux et Mac. Mais je préfère plutôt Qt pour le développement multiplateforme. Cela vous aidera également à porter votre application sur des appareils mobiles.


Pour être juste, Qt ne prend en charge que MeeGo, Symbian et Windows Phone alors que .Net \ C # \ mono prend en charge Android, iOS, Windows Phone 7 et je crois que MeeGo et Symbian également. (En ce qui concerne les plates-formes mobiles)
Wesley Wiser

0

Qt comme SDK et QtCreator comme IDE est ce que vous voulez. Il rend les applications GUI superbes sur presque tous les systèmes d'exploitation, y compris les 3 (Windows, Linux, OS X). C'est facile à apprendre, inutile et performant. Essayez-le, vous ne le regretterez pas!


0

Je ne connais pas grand chose à VisualBasic, et je ne connais pas d'équivalent dans le monde Linux.

Pour Pascal, il y a le gpc (GNU Pascal Compiler). Je ne l'ai pas utilisé, mais je suis sûr qu'il est assez facile pour un programmeur Pascal de faire la transition. Des cas similaires pour de nombreux autres langages de programmation comme C, C ++, FORTRAN, etc. Bien que je ne suggère aucun de ceux-ci à un programmeur VisualBasic, il existe plusieurs options pour les langages résidant sur plusieurs plates-formes. Je suppose que votre choix de langue peut dépendre un peu de la politique de votre entreprise, etc.

Python serait ma principale recommandation. Il est facile à apprendre, il vous oblige à écrire du code facile à lire et il est multiplateforme par défaut. Si vous souhaitez fournir des applications de source fermée, vous verrez qu'il existe quelques différences notables entre les plates-formes. Mais en général, la plupart du code que vous écrivez se compile sur n'importe quel système. La partie délicate est de conserver la structure des dossiers (par exemple C: / Program Files / vs / usr / share /). Mais il existe des paramètres environnementaux os que vous pouvez utiliser pour éviter les options spécifiques à la plate-forme de codage en dur. L'inconvénient est que vous devez apprendre une nouvelle langue. Le côté positif est que vous pouvez utiliser le même code sous Windows et Linux et MacOSX, etc.

Pour maintenir une interface graphique pour vos applications, il existe plusieurs options dans Python. De nombreux développeurs Ubuntu semblent opter pour GTK3, qui est également disponible pour Windows. Personnellement, je préfère de loin Qt4 (vous pouvez également utiliser Qt4 pour C / C ++, le paquet Python est appelé PyQt4 pour le logiciel officiel et PySide pour un projet communautaire). Vous n'aurez pas d'IDE de la même manière que vous le faites dans VisualBasic, mais l'utilisation de Qt Designer pour créer l'apparence de l'interface graphique facilite son implémentation dans un IDE uniquement en code (par exemple Wingware IDE, Eclipse, IPython ...). Vous devrez donc basculer entre l'application de conception graphique et l'application de codage IDE. Il en va de même pour GTK3, où vous utiliseriez Glade pour créer une interface graphique.

Python a un package de base de données par défaut implémentant SQLite3. Cette base de données est plutôt capable, mais il n'y a pas d'interface graphique pour la construire comme avec Access. Il existe cependant des packages pour accéder à la plupart des types de bases de données. Personnellement, je préfère m'en tenir à PostgreSQL pour tous mes trucs car il est tellement évolutif. PyQT4 possède des classes pour toutes les principales bases de données du module QtSql, mais il existe de nombreuses autres options. Vous pouvez bien sûr également configurer vos anciennes bases de données Access sur une machine Windows avec ODBC, puis vous pouvez les appeler sans changer de logiciel de base de données.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.