Wie portiere ich Software, die ich für Windows geschrieben habe, nach Ubuntu?

10

Ich habe Softwarepakete für die Windows-Plattform geschrieben.

Ich möchte zu Ubuntu wechseln. Im Moment verwende ich Visual Basic- und Access-Datenbanken. Kann jemand vorschlagen, was ich verwenden soll, um meine Software für die Linux-Plattform neu zu schreiben?

Es muss bekannt sein, dass ich ein absoluter Neuling in Linux bin. Jede Unterstützung wird sehr geschätzt.

Mel Burnett
quelle
1
Sie sollten dies in einem Codierungsforum fragen, dh. stackoverflow.com (wahrscheinlich wird jemand Ihre Frage dorthin verschieben;)) Aber kurz gesagt: Sprachen Perl / Python und MySQL von SQLite als Datenbank. Oh und wenn du es mit denen machst, kannst du es auch auf beiden Plattformen nutzbar machen;)
Rinzwind
1
Das Programmieren für Ubuntu ist seit jeher eines der Themen dieser Site. Wir haben sogar einen Tag dafür. Es steht sogar in den FAQ, Punkt 3. Diese Frage kann zu offen sein, ist aber nicht vom Thema abweichend.
Javier Rivera
1
Dies ist eine thematische Frage, Leute. Wir kümmern uns auch um die Entwicklung.
Oli

Antworten:

4

Wie @Rinzwind gesagt hat, werden Sie im Stackoverflow genauere Antworten finden, aber für den Anfang ...

Ich würde Ihnen empfehlen, zu versuchen, Ihre Programmierkenntnisse anstelle Ihres Codes auf Linux zu portieren und Python auszuprobieren. Es ist eine einfache, sogar mächtige Sprache, die sich über mehrere Plattformen erstreckt und eine sehr schöne Lernkurve aufweist. Für den Datenbankzugriff gibt es viele Frameworks und Bibliotheken (z. B. SQLAlquemy) und für die GUI können Sie beispielsweise wxPython, QtPython, ... ausprobieren. Wenn Sie Datenbankanwendungen entwickeln möchten, sollten Sie dabo ausprobieren

Wenn Sie dennoch versuchen möchten, Ihren VBase-Code zu portieren, können Sie Folgendes versuchen:

  • Gambas Dies ist eine Entwicklungsumgebung, die auf einem Basic-Interpreter basiert
  • Mono Welches ist ein .NET-ähnliches Framework für Linux. (Siehe auch Mono-Entwicklungsidee)

Und für den Datenbankzugriff ... Entschuldigung, aber ich denke, ich kann Ihnen nicht dabei helfen, möglicherweise haben diese Frameworks Datenbankunterstützung

Hoffe das hilft.

Thamurath
quelle
Ich würde sagen, für jemanden, der von VB kommt, könnte Gambas wirklich gut passen. Das heißt, Python ist die Verkehrssprache von Linux. Sie finden Python in fast jeder Linux-Distribution. Die Entwicklung einer Python-basierten Anwendung erleichtert die Bereitstellung mit Setuptools.
Viyyer
3

Als jemand, der früher viel Zugriff und VBScript verwendet hat, kann ich sagen, dass der Übergang nicht sehr einfach ist, aber es ist möglich und wenn Sie die richtige Technologie auswählen, sogar wünschenswert. Ich schreibe heutzutage viel bessere Software als jemals zuvor über ODBC und Access.

