tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
15
ZUGRIFFE
957
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    181
    Hi!

    Ich möchte gerne etwas für Windows programmieren und diesen Code aber auch anschließend unter Linux/MAC OSX und in späterer Folge auch auf dem iPhone/iPad (als App) verwenden.

    Allerdings ist es lästig, wenn ich jetzt etwas unter Windows programmieren und dann anschließend wieder auf MAC OSX oder Linux alles neu programmieren muss. (Linux ist aber jetzt erstmal nicht soo wichtig, wichtiger ist Windows und MAC OSX).

    Wie geht man sowas normalerweiße an? Welche Programmiersprache verwendet man um auf Windows & MAC den selben Programmcode verwenden kann?

    Wie sieht es denn mit den Oberfläche aus? Ich schätze ich muss die grafische Oberfläche unter Windows extra machen und unter MAC OS X auch wieder extra machen?

    Ich habe bisher soviel mitbekommen, dass man üblicherweise am MAC mit Objective-C und Cocoa programmiert.

    Wie gesagt mir geht es halt wirklich darum, dass ich etwas unter Windows programmiere und dies dann auch auf einem MAC kompilieren kann, ohne große Änderungen machen zu müssen!
    Welche Programmiersprache sollte ich am besten dafür Verwenden?
    C++? C#? Oder gibt es noch andere Möglichkeiten/Sprachen?

    (Java wäre eine Möglichkeit, möchte ich aber nicht verwenden )

    Mfg,
    Domsi
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Welche Sprachen kannst du denn einigermaßen?

    Normalerweise verwendet man entweder Java oder eine andere Sprache mit einem sogenannten GUI-Framework.

    Ein GUI-Framework (GUI=Graphical User Interface, Programmoberfläche; Framework=Ansammlung von Klassen, Code) beinhaltet bereits den Code für verschiedene Plattformen, sodass ein einfaches Rekompilieren reicht, um eine lauffähige Anwendung für eine spezifische Plattform zu schaffen. Außerdem bietet so etwas meist einfachere Klassen als die "original"-API (z.B: Cocoa...) und viele weitere nützliche Funktionen.

    Wenn du diese Möglichkeit in Erwägung ziehst, würde ich dir wxWidgets empfehlen, am Besten in Verbindung mit C++, wobei es auch Versionen für andere Sprachen gibt.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    181
    Hi!

    Danke für die schnelle Antwort.

    Ja also ich habe bisher bereits unter C# mit .NET programmiert.
    Ich wurde bei meinen Recherchen auf folgendes Aufmerksam: http://www.mono-project.com/Main_Page
    Nachdem ich mich bei .NET und C# auskenne, wäre dies ja am idealsten oder? Wenn ich das richtig (in Zusammenhang mit deinem Post) verstanden habe, dann müsste ich (vorausgesetzt dieses Mono Project funktioniert) doch meinen Code 1:1 auf den MAC Kopieren können und dann anschließend neu kompilieren und es läuft inkl. grafischer Oberfläche auf Mac OS X ?

    Man müsst es vermutlich mal austesten, aber so Grundsätzlich sollte dies ja funktionieren oder habe ich da etwas falsch verstanden?

    Danke für deinen Tipp mit wxWidgets, werde mir dies auch mal ansehen, falls es mit diesem Mono-Project doch nicht so ist, wie ich denke.

    Mfg,
    Domsi
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Ich glaube bei .NET musst du nichteinmal neukompilieren, denn das wird zuerst nur in Bytecode (wie Java, siehe Wikipedia) kompiliert und erst dann mit der Runtime CLR in plattformabhängigen Maschinencode umgewandelt.
    Allerdings gibt der Nachteil mit dem Mono Project, dass dies unabhängig vom "Originalen" ist und so immer hinterher in puncto Features ist.
    Auf Wikipedia sind - glaube ich - noch mehr Nachteile, aber auch Vorteile gelistet.

    Und z.B. wxWidgets unterstützt auch noch mehr Plattformen darunter auch mobile Endgeräte.

    Fragt sich, ob du schon tief in der Materie von C# steckst oder eher nicht.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi zusammen

    Du musst so und so auf den einzelnen Zielplatformen kompilieren (und auch testen!). Auf PCs haben ausführbare Dateien die Dateiendung Exe, auf Linux/Unix-Systemen sind die Dateien entsprechend markiert. Umbennen wird da wohl nicht einfach klappen.

    @Mono
    FÜr die meisten Anwendungen ist Mono nah genug am .NET Framework, dass man keinerlei Probleme hat. Die aktuelle Version bringt auch schon viele .NET 4 Features mit.

    Eine Anwendung, welche auf PC, Mac und EierPott/-Pad/-Fön (und auch Android, WM, WP, Symbian, ...) gleich sind, solltest du dir übrigens aus dem Kopf schlagen! Mobile Devices (und damit deren Anwendungen - neudeutsch Apps genannt) bieten ein anderes Bedienkonzept als Desktopgeräte.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  6. #6
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Eine Anwendung, welche auf PC, Mac und EierPott/-Pad/-Fön (und auch Android, WM, WP, Symbian, ...) gleich sind, solltest du dir übrigens aus dem Kopf schlagen! Mobile Devices (und damit deren Anwendungen - neudeutsch Apps genannt) bieten ein anderes Bedienkonzept als Desktopgeräte.
    Deshalb sollte man die GUI (Oberfläche) von der Logik trennen (so viel wie möglich!).
    Aber natürlich ist das nicht überall machbar.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  7. #7
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Zitat Zitat von Nico Graichen Beitrag anzeigen
    Hi zusammen

    Du musst so und so auf den einzelnen Zielplatformen kompilieren (und auch testen!). Auf PCs haben ausführbare Dateien die Dateiendung Exe, auf Linux/Unix-Systemen sind die Dateien entsprechend markiert. Umbennen wird da wohl nicht einfach klappen.


    Das stimmt so nicht ganz. Du kannst du die DLLs und Anwendungen (.exe) ohne neu kompilieren auch unter linux und Mac benutzen. Allerdings muss man beim Aufruf der .exe-Dateien die Mono-Runtime angeben (siehe: http://www.mono-project.com/Guide:Ru...o_Applications).

    Ich habe ein ASP.NET-Projekt in dem ich zwei (C#) DLLs, die ich unter Windows kompiliert habe, auf Linux mit Mono benutzen kann ohne diese neu zu kompilieren.


    Gruß
    RudolfG
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  8. #8
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Danke Rudolf

    Wieder was dazu gelernt. Das war auch mehr eine Vermutung als eine definitive Aussage.
    Aber testen muss er es trotzdem auf den anderen Platformen
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  9. #9
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Zitat Zitat von Nico Graichen Beitrag anzeigen
    Danke Rudolf

    Wieder was dazu gelernt. Das war auch mehr eine Vermutung als eine definitive Aussage.
    Das ist auch der Grund warum ich denke, das Mono die bessere Möglichkeit ist Plattformübergreifend zu entwickeln als z. B. mit C++/Qt (und ich bin beruflich ein C++/Qt-Entwickler!).

    Zitat Zitat von Nico Graichen Beitrag anzeigen
    Aber testen muss er es trotzdem auf den anderen Platformen
    Das stimmt und davor kann man sich aber auch nicht drücken egal was für eine Sprache/Entwicklungsumgebung man benutzt.

    Gruß
    Rudolf
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  10. #10
    Strafi Strafi ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    79
    Na ja sollte für Mac schon ObjC sein, besonders dann wenn es auch noch auf den Iphone laufen soll. Ich programmiere für OSX/IPhone-IPad mit ObjC und Cocoa-Framework. Viele Anbieter nehmen wir zum Beispiel SKYPE, machen sich nicht wirklich die Mühe ihre Software rein C++ einzupflegen. Was besonders bei Skype sehr schade ist.
     

  11. #11
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    @Strafi:
    Du kannst aber dann diesen Code eben nicht unter anderen Plattformen zum laufen bringen, das ist klar, oder?
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  12. #12
    Strafi Strafi ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    79
    Klar ist das klar! Er meinte ja:

    ...OSX und in späterer Folge auch auf dem iPhone/iPad (als App) verwenden.
    Und das macht man mit objC. Nehmen wir mal Adobe, das sind Firmen die ihre Produkte auch in reinen C++ unter OSX laufen haben. Das musste dir erstmal Leisten können.

    Am Besten er schreibt alles in C++ das wäre das einfachste in der Tatsache es Plattform übergreifend zur Verfügung zu stellen. Da der Compiler von objC auch C++ interpretieren kann, sehe ich die Schwierigkeit mehr im Bereich Fleißarbeit.

    Ich weiß ja nicht mal was er vor hat.
     

  13. #13
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Aber er schreibt auch:

    ... gerne etwas für Windows programmieren und anschließend unter Linux/MAC OSX und in späterer Folge auch auf dem iPhone/iPad (als App) verwenden.
    Und für Windows gibt es nicht wirklich Object-C besonders wenn du nach graphischer Oberfläche suchst, Object-C ist unter Windows und Linux unbedeutend.

    Wo ich dir aber recht geben muss ist, dass man für die Apple-Geschichten (und auch NUR für diese) am allerbesten Object-C nimmt. Ich glaube das man die Cocoa-API nur über Object-C ansprechen kann.
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  14. #14
    Strafi Strafi ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    79
    Zitat Zitat von RudolfG Beitrag anzeigen
    Aber er schreibt auch:



    Und für Windows gibt es nicht wirklich Object-C besonders wenn du nach graphischer Oberfläche suchst, Object-C ist unter Windows und Linux unbedeutend.
    Genau! Darum wäre das Beste sich für C++ zu entscheiden! Es wäre ja mal schön zu erfahren was man vor hat.
     

  15. #15
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Er muss so und so unterschiedlichen Code schreiben, da er mit iPod und -Pad Platformen unterstützen will, die anders arbeiten.
    Was möglich wäre:
    iDevice ((R) ): Objective C
    Windows, Linux, Mac: C++ (mit entsprechenden Bibliotheken), .NET (Mono), Java
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. C++ Code für Windows bricht unter Linux ab
    Von sharkman im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 08.07.10, 10:34
  2. html code in windows fenster (Visual c++) ?
    Von ottoman im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 22.04.07, 16:13
  3. Windows-Forms-Anwendung Code hinzufügen
    Von Elscha im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 11.09.06, 16:04
  4. WIndows anmeldung über Code C#
    Von attwoKone im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 26.07.04, 17:15
  5. Source Code to Windows 2000
    Von Christoph im Forum Fun-Forum
    Antworten: 8
    Letzter Beitrag: 08.07.02, 22:05