Nauka c# z założeniem, że aplikacja GUI musi działać na OSX

0

Witajcie,

wybaczcie za ogólną tematykę pytania ale mam nadzieję, że będzie to trochę odskocznia od pytać stricte kodowych.

Doświadczenie w programowaniu posiadam głownie z skryptów w Powershell'u. Chciałbym zacząć naukę c# i mam nawet aplikację GUI, którą chciałbym napisać od nowa https://forums.beamdog.com/discussion/44476/tool-big-world-setup-bws-mod-manager-for-baldurs-gate-enhanced-edition-trilogy-for-windows - jednak ma to sens tylko w wypadku kiedy przepisanie umożliwi odpalenie jej również na OS X.

Pytanie 1: Czy jest sposób aby pisać w natywnym c# tak aby aplikacja działała również na OS X.
Pytanie 2: Czy takie podejście/ścieżka ma sens?

1
  1. zainsteresuj sie mono
    http://www.mono-project.com/docs/about-mono/languages/csharp/
  2. Nie ma to sensu. Jezyk jest narzedziem a nie objawieniem ;)
0

ad2) Czyli co? Pisanie aplikacji dla innego systemu niż windows w c# mija się z celem bo brakuje komponentów itp, będzie to uciążliwe, nauka trudna i mozolna a zysk niewielki?

3

C# był z natury rzeczy językiem ukierunkowanym na Windows. Projekt Mono zniwelował tę barierę i da się w nim pisać bezproblemowo aplikacje, które zadziałają na OSX i będą w trybie graficznym, ale, że Mono jest o krok z tyłu w stosunku do .NET to tracisz np. świetną bibliotekę WPF.

Jest również parę projektów do alternatywnych wieloplatformowych bibliotek graficznych, np. Perspex, wzorowany na WPF, ale wieloplatformowy z założenia. Tylko one dopiero zyskują teraz na znaczeniu, bo C#/.NET stają się dopiero teraz oficjalnie wspierane na innych platformach niż Windows przez Microsoft.

Na innych systemach niż Windows nie masz również podstawowego środowiska do C#, jakim jest Visual Studio, a alternatywy nie są tak wygodne. To również może się zmienić ("Project Rider" od JetBrains), ale obecnie wieloplatformowy C# jest bardzo młodym produktem.
Swoją drogą analogicznie wygląda to z drugiej strony, gdzie Swift i Objective-C w ogóle nie istnieją praktycznie poza OSX.

0

Będę pisał w VS. Może i Mono jest w tyle i nie ma najnowszych ficzerów ale myślę, że do prostego GUI nie jest konieczny WPF. Do nauki podstaw chyba wystarczy?

EDIT: Czytam, że:

Does Winforms run on OSX?#
Yes, as of Mono 1.9, Winforms has a native OSX driver that it uses by default.

Czyli nie muszę korzystać z innych bibliotek GUI np GTK?

0

Nie musisz, możesz korzystać z .NET-owego WinForms, które jest "przerabiane" na natywny wygląd OSX.
Aczkolwiek możesz zawsze użyć Gtk# lub innej biblioteki do okienek :-)

0

GTK# wyglada ok ale tu http://www.mono-project.com/docs/gui/#gtkdocsguigtksharp pisze, że

Gtk+ apps run like foreign applications on MacOS X.

  • co to oznacza?

1 użytkowników online, w tym zalogowanych: 0, gości: 1