Es gibt einige Optionen, aber Ihr Kilometerstand hängt davon ab, was Sie tun und welche Erfahrungen Sie in der Vergangenheit gemacht haben.

  1. Python + Django

    Mein erster Vorschlag ist eine Webentwicklung. Ich bin mehr als alles andere ein Webentwickler, daher würde ich dies vorschlagen. Django macht die Verwaltung Ihres Datenbankschemas einfach. Sie erstellen für jede Tabelle eine Python-Klasse, führen einen Befehl aus und erstellen eine vollständig relationale Datenbank. Anschließend können Sie basierend auf diesen Klassen (als Modelle bezeichnet) Abfragen durchführen. All dies, ohne eine einzige Zeile SQL zu schreiben.

    Es kommt auch mit einer sehr sexy Admin-Oberfläche, die nur ein paar Zeilen Code benötigt, um für Ihre Modelle zu aktivieren. Es übernimmt die Validierung, Suche, Filterung, Bestellung, Eingabe, einige Ausgaben / Berichte und Sie können alles hinzufügen, was noch nicht vorhanden ist. Und da es sich um eine Weboberfläche handelt, ist es viel einfacher, sie mit Kollegen zu teilen, als eine Access-Datei herumzuwerfen.

    Und Python ist eine schöne Sprache. Schlichte Eleganz. Sie werden sehen, basierend darauf, wie viele andere Leute es vorschlagen :)

  2. LibreOffice Base

    Wenn Sie sich an einfache Datenbanken halten möchten, ist LibreOffice (oder OpenOffice) Base wahrscheinlich die am besten zugängliche Sache, die Sie zur Hand haben. Es ist kein Access und es ist recht einfach und in Bezug auf die Möglichkeiten von Access eingeschränkt (wenn Sie wissen, was Sie tun), aber es soll nur eine einfache Desktop-Datenbank sein.

  3. Kexi

    Eine weitere Sichtweise auf die Access-Datenbank. Es sieht flexibler aus als Base, aber ich habe es noch nie benutzt, kann also nicht wirklich sagen, wie gut es ist.

Die letzten beiden sind Modelle, mit denen Sie wahrscheinlich besser vertraut sind, aber ehrlich gesagt ist keines großartig, und das liegt daran, dass Access kein so gutes Modell für die Datenbankentwicklung ist, wenn es so viele bessere Frameworks gibt.

Sie möchten sich mit der Zukunft Ihrer Entwicklung befassen, bevor Sie auf Ubuntu migrieren. Wenn Sie jetzt nur mit Ubuntu booten, werden Sie sehr frustriert, wenn Sie nicht sofort mit der Arbeit beginnen können. Alle drei oben genannten Lösungen können unter Windows ausgeführt werden.

Die beiden Anwendungen können heruntergeladen und installiert werden, und Django nimmt sich etwas mehr Mühe, um loszulegen. Beginnen Sie damit , um es zu installieren (befolgen Sie die Hinweise zu Python 2.7), und wechseln Sie dann zum offiziellen Tutorial , um mit der Programmierung zu beginnen.

Oli
quelle
1

Eine gute Möglichkeit, mit der Entwicklung für Ubuntu zu beginnen, ist die Entwickler-Website unter developer.ubuntu.com. Dort finden Sie Tutorials und Informationen zu den verschiedenen Optionen, die Sie haben. Wenn Sie mit der Entwicklung fertig sind, senden Sie Ihre App dort ab, um sie in das Software-Center zu übertragen.

Wilhelm
quelle
0

Ich würde unbedingt empfehlen, dass Sie Python als Programmiersprache und GTK und Glade verwenden, um Ihre GUI-Schnittstellen zu entwerfen. Python unterstützt alle Arten von Datenbanken. Das liegt also bei Ihnen. MySQL ist beliebt. PostgreSQL auch. Je nachdem, welche Art von Daten Sie speichern möchten, stehen viele andere zur Auswahl. Aber Sie sollten wahrscheinlich eine plattformübergreifende wählen.

Sowohl Python als auch GTK können unter Windows und OS X sowie unter Ubuntu und anderen verwendet werden. Gleiches gilt für die Datenbanken. Ubuntu ist eine wirklich komfortable Entwicklungsumgebung mit allen Tools, die Sie benötigen. Sie sollten sich auch das Quickly-Projekt ansehen. Dies ist eine Möglichkeit, Entwicklungsprojekte zu beschleunigen, das Verpacken zu vereinfachen usw.

Wenn Sie Ihre Anwendung auf Ubuntu portieren, können Sie später mit weniger Schwierigkeiten ein größeres Publikum erreichen, da alle Tools plattformübergreifend sind. Als Visual Basic-Programmierer werden Sie Python wirklich lieben.

Jo-Erlend Schinstad
quelle
0

Wenn Sie in der Entwicklung nicht zu viele Windows-spezifische Bibliotheken verwenden, können Sie mit Mono Apps sowohl auf Linux-basierten Systemen als auch auf Macs ausführen. Aber ich würde Qt lieber für die plattformübergreifende Entwicklung bevorzugen . Es wird auch helfen, Ihre App auf mobile Geräte zu portieren.

