Ich möchte mein Fedora Linux in die Lage versetzen, Folgendes zu tun:
Verwenden Sie Linux für eine vollständige Entwicklungsplattform, ohne dass eine andere Betriebssysteminstallation erforderlich ist, und können Sie dennoch Programme auf verschiedenen Plattformen erstellen und testen.
Ersetzen Sie den Windows-Computer vollständig für alle anderen Arbeiten, z. B. Office, Paint, Remotedesktop usw.
Können Sie Open Source-Projekte und -Tools zur Erreichung der oben genannten Ziele vorschlagen?
linux
opensource-projects
Xinus
quelle
quelle
Antworten:
Sie können problemlos plattformübergreifend entwickeln, unabhängig davon, ob Sie ein Systemprogrammierer, ein Webentwickler oder ein Entwickler von Desktopanwendungen sind. Wenn Sie sich für Systeme interessieren, funktionieren Dienstprogramme und / oder Treiber, die Sie für Linux schreiben, wahrscheinlich mit sehr geringen Änderungen gut für andere * nix. Vorausgesetzt, Sie schreiben Standard-C-Code und verwenden nicht zu viele systemspezifische Aufrufe, können diese möglicherweise sogar einfach auf Windows portiert werden.
Wenn Sie ein Entwickler von Desktop-Anwendungen sind, können Sie auf GTK, QT oder wxWidgets abzielen, und Ihre App wird heute wahrscheinlich auf den drei wichtigsten Plattformen (* nix, Windows, Mac) gut funktionieren. Halten Sie systemspezifische Aufrufe auf ein Minimum oder isolieren Sie sie in eine Wrapper-Bibliothek, die systemspezifisch sein wird. Sie rufen auch eine virtuelle Maschine wie die JVM und / oder die CLR an, mit der die Anwendung auf der ganzen Linie arbeiten kann.
Wenn Sie ein Webentwickler sind, werden Sie wahrscheinlich auf zu viele verschiedene Alternativen stoßen, aus denen Sie auswählen können. Ich bevorzuge einen kleinen Webserver namens Cherokee und entwickle und starte ASP.NET- (Mono-) und Django-Apps, die darauf ausgeführt werden und ein PgSQL-Backend verwenden.
Die Schlussfolgerung lautet also, dass eine plattformübergreifende Entwicklung unter Linux durchgeführt werden kann, vorausgesetzt, Sie können den Code auf der Zielplattform kompilieren und dies beim Schreiben Ihres Codes oder bei der Ausrichtung auf eine VM berücksichtigen. Der andere Punkt ist, dass Sie möglicherweise auf das Paradox der Wahl stoßen und nicht wissen, was Sie verwenden sollen. Lesen Sie dazu unten meine Antwort auf die zweite Frage.
In Bezug auf die zweite Frage heißt die beste Ressource, die ich gefunden habe, Open Source Alternatives . Diese Website listet kommerzielle Software und ihre Open Source-Alternativen auf. Fast alle Alternativen laufen unter Linux und FreeBSD.
quelle
Definieren Sie "Plattform". Sie können Software, die für die Verwendung unter Windows oder Mac vorgesehen ist, nicht angemessen testen, ohne diese Betriebssysteme tatsächlich auszuführen, selbst wenn es möglich ist, Cross-Compilation zu verwenden, um sie unter Linux zu erstellen. Für echte Tests auf anderen Betriebssystemen ist VMware ein großartiges Tool.
Der zweite Teil Ihrer Frage sollte wahrscheinlich eine völlig separate Frage sein. Sie können jedoch OpenOffice.org oder Google Docs verwenden, um MS Office, Pinta oder GIMP zu ersetzen, oder was auch immer, um Paint, VNC oder Empathy + Vinagre zu ersetzen, um Remotedesktop usw. usw. zu ersetzen.
Es wäre einfacher, diese Fragen zu beantworten, wenn Sie spezifischere Anwendungsfälle angeben würden.
quelle
Weeeeeeel, # 1 ist ziemlich doozie, Sir. Ich weiß nicht, dass es einen Weg gibt, dieses Ziel zu erreichen. Cross-Compilieren mit anderen * Nixen kann ( mit ein wenig Kopfschmerzen ) auf Ihrer Entwicklungsbox durchgeführt werden, aber wie genau sollten Sie diesen Code ohne das entsprechende Betriebssystem und die entsprechende Architektur ausführen? Es gibt umfangreiche Vorstöße System Emulation gibt, aber letztlich ist dies eine cludge. Wenn Sie Software auf einem Betriebssystem / einer Architektur testen möchten, führen Sie sie auf diesem Betriebssystem / dieser Architektur aus!
Auf der anderen Seite gibt es Tools, die es einfach machen, dasselbe Projekt in einer Vielzahl von Konfigurationen zu erstellen. Cmake ist wahrscheinlich das bekannteste und am besten getestete. Zumindest hilft Ihnen dies beim Testen Ihres Projekts auf anderen Systemen oder ermutigt andere, dies für Sie zu tun.
Ich bin mir ziemlich sicher, dass dies auch auf anderen Betriebssystemen unmöglich ist.
# 2 ist viel viel einfacher
Öffnen Sie Office
Gimp
Gnom
KDE
Remote-Desktops
und weiter und weiter. Ich würde mehr helfen, aber Ihre Fragen Schärfe fällt stark ab.
quelle
Dies hängt von Ihrer Zielplattform ab. Wenn Sie für eine virtuelle Plattform (Java oder sogar .NET) entwickeln, sollten Sie mehr als in Ordnung sein. Es gibt einige Plattformen, die unter Linux noch freundlicher sind als unter Windows (z. B. Ruby).
Für Linux als Desktop müssen Sie nur die gesuchte Software auflisten. Es gibt heutzutage kaum eine Windows-Desktop-Software, die keine Linux-Alternative bietet.
quelle
MonoDevelop sollte Ihnen helfen können, die Entwicklungsseite in den Griff zu bekommen:
(Schwerpunkt liegt bei mir)
quelle