Programmierung von Mac Programmen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Programmierung von Mac Programmen

    Hallo zusammen

    gerne möchte ich mit der Programmierung von Programmen anfangen.
    Ich habe ein Programm in Planung welches für macOS und Windows zur Verfügung stehen soll.

    Welche Programmiersprache verwendet man "am besten" für Mac ?
    Swift ist ja schön und gut, allerdings nicht unter Windows möglich.

    Macht eine plattforumübergreifende Sprache empfehlenswert (falls ja, welche Sprache käme in Frage)
    Oder macht es Sinn Swift für Mac, und C, Payton, ... für Windows ? (was natürlich doppelter Aufwand wäre)

    Vielen Dank schon mal !
  • Mac & i Test Abo
  • Du solltest auch erwägen, zwei Programme zu schreiben. Einem Programm für mehrere Betriebssysteme merkt mab diesen Umstand häufig auch an, d.h. sie machen so viele Kompromisse, dass sie nicht besonders gut benutzbar sind. Wenn das Programm eine umfangreiche Logik hat, kannst du die ja betriebssystemunabhängig formulieren.

    Als Einsteiger solltest du lieber auch erst mal mit einer Plattform beginnen.
    „Meine Komplikation hatte eine Komplikation.“
  • torquato schrieb:

    Das war jetzt kein ernsthafter Vorschlag, oder? o_O
    Warum was spricht denn dagegen? Klar nativ ist wesentlich schöner aber mit Java bekommt man ja relativ schnell was ordentliches hingezimmert. Es gibt auch Java Programme, die sind top. Klar kommt das auf den Einsatzbereich an aber ein Programm für die Verwaltung von Autos z.B dürfte ja nichts spezifisches brauchen oder sehe ich das falsch?

    Ich setze mich derzeit auch etwas mit Java auseinander und hab deswegen das schon öfters überlegt.
  • AppleDeveloper schrieb:

    torquato schrieb:

    Das war jetzt kein ernsthafter Vorschlag, oder? o_O
    Warum was spricht denn dagegen? Klar nativ ist wesentlich schöner aber mit Java bekommt man ja relativ schnell was ordentliches hingezimmert. Es gibt auch Java Programme, die sind top. Klar kommt das auf den Einsatzbereich an aber ein Programm für die Verwaltung von Autos z.B dürfte ja nichts spezifisches brauchen oder sehe ich das falsch?
    Ich setze mich derzeit auch etwas mit Java auseinander und hab deswegen das schon öfters überlegt.
    Das große Problem ist, dass die meisten Java Programm mit Nimbus Look&Feel oder Windows Look&Feel programmier werden einfach weil es die Programmierer nicht besser wissen da sie in der Tat nie einen Mac oder ein Linux System aus der Nähe gesehen haben.
    Wenn ich das System Look&Feel auswähle und noch ein paar properties setze (z.B. das das Menu bei Mac oben im Screen und nicht im Fenster erscheint, das ist ein Einzeiler), dann siehst Du einem Java-Programm nicht an das es ein Java Programm ist. Höchstens an der Kaffeetasse als Icon und selber das kann man mit ein wenig Bastelarbeit weg bekommen. Das eigentlich UI sieht dann zu 99% Nativ aus.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • macmoonshine schrieb:

    Du solltest auch erwägen, zwei Programme zu schreiben. Einem Programm für mehrere Betriebssysteme merkt mab diesen Umstand häufig auch an, d.h. sie machen so viele Kompromisse, dass sie nicht besonders gut benutzbar sind. Wenn das Programm eine umfangreiche Logik hat, kannst du die ja betriebssystemunabhängig formulieren.

    Als Einsteiger solltest du lieber auch erst mal mit einer Plattform beginnen.

    Hat sich bei JAva auch erledigt. Und Java ist noch viel einfacher zu lernen als Swift...
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    macmoonshine schrieb:

    Du solltest auch erwägen, zwei Programme zu schreiben. Einem Programm für mehrere Betriebssysteme merkt mab diesen Umstand häufig auch an, d.h. sie machen so viele Kompromisse, dass sie nicht besonders gut benutzbar sind. Wenn das Programm eine umfangreiche Logik hat, kannst du die ja betriebssystemunabhängig formulieren.

    Als Einsteiger solltest du lieber auch erst mal mit einer Plattform beginnen.
    Hat sich bei JAva auch erledigt. Und Java ist noch viel einfacher zu lernen als Swift...
    Die Oberflächen der meisten Java-Programme sind selbst für Windows einfach nur grottig. Es gibt da vielleicht ein paar Ausnahmen bei kommerziellen Programmen, aber da steckt dann auch sehr viel Entwicklungsaufwand drin und richtige Mac-Programme sind das noch lange nicht. Jedes Betriebssystem hat halt seine eigene Philosophie, und die kann man nicht mit einer allgemeinen GUI-Bibliothek abdecken.

    Abgesehen davon sind AWT und Swing einfach nur grottig.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Thallius schrieb:

    macmoonshine schrieb:

    Du solltest auch erwägen, zwei Programme zu schreiben. Einem Programm für mehrere Betriebssysteme merkt mab diesen Umstand häufig auch an, d.h. sie machen so viele Kompromisse, dass sie nicht besonders gut benutzbar sind. Wenn das Programm eine umfangreiche Logik hat, kannst du die ja betriebssystemunabhängig formulieren.

    Als Einsteiger solltest du lieber auch erst mal mit einer Plattform beginnen.
    Hat sich bei JAva auch erledigt. Und Java ist noch viel einfacher zu lernen als Swift...
    Die Oberflächen der meisten Java-Programme sind selbst für Windows einfach nur grottig. Es gibt da vielleicht ein paar Ausnahmen bei kommerziellen Programmen, aber da steckt dann auch sehr viel Entwicklungsaufwand drin und richtige Mac-Programme sind das noch lange nicht. Jedes Betriebssystem hat halt seine eigene Philosophie, und die kann man nicht mit einer allgemeinen GUI-Bibliothek abdecken.
    Abgesehen davon sind AWT und Swing einfach nur grottig.

    Wenn ich auf die Macoun komme beweise ich Dir mal das Gegenteil. Ich glaube auch Du hast bisher nur schlecht gemachte Java Software gesehen.

    Ich habe mal einen Screenshot meiner neusten Java Software eingestellt. Ich musste einiges schwärzen aber ich denke man sieht schon das es sehr stark an eine native App rankommt.
    Bilder
    • PM Kopie.png

      171,18 kB, 1.588×1.125, 201 mal angesehen
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Huhu,

    warum haben die Fenster einen "close"-Knopf? Warum stehen die Checkboxen hinter dem Titel?
    Warum ist der linke Scrollbalken so anders, als der rechte im darüber liegenden Fenster, und warum zeichnet der einen Hintergrund?
    cmd und w scheint auch nicht zu gehen, da das Menü das offensichtlich nicht bietet.

    Spass beiseite, ist auch egal…

    Ich tippsle schon seit 10 Jahren kein JAVA mehr. Aber wie ist das jetzt auf dem macOS?
    Wenn ich dem Anwender eine JAVA-Anwendung gebe, dann muss er erst eine Runtime installieren, oder?
    Die war früher standardmäßig dabei, aber jetzt doch nicht mehr, oder?

    Das wäre für mich schon ein wichtiger Punkt, über den ich nachdenken würde, wenn ich viel Zeit in eine Anwendung stecke.
    Für meine Anwender würde ich das nicht gut finden.

    Aber ist gibt auch so Umgebungen, die den jeweiligen Code in zur Anwendungen passenden Plattform "umschreiben".
    Wie nennt man das?

    Mir wurde dazu mal das empfohlen: xojo.com

    Viele Grüße
  • Thallius schrieb:

    Wenn ich auf die Macoun komme beweise ich Dir mal das Gegenteil. Ich glaube auch Du hast bisher nur schlecht gemachte Java Software gesehen.
    Nein, da liegst du falsch. Ich arbeite sogar täglich mit Java-Programmen, die sehr gut gemacht sind. Da steckt aber auch ein einiger Aufwand drin, dass die sich an das jeweilige Betriebssystem anpassen. Trotzdem merkt man beim Arbeiten immer noch, dass es keine Programme sind, die speziell für macOS gebaut wurden.

    Eine App ist ja nicht schon deswegen eine gute Mac-App, weil sich ein paar Oberflächenelemente an das Look & Feel von macOS anpassen. Ohne dir zu Nahe treten zu wollen, sieht das Programm auf dem Screenshot nicht nach einer typischen Mac-Oberfläche aus.

    Es ist ein Mythos, dass es nur von der Programmiersprache abhängt, um ein betriebssystem-unabhängiges Programm zu schreiben. Das hat 1999 nicht gestimmt und 18 Jahre später ist immer noch falsch.
    „Meine Komplikation hatte eine Komplikation.“
  • little_pixel schrieb:

    Huhu,

    warum haben die Fenster einen "close"-Knopf? Warum stehen die Checkboxen hinter dem Titel?


    Weil ich das persönlich einfacher finde den großen Close Button zu treffen als diesen scheiß kleinen roten Button in der Menüleiste :) (Bin halt schon ein alter Sack mit zitterigen Händen und so :)
    Das beim MAC die Checkboxen immer vor dem Label sind ist mir noch nie aufgefallen. Danke für den Hinweis.


    Warum ist der linke Scrollbalken so anders, als der rechte im darüber liegenden Fenster, und warum zeichnet der einen Hintergrund?


    Weil das kein Scrollbalken ist sondern nur eine breitere Trennlinie. Kommt in dem Bild vielleicht ein wenig falsch rüber


    cmd und w scheint auch nicht zu gehen, da das Menü das offensichtlich nicht bietet.


    Doch klar geht das. Wieso sollte das nicht gehen? Nur weil es dort kein Ablage Menu gibt?

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Was mir an non-nativen programmen immer extrem auf die nerven geht ist dass die textfelder nicht gleich funktionieren wie die nativen. Also wordweises rumspringen per pfeiltasten mit/ohne selektion etc. Und das ist nur einer der schwachpunkte der immer wieder auffällt.

    Für bestimmte Aufgaben eignet sich auch eine Web-App.
    Die kannst du dann auf jeder Platform verwenden.
  • Thallius schrieb:

    Wenn ich auf die Macoun komme beweise ich Dir mal das Gegenteil. Ich glaube auch Du hast bisher nur schlecht gemachte Java Software gesehen.

    Ich habe mal einen Screenshot meiner neusten Java Software eingestellt. Ich musste einiges schwärzen aber ich denke man sieht schon das es sehr stark an eine native App rankommt.
    Java habe ich vor ca. 15 Jahren an den Nagel gehängt. Für Backends ist es m.M.n. völlig okay. Aber dein Beispiel belegt dass sich UI-seitig nichts geändert hat. Das ist ganz offensichtlich keine Mac Anwendung, und das ist auch von weitem sichtbar davon entfernt. Also AHIG? Null. Accessability? Entsprechend.

    Thallius schrieb:

    little_pixel schrieb:

    Huhu,

    klerforum.de/index.php/Thread/31524-Programmierung-von-Mac-Programmen/?postID=279831#post279831']
    Weil ich das persönlich einfacher finde den großen Close Button zu treffen als diesen scheiß kleinen roten Button in der Menüleiste :) (Bin halt schon ein alter Sack mit zitterigen Händen und so :)
    Das beim MAC die Checkboxen immer vor dem Label sind ist mir noch nie aufgefallen. Danke für den Hinweis.
    Die Labels sind immer Teil der Checkbox. Ausnahme wie in den Settings da, sind die Gruppenlabels stets linksbündig, wenn der zu setzende Wert rechts davon steht. - Aber warum sind eigentlich alle Labels fett?

    Thallius schrieb:

    Warum ist der linke Scrollbalken so anders, als der rechte im darüber liegenden Fenster, und warum zeichnet der einen Hintergrund?
    Weil das kein Scrollbalken ist sondern nur eine breitere Trennlinie. Kommt in dem Bild vielleicht ein wenig falsch rüber
    Warum ist das kein nativer Trennbalken?

    Thallius schrieb:

    cmd und w scheint auch nicht zu gehen, da das Menü das offensichtlich nicht bietet.
    Doch klar geht das. Wieso sollte das nicht gehen? Nur weil es dort kein Ablage Menu gibt?
    Ja, das ist doch Pflicht und deine Menüeiste ist nahezu leer.

    Was passiert eigentlich, wenn man [cmd] [,] drückt?
    Wenn man die Accesability aktiviert?
    Warum ist das Product-Pulldown unter dessen Label, aber die Element darüber in einer Zeile?
    Warum sind die die Buttons Advanced und Reset so breit wie der View?
    Warum ist der Reset-Button nicht abgesetzt?
    Wie sieht es mit ToolTips aus?
    Etc. pp.
    * Kann Spuren von Erdnüssen enthalten.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von NSObject ()

  • Warum ist das Product-Pulldown unter dessen Label, aber die Element darüber in einer Zeile? Warum sind die Die Buttons Advanced und Reset so breit wie der View? Etc. etc.

    weil ich das so gemaciht habe. Die Produktnamne sind neunmal recht lang. Hätte ich das popup hinter das Label gesetzt, dann müsste. Ich den Filterview entsprechend breiter machen. Das aber nur für 1 Element? Da setze ich das lieber in eine eigene Zeile und hole mir so die benötigte breite, denn Höhe habe ich genug.

    Das hat aber doch nichts mit nativem Mac zubauen...
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Warum ist das Product-Pulldown unter dessen Label, aber die Element darüber in einer Zeile? Warum sind die Die Buttons Advanced und Reset so breit wie der View? Etc. etc.
    weil ich das so gemaciht habe. Die Produktnamne sind neunmal recht lang. Hätte ich das popup hinter das Label gesetzt, dann müsste. Ich den Filterview entsprechend breiter machen. Das aber nur für 1 Element? Da setze ich das lieber in eine eigene Zeile und hole mir so die benötigte breite, denn Höhe habe ich genug.
    Nein. Das Popup bzw. dessen ausfahrendes Menü passt sich ja an die Breite der enthaltenen Elemente an. Siehe Screenshot. So macht man das unter macOS. - P.S. bzw.: In solchen Panels.

    Thallius schrieb:

    Das hat aber doch nichts mit nativem Mac zubauen...
    Doch. Das ist alles nicht AHIG konform. Daher sieht man mit Leichtigkeit bereits auf dem Screenshot, dass das keine Mac Anwendung ist. Da stimmt fast kein einziges Detail, welches eine native Mac Anwendung ausmacht.
    Bilder
    • Bildschirmfoto 2017-04-24 um 13.07.18.png

      81,62 kB, 712×756, 94 mal angesehen
    * Kann Spuren von Erdnüssen enthalten.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von NSObject ()