Baru
quelle
Um fair zu sein, Qt unterstützt nur MeeGo, Symbian und Windows Phone, wobei .Net \ C # \ mono Android, iOS, Windows Phone 7 unterstützt und ich glaube, dass MeeGo und Symbian auch. (In Bezug auf mobile Plattformen)
Wesley Wiser
0

Qt als SDK und QtCreator als IDE ist das, was Sie wollen. Dadurch sehen großartige GUI-Anwendungen auf fast jedem Betriebssystem gut aus, einschließlich der drei (Windows, Linux, OS X). Es ist leicht zu lernen, inutitiv und performant. Probieren Sie es aus, Sie werden es nicht bereuen!

Entonjackson
quelle
0

Ich weiß nicht viel über VisualBasic und ich kenne kein Äquivalent in der Linux-Welt.

Für Pascal gibt es den gpc (GNU Pascal Compiler). Ich habe es nicht benutzt, aber ich bin sicher, dass es für einen Pascal-Programmierer ziemlich einfach ist, den Übergang zu vollziehen. Ähnliche Fälle für viele andere Programmiersprachen wie C, C ++, FORTRAN usw. Obwohl ich einem VisualBasic-Programmierer keine davon vorschlagen würde, gibt es mehrere Optionen für Sprachen, die sich auf mehreren Plattformen befinden. Ich denke, Ihre Wahl der Sprache kann ein wenig von Ihren Unternehmensrichtlinien usw. abhängen.

Python wäre meine Top-Empfehlung. Es ist leicht zu erlernen, zwingt Sie zum Schreiben von Code, der leicht zu lesen ist, und es ist standardmäßig plattformübergreifend. Wenn Sie Closed-Source-Anwendungen bereitstellen möchten, werden Sie feststellen, dass zwischen den Plattformen einige bemerkenswerte Unterschiede bestehen. Im Allgemeinen wird der meiste Code, den Sie schreiben, auf jedem System kompiliert. Der schwierige Teil besteht darin, die Ordnerstruktur beizubehalten (dh C: / Programme / vs / usr / share /). Es gibt jedoch Betriebssystemumgebungsparameter, mit denen Sie plattformspezifische Optionen für die Hardcodierung vermeiden können. Nachteil ist, dass Sie eine neue Sprache lernen müssen. Auf der anderen Seite können Sie denselben Code unter Windows, Linux, MacOSX usw. verwenden.

Um eine GUI für Ihre Anwendungen beizubehalten, gibt es in Python mehrere Optionen. Viele Ubuntu-Entwickler scheinen sich für GTK3 zu entscheiden, das auch für Windows verfügbar ist. Persönlich bevorzuge ich Qt4 (Sie können Qt4 auch für C / C ++ verwenden, das Python-Paket heißt PyQt4 für das offizielle und PySide für ein Community-Projekt). Sie haben keine IDE wie in VisualBasic, aber die Verwendung von Qt Designer zum Erstellen des GUI-Looks erleichtert die Implementierung in eine reine Code-IDE (z. B. Wingware IDE, Eclipse, IPython ...). Sie müssen also zwischen der GUI-Designer-App und der Codierungs-IDE-App wechseln. Gleiches gilt für GTK3, bei dem Sie mit Glade eine GUI erstellen würden.

Python verfügt über ein Standarddatenbankpaket, das SQLite3 implementiert. Diese Datenbank ist ziemlich leistungsfähig, aber es gibt keine GUI, um sie wie bei Access zu erstellen. Es gibt jedoch Pakete für den Zugriff auf die meisten Arten von Datenbanken. Persönlich bleibe ich lieber bei PostgreSQL für all meine Sachen, da es so skalierbar ist. PyQT4 verfügt über Klassen für alle wichtigen Datenbanken im QtSql-Modul, es gibt jedoch viele andere Optionen. Sie können Ihre alten Access-Datenbanken natürlich auch auf einem Windows-Computer mit ODBC einrichten und sie dann aufrufen, ohne die Datenbanksoftware zu wechseln.

GaRyu
quelle